From 004bf6ff72c2b4fa0eb027dbfbd0c7dc34839cd7 Mon Sep 17 00:00:00 2001 From: Ian Chua Date: Tue, 26 May 2026 10:55:11 +0800 Subject: [PATCH 01/69] save and restore 3mf settings after sync --- src/slic3r/GUI/GUI_App.cpp | 44 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 6b30dfa9cd..4b0ca43ce4 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -5855,15 +5855,59 @@ void GUI_App::reload_settings() if (is_closing() || !preset_bundle || !app_config || !mainframe) return; + // Snapshot each collection's edited config BEFORE any mutation. + // load_pending_vendors() via apply_vendor_config() can call select_preset(0) + // resetting all selections to defaults and overwriting m_edited_preset. + // The cloud load_user_presets() can also trigger select_preset() via + // remove_users_preset() and overwrite m_edited_preset.config via load_user_preset(). + struct PresetSnapshot { std::string name; DynamicPrintConfig config; bool dirty; }; + auto snapshot_collection = [](const PresetCollection& col) -> PresetSnapshot { + auto& sel = col.get_selected_preset(); + auto& ed = col.get_edited_preset(); + return {sel.name, ed.config, sel.is_dirty}; + }; + PresetSnapshot print_snap = snapshot_collection(preset_bundle->prints); + PresetSnapshot filament_snap = snapshot_collection(preset_bundle->filaments); + PresetSnapshot printer_snap = snapshot_collection(preset_bundle->printers); + // Check the user presets for any system vendors that need to be installed for (auto data : user_presets) { if (!check_preset_parent_available(data)) add_pending_vendor_preset(data); } load_pending_vendors(); + preset_bundle->load_user_presets(*app_config, user_presets, ForwardCompatibilitySubstitutionRule::Enable); preset_bundle->save_user_presets(*app_config, get_delete_cache_presets()); + // Re-apply any edited config that was wiped during vendor loading or sync. + auto restore_snapshot = [](PresetCollection& col, const PresetSnapshot& snap, const char* label) { + auto& ed = col.get_edited_preset(); + bool changed = !ed.config.equals(snap.config); + BOOST_LOG_TRIVIAL(info) << "reload_settings restore " << label + << ": snap_name=" << snap.name << " snap_dirty=" << snap.dirty + << " current_name=" << ed.name << " changed=" << changed; + if (!snap.dirty) return; // nothing to protect, let cloud updates stand + Preset* p = col.find_preset(snap.name, false, true); + if (p && p->name == snap.name) { + BOOST_LOG_TRIVIAL(info) << "reload_settings RESTORING " << label + << ": name=" << snap.name; + // If the snapshot preset is not currently selected, re-select it first. + if (col.get_selected_preset().name != snap.name) + col.select_preset_by_name(snap.name, true); + ed = col.get_edited_preset(); + ed.config = snap.config; + col.get_selected_preset().is_dirty = snap.dirty; + ed.is_dirty = snap.dirty; + } else { + BOOST_LOG_TRIVIAL(info) << "reload_settings restore " << label + << ": preset not found name=" << snap.name; + } + }; + restore_snapshot(preset_bundle->prints, print_snap, "print"); + restore_snapshot(preset_bundle->filaments, filament_snap, "filament"); + restore_snapshot(preset_bundle->printers, printer_snap, "printer"); + // Orca: settings changed, refresh ui to reflect the new preset values mainframe->update_side_preset_ui(); for (auto tab : tabs_list) { From b0334325f8e6cea1d6a61f216ae678c531f12dbf Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Tue, 26 May 2026 12:17:19 +0300 Subject: [PATCH 02/69] Fix overhang preview ignoring support threshold fallbacks when angle set to 0 (#12650) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix overhang preview not using fallbacks when angle is 0 The overhang visualization in Preview ("show overhangs based on support settings") used the raw `support_threshold_angle` value from the configuration. When `support_threshold_angle` was set to 0, Orca internally falls back to: - 30° for tree supports - an angle derived from `support_threshold_overlap` for normal supports However, the preview logic ignored these fallbacks and used the raw value (0°), leading to incorrect overhang highlighting that did not match the actual support generation behavior. This patch computes the effective overhang threshold used for preview: • If `support_threshold_angle > 0`, use it directly • If `support_threshold_angle == 0` and tree supports are used, fall back to 30° • If `support_threshold_angle == 0` and normal supports are used, derive the equivalent angle from `support_threshold_overlap`, `layer_height`, and the external perimeter width. The function now returns `normal_z` directly so the preview uses the same effective slope threshold as the support generator. As a result, the overhang highlight in Preview now correctly matches the supports that will actually be generated. * Apply Copilot suggestions --- src/slic3r/GUI/3DScene.cpp | 58 ++++++++++++++++++++++++++++++-------- src/slic3r/GUI/3DScene.hpp | 2 +- 2 files changed, 48 insertions(+), 12 deletions(-) diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index fd3569e2ca..50d4cfcfa6 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -978,12 +978,51 @@ GLVolumeWithIdAndZList volumes_to_render(const GLVolumePtrs& volumes, GLVolumeCo return list; } -int GLVolumeCollection::get_selection_support_threshold_angle(bool &enable_support) const +// ORCA: Compute slope.normal_z for 3D overhang highlight directly from support settings. +// If support_threshold_angle is 0, use tree fallback angle (30 deg) for tree supports, +// and derive an equivalent angle from threshold overlap for normal supports. +float GLVolumeCollection::get_selection_support_normal_z() const { - const DynamicPrintConfig& glb_cfg = GUI::wxGetApp().preset_bundle->prints.get_edited_preset().config; - enable_support = glb_cfg.opt_bool("enable_support"); - int support_threshold_angle = glb_cfg.opt_int("support_threshold_angle"); - return support_threshold_angle ; + const DynamicPrintConfig& glb_cfg = GUI::wxGetApp().preset_bundle->prints.get_edited_preset().config; + const auto& full_cfg = GUI::wxGetApp().preset_bundle->full_config(); + const auto support_type = glb_cfg.opt_enum("support_type"); + const int support_threshold_angle = glb_cfg.opt_int("support_threshold_angle"); + double angle_rad; + + if (support_threshold_angle > 0) { + // Match support generation: explicit threshold angles are treated as inclusive. + const int effective_support_threshold_angle = std::min(support_threshold_angle + 1, 89); + angle_rad = Geometry::deg2rad(static_cast(effective_support_threshold_angle)); + } else if (is_tree(support_type)) { + angle_rad = Geometry::deg2rad(30.0); // fallback value for tree supports + } else { // For normal supports, if the angle is set to 0, calculate normal_z from overlap. + const double layer_height = full_cfg.opt_float("layer_height"); + const auto* nozzle_diameter_opt = full_cfg.option("nozzle_diameter"); + const int wall_filament = full_cfg.opt_int("wall_filament"); + const size_t nozzle_count = nozzle_diameter_opt->values.size(); + const size_t wall_extruder_idx = (wall_filament > 0 && wall_filament <= static_cast(nozzle_count)) + ? static_cast(wall_filament - 1) + : 0; // Invalid extruder index falls back to extruder 1. + + // Use wall extruder's nozzle diameter for better estimation of external perimeter width, + // which is more relevant to overhang printing than the default nozzle diameter. + const double nozzle_diameter = nozzle_diameter_opt->values[wall_extruder_idx]; + + double external_perimeter_width = full_cfg.get_abs_value("outer_wall_line_width", nozzle_diameter); + if (external_perimeter_width <= 0.0) { + external_perimeter_width = full_cfg.get_abs_value("line_width", nozzle_diameter); + + if (external_perimeter_width <= 0.0) + external_perimeter_width = nozzle_diameter; + } + + const double overlap_width = full_cfg.get_abs_value("support_threshold_overlap", external_perimeter_width); + const double lower_layer_offset = std::max(0.0, external_perimeter_width - overlap_width); + + angle_rad = lower_layer_offset <= EPSILON ? Geometry::deg2rad(89.0) : std::atan(layer_height / lower_layer_offset); + } + + return static_cast(-std::cos(std::clamp(angle_rad, 0.0, Geometry::deg2rad(89.0)))); } //BBS: add outline drawing logic @@ -1019,6 +1058,8 @@ void GLVolumeCollection::render(GLVolumeCollection::ERenderType type, if (disable_cullface) glsafe(::glDisable(GL_CULL_FACE)); + const float support_normal_z = get_selection_support_normal_z(); + for (GLVolumeWithIdAndZ& volume : to_render) { #if ENABLE_MODIFIERS_ALWAYS_TRANSPARENT if (type == ERenderType::Transparent) { @@ -1075,16 +1116,11 @@ void GLVolumeCollection::render(GLVolumeCollection::ERenderType type, //use -1 ad a invalid type shader->set_uniform("print_volume.type", -1); } - - bool enable_support; - int support_threshold_angle = get_selection_support_threshold_angle(enable_support); - - float normal_z = -::cos(Geometry::deg2rad((float) support_threshold_angle)); shader->set_uniform("volume_world_matrix", volume.first->world_matrix()); shader->set_uniform("slope.actived", m_slope.isGlobalActive && !volume.first->is_modifier && !volume.first->is_wipe_tower); shader->set_uniform("slope.volume_world_normal_matrix", static_cast(volume.first->world_matrix().matrix().block(0, 0, 3, 3).inverse().transpose().cast())); - shader->set_uniform("slope.normal_z", normal_z); + shader->set_uniform("slope.normal_z", support_normal_z); #if ENABLE_ENVIRONMENT_MAP unsigned int environment_texture_id = GUI::wxGetApp().plater()->get_environment_texture_id(); diff --git a/src/slic3r/GUI/3DScene.hpp b/src/slic3r/GUI/3DScene.hpp index b12d048aa9..76d10620d9 100644 --- a/src/slic3r/GUI/3DScene.hpp +++ b/src/slic3r/GUI/3DScene.hpp @@ -488,7 +488,7 @@ public: GLVolume* new_toolpath_volume(const ColorRGBA& rgba); GLVolume* new_nontoolpath_volume(const ColorRGBA& rgba); - int get_selection_support_threshold_angle(bool&) const; + float get_selection_support_normal_z() const; // Render the volumes by OpenGL. //BBS: add outline drawing logic void render(ERenderType type, From 496bd2babc5e5aebf7b5b6a360a36fe6bc11290b Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Tue, 26 May 2026 12:17:55 +0300 Subject: [PATCH 03/69] HU language tweak (#13841) Hu language tweak Typo, semantics, grammar adjustments. --- localization/i18n/hu/OrcaSlicer_hu.po | 170 ++++++++++++-------------- 1 file changed, 80 insertions(+), 90 deletions(-) diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index 2e6ec72557..15157d7ba8 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -1937,7 +1937,7 @@ msgstr "Adatvédelmi szabályzat frissítése" #, c-format, boost-format msgid "your Bambu Cloud profile (user ID: \"%s\")" -msgstr "az Ön Bambu Cloud-profilja (felhasználói azonosító: \"%s\")" +msgstr "a Bambu Cloud-profilod (felhasználói azonosító: \"%s\")" msgid "your default profile" msgstr "az alapértelmezett profilod" @@ -6027,12 +6027,10 @@ msgid "Sync Presets" msgstr "Beállítások szinkronizálása" msgid "Pull and apply the latest presets from OrcaCloud" -msgstr "Húzza ki és alkalmazza az OrcaCloud legújabb beállításait" +msgstr "Hívd le és alkalmazd az OrcaCloud legújabb beállításait" msgid "You must be logged in to sync presets from cloud." -msgstr "" -"Az beállítások felhőből történő szinkronizálásához be kell " -"jelentkeznie." +msgstr "A beállítások felhőből történő szinkronizálásához be kell jelentkezz." msgid "Quit" msgstr "Kilépés" @@ -6315,7 +6313,7 @@ msgid "" "2. The Filament presets\n" "3. The Printer presets" msgstr "" -"Szinkronizálni szeretné személyes adatait az Orca Cloudból?\n" +"Szinkronizálni szeretnéd személyes adataid az Orca Cloudból?\n" "A következő információkat tartalmazza:\n" "1. A folyamat beállítás beállításai\n" "2. A Filament beállítások\n" @@ -8868,9 +8866,11 @@ msgid "" "Requires application restart." msgstr "" "Állítsd be a Multi-Sample Anti-Aliasing szintjét.\n" -"A magasabb értékek simább éleket eredményeznek, de a teljesítményre gyakorolt ​​hatás exponenciális.\n" +"A magasabb értékek simább éleket eredményeznek, de a teljesítményre gyakorolt ​​hatás " +"exponenciális.\n" "Az alacsonyabb értékek javítják a teljesítményt a szaggatott élek árán.\n" -"Ha le van tiltva, ajánlott az FXAA engedélyezése, hogy minimális teljesítményhatás mellett csökkentse a szaggatott éleket.\n" +"Ha le van tiltva, ajánlott az FXAA engedélyezése, hogy minimális teljesítményhatás mellett " +"csökkentse a szaggatott éleket.\n" "\n" "Az alkalmazás újraindítása szükséges." @@ -9842,7 +9842,7 @@ msgid "" msgstr "" "A külső filament típusa ismeretlen, vagy nem egyezik a szeletelőfájlban " "szereplő filament típusával. Győződj meg arról, hogy a megfelelő " -"filamentat helyezted be a külső orsóba." +"filamentet helyezted be a külső orsóba." msgid "Please refer to Wiki before use->" msgstr "Használat előtt nézd meg a Wikit ->" @@ -10809,7 +10809,7 @@ msgid "" "You can go back to edit values, or continue if this is intentional." msgstr "" "\n" -"Visszatérhet az értékek szerkesztéséhez, vagy folytathatja, ha ez szándékos." +"Visszatérhetsz az értékek szerkesztéséhez, vagy folytathatod, ha ez szándékos." msgid "" "\n" @@ -10830,7 +10830,7 @@ msgid "Back" msgstr "Hátul" msgid "Don't warn again for this preset" -msgstr "Ne legyen többet figyelmeztetés ehhez az beállításhoz" +msgstr "Ne legyen több figyelmeztetés ennél az előbeállításnál" #, c-format, boost-format msgid "Left: %s" @@ -10841,8 +10841,7 @@ msgid "Right: %s" msgstr "Jobb: %s" msgid "Click to reset current value and attach to the global value." -msgstr "" -"Kattints ide az érték visszaállításához és a globális érték használatához." +msgstr "Kattints ide az érték visszaállításához és a globális érték használatához." msgid "Click to drop current modify and reset to saved value." msgstr "" @@ -11450,8 +11449,8 @@ msgid "" "Failed to initialize the native Wayland GStreamer video sink. Please check " "your GStreamer GTK plugin installation." msgstr "" -"Nem sikerült inicializálni a natív Wayland GStreamer videonyelőt. Kérjük, " -"ellenőrizze a GStreamer GTK bővítmény telepítését." +"Nem sikerült inicializálni a natív Wayland GStreamer videonyelőt." +"Ellenőrizd a GStreamer GTK bővítmény telepítését." msgid "" "Windows Media Player is required for this task! Do you want to enable " @@ -11492,7 +11491,7 @@ msgstr "" "gstreamer1.0-libav csomagokat, majd indítsd újra az Orca Slicert.)" msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." -msgstr "A cloud ügynök nem érhető el. Indítsd újra az OrcaSlicert, és próbáljd újra." +msgstr "A cloud ügynök nem érhető el. Indítsd újra az OrcaSlicert és próbáljd újra." msgid "Bambu Network plug-in not detected." msgstr "A Bambu Network plug-in nem található." @@ -12031,17 +12030,17 @@ msgid "Flush volumes matrix do not match to the correct size!" msgstr "Az öblítési mennyiségek mátrixa nem a megfelelő méretű!" msgid "set_accel_and_jerk() is only supported by Klipper" -msgstr "A set_accel_and_jerk() csak Klipperen támogatott" +msgstr "set_accel_and_jerk() csak Klipperen támogatott" msgid "" "Input shaping is not supported by Marlin < 2.1.2.\n" "Check your firmware version and update your G-code flavor to ´Marlin 2´" msgstr "" "A rezgéskompenzációt a Marlin < 2.1.2 nem támogatja.\n" -"Ellenőrizze a firmware-verzióját, és frissítse a G-kódot „Marlin 2”-re" +"Ellenőrizd a firmware verzióját és állítsd a G-kód változatot „Marlin 2”-re" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2" -msgstr "A rezgéskompenzációtt csak a Klipper, a RepRapFirmware és a Marlin 2 támogatja" +msgstr "A rezgéskompenzációt csak a Klipper, a RepRapFirmware és a Marlin 2 támogatja" msgid "Grouping error: " msgstr "Csoportosítási hiba: " @@ -12175,7 +12174,7 @@ msgid "%1% is too tall, and collisions will be caused." msgstr "%1% túl magas, a nyomtatás során előfordulhatnak ütközések." msgid " is too close to exclusion area, there may be collisions when printing." -msgstr "túl közel van a tiltott területhez, a nyomtatás során előfordulhatnak ütközések." +msgstr " túl közel van a tiltott területhez, a nyomtatás során előfordulhatnak ütközések." msgid "" " is too close to clumping detection area, there may be collisions when " @@ -12219,12 +12218,11 @@ msgid "" "If you still want to print, you can enable the option in Preferences / " "Control / Slicing / Remove mixed temperature restriction." msgstr "" -"Ha továbbra is szeretnél nyomtatni, engedélyezheted a lehetőséget a " -"Beállítások / Vezérlés / Szeletelés / Vegyes hőmérsékleti korlátozás " -"eltávolítása menüpontban." +"Ha továbbra is szeretnél nyomtatni, engedélyezheted az opciót itt: " +"Beállítások / Vezérlés / Szeletelés / Vegyes hőmérséklet korlátozás feloldása." msgid "No extrusions under current settings." -msgstr "A jelenlegi beállítások mellett nincsenek extrudálások." +msgstr "A jelenlegi beállításokkal nincsenek extrudálások." msgid "" "Smooth mode of timelapse is not supported when \"by object\" sequence is " @@ -12631,8 +12629,8 @@ msgid "" "Subsequent layers become linearly denser by the height specified in " "elefant_foot_compensation_layers." msgstr "" -"A belső szilárd töltet sűrűsége az elefánt lábrétegeinek kompenzálásához.\n" -"A második réteg kezdeti értéke be van állítva.\n" +"A belső szilárd töltés sűrűsége az elefánt lábrétegeinek kompenzálásához.\n" +"A második réteg kezdeti értéke van állítva.\n" "A következő rétegek lineárisan sűrűbbé válnak az elefant_foot_compensation_layers " "paraméterben megadott magassággal." @@ -12647,9 +12645,7 @@ msgid "Printable height" msgstr "Nyomtatási magasság" msgid "Maximum printable height which is limited by mechanism of printer." -msgstr "" -"Ez a maximális nyomtatható magasság, amelyet a nyomtatótér magassága " -"korlátoz." +msgstr "Maximális nyomtatható magasság a nyomtató mechanikája által korlátozva." msgid "Extruder printable height" msgstr "Extruder nyomtatható magassága" @@ -12665,8 +12661,7 @@ msgid "Preferred orientation" msgstr "Előnyben részesített orientáció" msgid "Automatically orient STL files on the Z axis upon initial import." -msgstr "" -"Az STL fájlok automatikus Z tengely szerinti tájolása első importáláskor." +msgstr "Az STL fájlok automatikus Z tengely szerinti tájolása első importáláskor." msgid "Printer preset names" msgstr "Nyomtató beállítások neve" @@ -13644,7 +13639,7 @@ msgid "" msgstr "" "Ez a tényező befolyásolja a karimák anyagának mennyiségét.\n" "\n" -"A ténylegesen használt peremáramot úgy számítjuk ki, hogy ezt az értéket megszorozzuk az " +"A ténylegesen használt peremáramlást úgy számítjuk ki, hogy ezt az értéket megszorozzuk a " "filament áramlási arányával, és ha be van állítva, akkor az objektum áramlási arányával.\n" "\n" "Megjegyzés: A kapott értéket nem befolyásolja az első réteg áramlási aránya." @@ -13677,7 +13672,7 @@ msgid "" "Combine multiple brims into one when they are close to each other. This can " "improve brim adhesion." msgstr "" -"Kombináljon több karimát egybe, ha azok közel vannak egymáshoz. Ez " +"Karimák egybevonása, ha azok közel vannak egymáshoz. Ez " "javíthatja a perem tapadását." msgid "Brim ears" @@ -14235,8 +14230,8 @@ msgid "" msgstr "" "Az az irány, amerre a kontúrfalhurkok extrudálódnak felülről lefelé nézve.\n" "A lyukak a kontúrral ellentétes irányban vannak nyomtatva, hogy fenntartsák " -"az igazodást azokkal a rétegekkel, amelyek kontúrpoligonjai nem teljesek, " -"és megváltoztatják az irányt, részben egy lyuk kontúrját is képezve.\n" +"az igazodást azokkal a rétegekkel, amelyek kontúrpoligonjai nem teljesek " +"és megváltoztatják az irányt, ugyanakkor a lyuk részleges kontúrját képezve.\n" "\n" "Ez az opció le lesz tiltva, ha a spirálváza mód engedélyezve van." @@ -15165,11 +15160,11 @@ msgid "" "~30% sparse infill density and above. Only applies when Sparse infill " "pattern is set to Gyroid." msgstr "" -"Alacsony feltöltési sűrűség mellett megfeszíti a giroid hullámot a Z " +"Alacsony feltöltési sűrűség mellett megfeszíti a gyroid hullámot a Z " "(függőleges) tengely mentén, hogy lerövidítse a tényleges függőleges " "oszlophosszt és javítsa a Z-tengely összenyomódási kihajlási ellenállását. A " -"filamenthasználat megmarad. Nincs hatás ~30%-os ritka kitöltési sűrűségnél " -"és afelett. Csak akkor érvényes, ha a Ritka kitöltési minta Gyroid értékre " +"filamenthasználat megmarad. Nincs hatása ~30%-os és afeletti ritka kitöltési " +"sűrűségnél. Csak akkor érvényes, ha a Ritka kitöltési minta Gyroid-ra " "van állítva." msgid "Sparse infill pattern" @@ -15375,21 +15370,20 @@ msgstr "" "tárgyasztalhoz való tapadást" msgid "First layer travel" -msgstr "Első réteg utazás" +msgstr "Első réteg mozgás" msgid "" "Travel acceleration of first layer.\n" "The percentage value is relative to Travel Acceleration." msgstr "" -"Az első réteg utazási gyorsulása.\n" -"A százalékos érték az utazási gyorsuláshoz van viszonyítva." +"Az első réteg mozgási gyorsulása.\n" +"A százalékos érték az mozgási gyorsuláshoz van viszonyítva." msgid "Enable accel_to_decel" msgstr "accel_to_decel engedélyezése" msgid "Klipper's max_accel_to_decel will be adjusted automatically." -msgstr "" -"A Klipper max_accel_to_decel értékét a rendszer automatikusan beállítja" +msgstr "A Klipper max_accel_to_decel értékét a rendszer automatikusan beállítja" msgid "accel_to_decel" msgstr "accel_to_decel" @@ -15436,8 +15430,8 @@ msgid "" "Travel jerk of first layer.\n" "The percentage value is relative to Travel Jerk." msgstr "" -"Az első réteg utazási Jerk-je.\n" -"A százalékos érték a Travel Jerk-hez van viszonyítva." +"Az első réteg Jerk-je.\n" +"A százalékos érték a mozgás Jerk-hez van viszonyítva." msgid "" "Line width of the first layer. If expressed as a %, it will be computed over " @@ -15720,7 +15714,7 @@ msgid "" "Ripple: Uniform ripple pattern that ripples left and right of the original " "path. Repeating pattern, woven appearance." msgstr "" -"A bolyhos bőr generálására használható zajtípus:\n" +"A bolyhos felület generálására használható zajtípus:\n" "Klasszikus: Klasszikus egységes véletlenszerű zaj.\n" "Perlin: Perlin zaj, amely egyenletesebb textúrát ad.\n" "Billow: Hasonló a perlin zajhoz, de csomósabb.\n" @@ -15810,8 +15804,8 @@ msgstr "" "- 100% eltolja a mintát egy teljes hullámhosszal, visszatérve az eredeti " "fázishoz.\n" "\n" -"Az eltolást a Layers (Rétegek) által beállított fóliák száma egyszer alkalmazza a " -"hullámosság eltolása között, így az azonos csoporton belüli fóliák nyomtatása azonos." +"Az eltolás a hullámosság eltolása közötti rétegek által beállított rétegközzel " +"érvényesül, így az azonos csoporton belüli rétegek nyomtatása azonos." msgid "Layers between ripple offset" msgstr "A hullámosság eltolása közötti rétegek" @@ -16064,21 +16058,21 @@ msgid "" "Set to 0 to deactivate." msgstr "" "Egyes részleges hűtőventilátorok nem tudnak pörögni, ha egy bizonyos " -"PWM munkaciklus alá utasítják őket. Ha 0 fölé állítja, minden nem nulla " +"PWM munkaciklus alá utasítják őket. Ha 0 fölé állítod, minden nem nulla " "részleges hűtési ventilátorparancs legalább erre a százalékra emelkedik, " -"így a ventilátor megbízhatóan elindul. A 0-s ventilátorparancsot (ventilátor " -"kikapcsolva) mindig pontosan tiszteletben tartják. Ezt a bilincset minden " -"második ventilátorszámítás után alkalmazzák (első réteg rámpa, rétegidő " -"interpoláció, túlnyúlás/híd/tartófelület/vasalás felülbírálása), így a méretezés " +"így a ventilátor megbízhatóan elindul. A 0-s ventilátorparancs (ventilátor " +"kikapcsolva) mindig pontosan végrhajtódik. Ez a korlátozás minden " +"második ventilátorszámítás után alkalmazódik (első réteg rámpa, rétegidő " +"interpoláció, túlnyúlás/híd/tartófelület/vasalás felülbírálása), így a skálázás " "továbbra is a [ez az érték, 100%] tartományon belül működik.\n" "Ha a firmware már letiltja a ventilátort egy küszöbérték alatt (például a Klipper " "[fan] off_below: 0.10 értéke kikapcsolja a ventilátort, ha a parancsolt munkaciklus " "10% alatt van), akkor ezt az opciót és a firmware küszöbértékét ideális esetben " "ugyanarra az értékre kell állítani. Ezek megfeleltetése (pl. off_below: 0,10 a " "Klipperben és 10% itt) garantálja, hogy a szeletelő soha nem ad ki olyan nullától " -"eltérő értéket, amelyet a firmware csendben leesne, és a ventilátor soha nem kap " -"olyan értéket, amely alacsonyabb, mint amiről tudja, hogy ténylegesen képes spool.\n" -"A deaktiváláshoz állítsa 0-ra." +"eltérő értéket, amelyet a firmware csendben ejtene, és a ventilátor soha nem kap " +"olyan értéket, amely alacsonyabb, mint amiről tudod, hogy ténylegesen képes forogni.\n" +"A deaktiváláshoz állítsd 0-ra." msgid "%" msgstr "%" @@ -16547,7 +16541,7 @@ msgid "Ironing expansion" msgstr "Vasaló bővítés" msgid "Expand or contract the ironing area." -msgstr "Bővítse vagy szűkítse a vasalási területet." +msgstr "A vasalási terület bővítése/szűkítése ." msgid "Z contouring enabled" msgstr "Z kontúrozás engedélyezve" @@ -16556,25 +16550,25 @@ msgid "Enable Z-layer contouring (aka Z-layer anti-aliasing)." msgstr "Z-réteg kontúrozás engedélyezése (más néven Z-réteg élsimítás)." msgid "Minimize wall height angle" -msgstr "Minimalizálja a fal magassági szögét" +msgstr "Falmagasság szög minimalizálása" msgid "" "Reduce the height of top-surface perimeters to match the model edge height.\n" "Affects perimeters with a slope less than this angle (degrees).\n" "A reasonable value is 35. Set to 0 to disable." msgstr "" -"Csökkentse a felső felület kerületének magasságát, hogy megfeleljen a modell élmagasságának.\n" -"Ennél a szögnél (foknál) kisebb lejtésű kerületeket érinti.\n" -"Az ésszerű érték 35. A letiltáshoz állítsa 0-ra." +"Csökkentsd a felső felület kerületének magasságát, hogy megfeleljen a modell élmagasságának.\n" +"Befolyásolja az ennél a szögnél (foknál) kisebb lejtésű kerületeket.\n" +"Az ésszerű érték 35. A letiltáshoz állítsd 0-ra." msgid "°" msgstr "°" msgid "Don't alternate fill direction" -msgstr "Ne váltogassa a töltési irányt" +msgstr "Ne váltakozzon a töltési irány" msgid "Disable alternating fill direction when using Z contouring." -msgstr "Z kontúrozás használatakor tiltsa le a váltakozó kitöltési irányt." +msgstr "A váltakozó kitöltési irány letiltása Z kontúrozás használatakor." msgid "Minimum z height" msgstr "Minimális z magasság" @@ -16584,18 +16578,16 @@ msgid "" "Also controls the slicing plane." msgstr "" "Minimális Z-réteg magasság.\n" -"A szeletelő síkot is vezérli." +"Vezérli a szeletelő síkot is." msgid "This G-code is inserted at every layer change after the Z lift." -msgstr "" -"Ez a G-kód minden rétegváltásnál beillesztésre kerül a Z tengely megemelése " -"után." +msgstr "Ez a G-kód minden rétegváltásnál beillesztésre kerül a Z tengely megemelése után." msgid "Clumping detection G-code" msgstr "Csomósodásészlelés G-kód" msgid "Supports silent mode" -msgstr "Csendes mód" +msgstr "Csendes mód támogatva" msgid "" "Whether the machine supports silent mode in which machine use lower " @@ -16788,7 +16780,7 @@ msgid "Maximum speed of resonance avoidance." msgstr "A rezonanciaelkerülés maximális sebessége." msgid "Emit input shaping" -msgstr "Bemeneti rezgéskompenzáció" +msgstr "Rezgéskompenzáció kibocsájtás" msgid "" "Override firmware input shaping settings.\n" @@ -16851,9 +16843,9 @@ msgid "" "To disable input shaping, use the Disable type.\n" "RRF: X and Y values are equal." msgstr "" -"Rezonanciafrekvencia az X tengely bemeneti alakítójához.\n" -"A nulla a firmware frekvenciáját fogja használni.\n" -"A beviteli formázás letiltásához használja a Letiltás típust.\n" +"Rezonanciafrekvencia az X tengely rezgéskompenzációjához.\n" +"A nulla érték firmware frekvenciáját fogja használni.\n" +"A rezgéskompenzáció letiltásához használd a Letiltás típust.\n" "RRF: X és Y értékek egyenlőek." msgid "Y" @@ -16864,9 +16856,9 @@ msgid "" "Zero will use the firmware frequency.\n" "To disable input shaping, use the Disable type." msgstr "" -"Rezonanciafrekvencia az Y tengely bemeneti alakítójához.\n" -"A nulla a firmware frekvenciáját fogja használni.\n" -"A beviteli formázás letiltásához használja a Letiltás típust." +"Rezonanciafrekvencia az Y tengely rezgéskompenzációjához.\n" +"A nulla érték a firmware frekvenciáját fogja használni.\n" +"A rezgéskompenzáció letiltásához használd a Letiltás típust." msgid "" "Damping ratio for the X axis input shaper.\n" @@ -16874,9 +16866,9 @@ msgid "" "To disable input shaping, use the Disable type.\n" "RRF: X and Y values are equal." msgstr "" -"Csillapítási arány az X tengely bemeneti alakítójához.\n" -"A nulla a firmware csillapítási arányát fogja használni.\n" -"A beviteli formázás letiltásához használja a Letiltás típust.\n" +"Csillapítási arány az X tengely rezgéskompenzációjához.\n" +"A nulla érték a firmware csillapítási arányát fogja használni.\n" +"A rezgéskompenzáció letiltásához használd a Letiltás típust.\n" "RRF: X és Y értékek egyenlőek." msgid "" @@ -16884,9 +16876,9 @@ msgid "" "Zero will use the firmware damping ratio.\n" "To disable input shaping, use the Disable type." msgstr "" -"Csillapítási arány az Y tengely bemeneti alakítójához.\n" -"A nulla a firmware csillapítási arányát fogja használni.\n" -"A beviteli formázás letiltásához használja a Letiltás típust." +"Csillapítási arány az Y tengely rezgéskompenzációjához.\n" +"A nulla érték a firmware csillapítási arányát fogja használni.\n" +"A rezgéskompenzáció letiltásához használd a Letiltás típust." msgid "" "Part cooling fan speed may be increased when auto cooling is enabled. This " @@ -17020,9 +17012,7 @@ msgid "For the first" msgstr "Az első" msgid "Set special auxiliary cooling fan for the first certain layers." -msgstr "" -"Az első bizonyos rétegekhez állítson be speciális kiegészítő " -"hűtőventilátort." +msgstr "A speciális kiegészítő hűtőventilátor beállítása az első bizonyos rétegekhez." msgid "" "Auxiliary fan speed will be ramped up linearly from layer \"For the first\" " @@ -17031,11 +17021,11 @@ msgid "" "in which case the fan will run at maximum allowed speed at layer \"For the " "first\" + 1." msgstr "" -"A segédventilátor sebessége lineárisan megemelkedik az \"Elsőhöz\" rétegtől " -"a maximálisig a \"Teljes ventilátorsebesség a rétegnél\" rétegnél.\n" -"A rendszer figyelmen kívül hagyja a „teljes ventilátor fordulatszámot a rétegnél”, " -"ha alacsonyabb, mint az „Elsőnél”, ebben az esetben a ventilátor a maximális megengedett sebességgel " -"fog működni az „Első” + 1 rétegben." +"A segédventilátor sebessége lineárisan megemelkedik az \"Az első\" rétegtől " +"a maximálisig a \"Teljes ventilátorsebesség\" rétegnél.\n" +"A rendszer figyelmen kívül hagyja a „teljes ventilátor fordulatszámot” ha alacsonyabb, " +"mint „Az első”, ebben az esetben a ventilátor a maximális megengedett sebességgel " +"fog működni „Az első” + 1 rétegben." msgid "" "Special auxiliary cooling fan speed, effective only for the first x layers." @@ -18161,7 +18151,7 @@ msgstr "" "(több szerszámfejes) nyomtatóknál releváns. Alapértelmezés szerint az Orca " "kihagyja az utazást a több szerszámfejes gépeken, mert a firmware kezeli a " "fejcserét, ami azt eredményezheti, hogy a Tx parancs a nyomtatott rész " -"felett kerül kiadásra. Engedélyezd ezt az opciót, ha azt szeretné, hogy a " +"felett kerül kiadásra. Engedélyezd ezt az opciót, ha azt szeretnéd, hogy a " "szerszámcsere mindig a törlőtorony felett történjen." msgid "No sparse layers (beta)" From 398e007f2ec567ea56d3993864d03f52b210cbf3 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Tue, 26 May 2026 06:19:34 -0300 Subject: [PATCH 04/69] OrcaSliced Handy Model (#13727) * Ad Colourful Orca Handy model * Model Co-Authored-By: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> Co-Authored-By: yw4z * Autoarrange after import * Multifile import * Current * Cleaned * Update Colourful_Orca.3mf * Cleaning * Update Orca cube v2 to DRC and autoarrange * Rename orca to OrcaSliced --------- Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> Co-authored-by: yw4z --- resources/handy_models/OrcaCube_v2.3mf | Bin 583941 -> 0 bytes resources/handy_models/OrcaCube_v2.drc | Bin 0 -> 82802 bytes resources/handy_models/OrcaPlug_v2.drc | Bin 0 -> 28673 bytes resources/handy_models/OrcaSliced.3mf | Bin 0 -> 3170902 bytes resources/handy_models/OrcaSliced.drc | Bin 0 -> 359460 bytes src/slic3r/GUI/GUI_Factories.cpp | 54 ++++++++++++++++--------- 6 files changed, 35 insertions(+), 19 deletions(-) delete mode 100644 resources/handy_models/OrcaCube_v2.3mf create mode 100644 resources/handy_models/OrcaCube_v2.drc create mode 100644 resources/handy_models/OrcaPlug_v2.drc create mode 100644 resources/handy_models/OrcaSliced.3mf create mode 100644 resources/handy_models/OrcaSliced.drc diff --git a/resources/handy_models/OrcaCube_v2.3mf b/resources/handy_models/OrcaCube_v2.3mf deleted file mode 100644 index ede7d884b91f7545e1a595cfdfc54ef52e2c64e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 583941 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%0D{0r^NWHlu@oF3Jq7gN8YIvlo=9q`q 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 U+!IIObHC{z7d@})q&I@ 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 z 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⪙#=AWd@e8MUGUGIehinNqmA6IO18Bl#~pKFwzV%4 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 U1TijTLx~X?fq=zvTfa>Ie}4yD5&!@I literal 0 HcmV?d00001 diff --git a/resources/handy_models/OrcaPlug_v2.drc b/resources/handy_models/OrcaPlug_v2.drc new file mode 100644 index 0000000000000000000000000000000000000000..c887aba0465ba115e94a41db9e3571086b84b3c7 GIT binary patch literal 28673 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

3TT7ui;^_X%>A_Yv+;8enhu{ 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 R5d{n|b3jGy(GzWs{{!Q%MDYLs literal 0 HcmV?d00001 diff --git a/resources/handy_models/OrcaSliced.3mf b/resources/handy_models/OrcaSliced.3mf new file mode 100644 index 0000000000000000000000000000000000000000..d60a6d31e32bf4904cd75d56e7a8c0b307e73dc5 GIT binary patch literal 3170902 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%0Dcm-&NJ@<1>mytYxFUef zcA@jbn_sXato%93S#G_6>v#9FC**7BbD-!ju59}e_NW(4)Q2+c{L_0IeUTSSi>i7Y zg(rKbTM^Fyq=dwy)+A3zw1H2QRkpT^(xME}5K~^x368Ya9cDiqu%ZsaE|=9tjfqnEG#7$W1@aRWBnhI8l=A$FWZgb+ATDE9h6`hE>C6?M8=pO2k5I6@Su?w>>(Vi z^W>pcrdiB6PGKfx?_K1h99-4fqB=)2f$|;`;?&jRqK%p3pRz68bWDi31-G*poleY> zCF|`KJZ#0TA&`&OxCy2Cvt-E+ykO7WpOakt{?e^5D^8D1}O2|q5342Vx??ATaKeR7vr2IYgmSEYgWsW=gLXtv&*Gby*9D3%xd(DC+1@f z$P1cd|+(w9V^6R-2xY1YT zWNFUh0p=1KnD{#Ul$R`EGfHxbmrgob^nx|O-rCTT9hHttSp{NGTB3mNg>sw=yxV|J zg5*gLB-^kN4obkL@i)Dmti;&}v0ShMxb}s*siB4}m}~YrKPI2)Az%a?&wAtJ)b~uT zKOcrqe!W8n+#bDkSf2$_XXxc=utpB$Lb}!#54Z;?7n}xb8`X4_L@Zz}�K@?zCn; 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

UB%OcS!HglXHBnfR+zDHq&JUjZci01*}kpn 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

?l_&sBHcSY4wu(h-&K@u6#RcxF_`3~tZ(+UR|% zJI+$q={B3nyb&I|Gs=FAW2-lAghxesej+?P9c#T05o*%c>P9#6o_JOg{Vvkn;rKe; z)?73X&XiWRo zV*Q#O1@yUSw;RMQ1xRf7=Ch7~-8xJ&L$#P|tB-I!&mY32$-^{RyYLwvW>w*(gJUZ@ zPW;AOX*zfnxiDGYQmcr{@;-F`t$d&nDJ1(eSll|ZATVorftNBU4nWLGJk zRhU56C~u)|7UsCb#+~3Zcw+{2i<&07eST*Pp;F~bl>PQ<%^wAf?=*7PAn;OU(-mHP zRZT?CSSLgeL>i&z{$eY9R24^E(RIt3@(*V!R&S~~(kxC}6N=e&sbOf73wc%S)o=w27>6%mwjxd{cN8aoW)0^|W5ETvT2(yXm$vjN6Dwv7) z;YqNvuhFa;-M33%!Sue|KmpUAFhceI=MP3I zXKw+Ji5b-shl-QmK3`ns+|KOvZ07oz7Lr@Hp?oX3d6!<%U95U-7=_uI?*lbE!8`2e zo~f7m9`s23kfx&9o~x`JiFf$Ml$~`l0!&Tq9hSPH9!Qgu+R&%V+>B%%T^3skzH}M5 zi14|+ld5zPusQqSnJxjDXAzPWnmpvWddqrw%?h#UIY4s}vj=DzV9WjRnw1w}+*`*Q zUeO;h%^E$-X4xH`yeFDPXzzQX0;@-zz;sD*X4whj8jM|@vL1B;!%Sh$a14CEbY?6S z`_U&5?d9abusO9pA3wb{r1#Y)Fx`&wPje`EZP`sSrsiQbb1lTWRq_Qe`uP8&%b9)w zO+-K*9Jd*RZ65!BSP@zEBAQ~m>-f#O5h#8B|JXrw=-E?Vs-BYwU2vT~%FN`@@1AmZ zW}PhRYB-snzUpD;?2Bk-ai@;oED^IjJ1=)dJacQgl`4Opj@fF2zh4=hj`7oQCK40p z_Nuu}o`3I51Xp@??vz>4eTtr{gEwO;zzzkTM6<$KKRr)GGxnZ$29=>FSgYW)PR&zh zO3L#DV>YYbo-3=tLo^f6xXyKFmz>6QnRTpY2BdlZ%`i1u z|5(jp6FfAtP^!#l;;p(umu9Mxp4%wU8QJU?jx13;I1*~kwvP=rv@)L8l@r6nha z_VUQ7qWk4b&*~Mw_sL|LKhNn~5xsmn;#cJ_Tsm3O=E0Gk-hRp>n)@ZrM%B#v!pN00 zdJX4D>JLT+y)!x2gVdPLeBKXm<+B*-N3oqI2I4m0>0tNP9W>)>npAg zeXvIPBaR3bUb!1`z&J--01-aJIh@opb|W^lCsWfJ{>;YA?7S{3cXwxezPBnB>GKOu zNRS^avL~$T(3UFVvfJveMerfavNKe317{0e*O;-aP~*WOvFpw~)~Bpt>MT_0Ao*gE zSWo12UD2wW2{R5Bp@-9~qGrZt@f8h-C#{y1Gkz5cOk(;fGl`2hu%wwnPd*9-m{jCl zxs8~0wgI(84xR5#85O_v`mQdPmZ=yxJ|c;jlz-Ryig&8+Q8U+SFY zsiVwPv$d7;V3CL%MeebhWpV3ckySa#sAofYG;d!IEZ#-po9ex+Lr~Y|YF*V>i}G`ZSv`d-CkPOc%u`jLdGQ`~d@WHcnj=4QM;- zwf9OUtMlu6+L1cvw$YboJx^gaw$yXmo*J!tTiH46swa#@2~oG~sbjo(_q#Al?^H7^ z@;J@3InAFto4{7)o99(_sy-MQ&9?I*o?WB%x$!c(V-AbNpl9oT@dRMJb=jmtK29?# zLGkvJyDZlmWm?KPEV3wyd;7`NLHQlpL5p*Q*)V&j3fs55qA1c&6uFzKZ@ZjnZtOKIXQ|#j;TzugNaS#9E#L1inKobAN-;_QLzs1$ zn0u_UETCJj;Z<-x6gkOk%-&@Rc4OXY8`T4yb8#-K>%g_#@KTTAl6&H?$QmZEo81FZn+7i1SJQ9!9Y* z1;8i_YkoCh_o+r7qtSSk0qkhxEM0G0Eca-$%Ahl!WdN=6#*xC9Vb|G&R1w^mhfmB~ z4ajFb+9S@Io&w<;wFS9c5bwv7uF&eCA$I>Avp|$hekxaGKnFK}qJC&ePFR z8?(n`W~W5Fpk!)l_CU#wGIl<37SY*!=3X>}7<}7%K&aDPx~a?^zr@*A+mT<})21sn zkD4W-%JqbjS?JROg8*BXK=(4}j{Y-;mjB0{rLvuU>z)QGZyiF^mdfwSqjF(*>YiBL z^6}pQ8-eV%7e7TGdFG8>qs~W5bOZAoN3?&5WYu^F*YC^jLcPb?JUq1jKAx9Iwp7md z4-Yfy$TK5A;}A(r*BfVw;r3pqm@}(yy?Jjyde<-z$i%gZ4OZ7F=4$dCSi6}0b&4q% zKR1>&5vnJToK=4~GGZc>eR1T}D)xmVb3ae{AE9+G^1Rd#Sx;fsOk+M6ncd@bT~A^$ zMtH4&;H@uOM&=fgXEzIB%zS2oZE-&uiO?)>c113F@LZWy&1B4HSC9~0JU*c9aHk)` z*^Eei&E_t1Q$NL!VC6F;w|Dkdn|A})xkVY!ig*kMB2;z#9Yf4Ni5x5Xwc2EnGatM_ zW4H1Qm$lE1CdCjt-_v)8GFKcGTvyjUc*#2eJtjp@u!-Sm!9)z5nKU6Ut3dReiVr_3_ScoqRz zJ=r>?B8+XEv(Qa;as0xOkT&8RAu*9Y-3c9DEcb~c*}0n^uW(Lm;U^n7bD7#Vk5q3j zPf-)o6ZcwU(p37*BVFOcBZ1_)elCICmC)0}zr)z-)6*nnaB+YnGqB2cQxcfnpH+-5 z#7}p$-BVff-h62`=UBydqvu8g6x$p99EUq&`w+?K%&H48rd?Hdj;G3Tg_*}mT_P#a z`#xasxS{J6({?a)Th24M;kTxZiq0d=7Pk8KoVNy9?*`PVQ1Qns)|=^L7Bf&aPjNN_ zH1bf%?2K&PJ^&-4{i2dcbMR5g$Q`GSJX02w_Uo&Aw^sQDEcdSRb|bH6t$k5RN@agF z=QA45fhd(+p`PZc?$yp$bnY&1`<{}yoii_;lxFXIMdvFq@A^v}G1IT%8lmsAn;r1z zAgk=$i09%hD`N7*^DL)b2bLK{FrOs0*8TASY$txQB&L#lIrFB+jnfA(M2&T261?wV zUkz5J|mfv&p)q(Os^= zdes3$(9z#;s5|eK_PCtRe$@f2n%=u=REO3lFSa}6-3OIyhN6t?7pqc}6vOG!837288=9}IvMkw(@lL;>d zr-2QH+&p-3HyExLn;a06b@Qh!PM@{iEPK?i{a2`v+h1YR^bG2o#_V*~d;b-a$^HtP zh)UtINu%W8J7Im;DxJorM5FJaE}?Z;I!BBCx>WiuE10)^H3x`6OU zWN&93uBvdwzMIaM>~n}+wZ%UCe?>X*6o;sBeqfc`$hl$fE;4hT!$var53nk^#MTiV zNDl*#;iwwwj*VCI}zwkkGX@f&5h>RaE%Fj+do0LgmAZ%FK^I{T3g?C5|1Q}gz`RnKgk5~0|z z^PY&xM(3+dpp8x7lGR+|w&5#=mLFtw8`|cTJIuVEw{Lq@+AUPM5|n@c23q~2kdXU+h8R4(w0+1@be9;Mgx66c~*8d-lYO9Vq0Hmd8b3X z1rn@4hUd@pdH(Npo>D|0Z{HLqbNBMDW_P^_VN5jlbH1%vV&5HmM~>bLJeF!t3I~+k z(jfz@R-@nAa0lDR_|_#<@HkamJI>d%g1MaIduwe^@YbwLBj9bDLuBB9RYq{yAt|_ zL3Vod;H$f>?1SwpAm5I6t+T`R;HzE?cpIDGjJU-WM)c^#S9dD(WA4vF^Hyf;MlJZL z7jP}*Gdzx-!g=TktEc&>7jVoV@*7@yqK`tOyE0zw0$Cfp#}FK5{q(f&s@wBw7jR9n z;}F)?xVjJYs>PK1)h;lToO>?HVB<1YXx`js{%9AQw+wV@D(j?iDBJ8YUJA`FuumFC zbC!L}DVeFBd6umM8TGwAK8}B~Jd6yCpKa?yP4=l_OM2q?&nQ>D8wO^>DxE-VcH=0l z4Ye13HhNa2Dvwhn$n67JIg(s>_N`;GSl=hGdJ=UbHL`OHHE+h6S?W{z#8KY!;LMRm z_%n$0{~)YRv&SD{EzhRz_ob~?mY#=?i{slswdHyed_bhp$GjQhWGn^=kbl(;;IH zUPUiE``}eg01-X(jD*^{MUL#TjM+%9jYA?X`|Tvm#=7hC51=dZuw`yn9+|RGQ2) ztghMMD~+ROG^bIMsM@JBj4(kz1X{@vt%Fy~6F!omu;Olbzg)iQJsXj1C(-)|GotFd&o6Q_N86Y)bi3Xm<6S7AQ~Tu^n=9fbjeBlS$3#fC3tQc~N>f`-ZEn zp6h_?E(9vhHe(%Q&YP}ww(B%NjWXJKIy^SWO}*XurS<238;2R!-KrVO@m_%KMo%BM znw;I}LvLC}@j2dPB5nax?TEN3w5%AE-ukRs(t)d~Mw7R1J0fQ85lNPE5e1f))kze5}+yDEJE>GrzyJUo?Y;JdK~V>WOA zX%7g$_DPLy*7r6|l)Ek<-3>(XUE`#T50KJwR_vun*@Ei1enT`ri!GShin#?+>@D#% zY}Xe7zke{Yn{#9Dv6=PGdF$%+0i<2z#Jz9W&E&J(Ks!bq@10d;T#Z&}t@^nr?WFM0 z5ERGTXIPWM3y{L99G?TXv1fk7;SM_X6$&!m-8z-hlDhf~YiaB&69hRi=bO_(*4$rs zvNQ0&qw3wtLr1Hlf9ke6JUxCW!$>v9hmOV!V{dO&X{-3K-c=MfzwO)i=ytZdNFqWH z>s>anKLrCh?5eX>?tyn-cc*5uZ(sU!*JR%uU8+>|XeXG7FEpV1M+8-ObC($vd>HRC z2fxm{O=K+ZMuO!Dyvhk85yyP()dWz5Yj})z zVVFnQ*)YGRJ@uC2sXDMfBMXJ5WMmx1fMgEfvkp|F*h4nE7)8{Iz%h@8CY zs)=oB^=w<8UhuHdaS^$nF09C@-DkZgAS+HNh&Bg5jzLWq>UnqC390hypPG=Eee%{~ zyR-E)-f1`Ir+{k5na3;{Ta11Cn2H?c>7QDoqw=s(?l!znHagrAZvParUAJv9vkC9J zGQFpjr+7Pm~%RC6)d+uSbR&h=Dpzhihir*LCIkVN8kuBY6QPb$r%bAPONCcS&` zD8$9QnYcTfw}2`}g~7q2t?A)D@hCU>(NQVJ6?MQZEIRj=;Ut}m7%BHsEPEcU7uuUXzr8(|7U`J2RdFvm6v$6!!R_8yNH%p2&&HS1!mTSH~v9AZPOqixKw*D6VIE+0)%b5wXv_~l+h4MCk% z(h}|?{?XGNFY{Ve`)BvYaIkoLYs=Hv{|rYhW<{T2GdK3$woNPx{h#5egv1VxKGT48 z-^yCe3?5wt6N|jM5UyyPBwe-)?yIVRl=PF>=8YO2`&v(nRj*VKlSqV)eQnFQ-JtCN zim#>uY}7jT>}cfxkI#O~StUN<=!AAFKZ%y*-o-bbC~z|7WnbHwsMup3D2`8-E*e!H z)w6$Hh{mC#-eUBzkQJFE`7B`fH14&OIj-0-Twi!n5L?&t?G^$i1n+gY#O zTTOAX|9Hf$I!d&b9~}jDqi>UoiqVRC(b0-^e{{6aj>6Gr zu43rjYZTM-nb)v0+Nc9ZXCexCvqJco*H*2m)Y%l%h2p*-Wuttap+edKPH1Vsq0GlD z+l7-3qP2H_a_lpL{X8!~2lhPtjn>ZMtrO4Ag`W1cU97(6&QSaJJUeG&g~xCL!91U* zEUKJ8gp=!fZNTgew@#Qq1TyaMCT8kok5tOw%~VfU>dridUQqT75TWCJSh8dB-hg2$>e$y*ZvLc(B5LzJzUgY{*w@;-n2Se? z>d1NPJ2j;6I)SD(2__xrp6*|nFB64+WEIvN(GdX2|s zq4LMR#<2U)QK+($?_Awv`p3RjDRke?f;D36$v1)a7v2`$tw1y{;M|I-=Lx7rnfVb; zHrTG))Mr)CJ~uOCHtHYxPMRjxH;!|V)9*@gvp;>ev75W~^OdsbXNUTR=jJQ+$Z@aa zdNN(_6<8|H{w&QX**E+FSsn8jR)D4c9{!jl8i#$cO7H)3nVsbmeWc-NZslbJJnvr9 zwd-Jo*?$hWg{R496;+#g?mx3RaG%-f0?N;PKWXN)3JQ$qJj0HeikG=EYPS#GT*RPo zW*2bgGg>4@!-IfqXzVjA4oCX{oZHUw>0fuFqw)+#XRRK96POZiMbS#z=LR2UuJ=`W zAf^h3xrI@A7HFE#q#xcjMAh;-$XssW+FJxxKKj$mteEvDvT`RQkC&7~D0d&71!JZs z@BXYjtMfiqGaU0OE#L%|ckefrffKCTHItpM(gLwI@4pyZxPI?~&~!c^Wt1bAKlyFY zjq^fkhOP&qWLBc8Px`VndsA9PR!{304boc7_IZ5x~6=!iL5{PFo2+bLMbyAzrU3GSj8RLW} zpMWwkg1V3VLnut7oQmKroLnvn)s(F*D#JFysRAubMd8xt*$2)%w zi=6!2YjTAf*9K7Q0^iZJ9n(I9GL~JwO>^19R6ob3EirGOR4g)lywk2|=sCWdgYvPj zDWt4AgfeC;_#B^#yyi6&nl-mV-QvoxVPviDZNX;O_D_R)EQjygg2LSTb(2+dZ#QEG zGw;Yf)0@1`wdvYCY!cel=95j%cKU;psH6(IaB|8S&(lq*-1x`zx*~(RDa<_`%~u>) zF30u3$uPaVM1yPknf0n(1@RTAYjc)!;AAs8^p2>tx&7T&2Ux2MCr218AH#IEPd?)Y zs;c`KzZEe`J;l{@<1>#r9IIO%fR2dL`=((yK3$#JlP>+{+t&Ei)F8HT`}LI8uhOvh zU8yQAW3KzKh=pw4Xxyyrya<}^m{*N@Pd2YqP-Sc$>5dJL zrXKz;

-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

~?EU9Ah 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 z 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�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%0A-m^XWwtjB=C87bn^ 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Ì-I~a^x`c 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

caALRV`*%&WDK%&jY8^S=wJiGTnlh)iG^8m!?H1 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

8P@+sQ|ZY% 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 };nsS> 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%0A^cGqP# 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�Zj_9cZ;OeIQM!p_sc)n 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

b5;mf_@c!q9uX*K)P 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

WkXtra%oJAeIQ0ZypO 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%0A{C!i!(r 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

D2Rz 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

<$gt#@88hEJ43jZ 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�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 U)LCvJ(+JSj(CXoKr&Y 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

AY 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ξ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

;`Vl+LK967%u7^9{<1ui4DP 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

<7jU!h)S}V>dQt_NPhKqb56}>Jy5j7HKIsXyYy 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�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 ?lKnNv26~zw_F`519^d8?2Ney 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

!5qDNWO&u<)}iM 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ƓNuwYA#eWrL)EVT7Hg*~#XLROlAMs}uq~&2JUN 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

sI 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

a{lJWF?Hrs3*|Xo> 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%0DoFJ9gFT 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

6{A0Ve*cFP?yqY3U!1T|FS+Tkr46tt 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%0A}ntj?8Uil+0iC--}fJj>yrLmr{sQ$JXF@u4x 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

2d&GGsINDmBS6=t-HicF2G6`cOp{Kn@Af)_ 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�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 Pe*UOIAZZIR;OzeZyk!_a literal 0 HcmV?d00001 diff --git a/resources/handy_models/OrcaSliced.drc b/resources/handy_models/OrcaSliced.drc new file mode 100644 index 0000000000000000000000000000000000000000..1dc9072b3565a794e13958537e2cd3ff4198c2a6 GIT binary patch literal 359460 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%0A#m3E5!BXuo#=LU_Pz75O>tuK|;I7 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


d-xp=;wk|lOk*H$GhzTA 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 input_files; bool is_stringhell = false; - std::string file_name = item; - if (file_name == L("Orca Cube")) - file_name = "OrcaCube_v2.3mf"; - else if (file_name == L("Orca Tolerance Test")) - file_name = "OrcaToleranceTest.drc"; - else if (file_name == L("3DBenchy")) - file_name = "3DBenchy.drc"; - else if (file_name == L("Cali Cat")) - file_name = "calicat.drc"; - else if (file_name == L("Autodesk FDM Test")) - file_name = "ksr_fdmtest_v4.drc"; - else if (file_name == L("Voron Cube")) - file_name = "Voron_Design_Cube_v7.drc"; - else if (file_name == L("Stanford Bunny")) - file_name = "Stanford_Bunny.drc"; - else if (file_name == L("Orca String Hell")) { - file_name = "Orca_stringhell.drc"; + std::vector file_names; + bool arrange_after_import = false; + if (item == L("Orca Cube")){ + file_names = { "OrcaCube_v2.drc", "OrcaPlug_v2.drc"}; + arrange_after_import = true; + } + else if (item == L("OrcaSliced Combo")) + { + file_names = { "OrcaSliced.3mf", "OrcaCube_v2.drc", "OrcaPlug_v2.drc" }; + arrange_after_import = true; + } + else if (item == L("Orca Tolerance Test")) + file_names = { "OrcaToleranceTest.drc" }; + else if (item == L("3DBenchy")) + file_names = { "3DBenchy.drc" }; + else if (item == L("Cali Cat")) + file_names = { "calicat.drc" }; + else if (item == L("Autodesk FDM Test")) + file_names = { "ksr_fdmtest_v4.drc" }; + else if (item == L("Voron Cube")) + file_names = { "Voron_Design_Cube_v7.drc" }; + else if (item == L("Stanford Bunny")) + file_names = { "Stanford_Bunny.drc" }; + else if (item == L("Orca String Hell")) { + file_names = { "Orca_stringhell.drc" }; is_stringhell = true; } else return; - input_files.push_back((boost::filesystem::path(Slic3r::resources_dir()) / "handy_models" / file_name)); + + input_files.reserve(file_names.size()); + for (const auto& file_name : file_names) + input_files.push_back((boost::filesystem::path(Slic3r::resources_dir()) / "handy_models" / file_name)); + plater()->load_files(input_files, LoadStrategy::LoadModel); + if (arrange_after_import) { + plater()->set_prepare_state(Job::PREPARE_STATE_MENU); + plater()->arrange(); + } // Suggest to change settings for stringhell // This serves as mini tutorial for new users From e0c4d11baefa328331be113533c47ee89fda16c6 Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Tue, 26 May 2026 20:30:39 +0800 Subject: [PATCH 05/69] Fix display of non-ascii orca cloud user name (#13856) --- src/slic3r/GUI/GUI_App.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 6b30dfa9cd..a84565786c 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -4374,12 +4374,12 @@ void GUI_App::get_login_info(const std::string& provider/* = ORCA_CLOUD_PROVIDER if (m_agent) { if (m_agent->is_user_login(provider)) { std::string login_cmd = m_agent->build_login_cmd(provider); - wxString strJS = wxString::Format("window.postMessage(%s)", login_cmd); + wxString strJS = wxString::Format("window.postMessage(%s)", from_u8(login_cmd)); GUI::wxGetApp().run_script(strJS); } else { m_agent->user_logout(false, provider); std::string logout_cmd = m_agent->build_logout_cmd(provider); - wxString strJS = wxString::Format("window.postMessage(%s)", logout_cmd); + wxString strJS = wxString::Format("window.postMessage(%s)", from_u8(logout_cmd)); GUI::wxGetApp().run_script(strJS); } mainframe->m_webview->SetLoginPanelVisibility(true); From 0ef7715019868da6d2c5acded7ced73bcef54d35 Mon Sep 17 00:00:00 2001 From: dremc <93659055+dremc@users.noreply.github.com> Date: Wed, 27 May 2026 15:00:24 +1000 Subject: [PATCH 06/69] Add DREMC materials profiles such as PLA, ABS, ASA filament profiles (#13783) * Create DREMC PLA+ @base.json * Create DREMC * Delete resources/profiles/OrcaFilamentLibrary/filament/DREMC * Create * Delete resources/profiles/OrcaFilamentLibrary/filament/dremc directory * Delete resources/profiles/OrcaFilamentLibrary/filament/DREMC * Create DREMC PLA+ @base.json * Added Initial DREMC Profiles * Update OrcaFilamentLibrary.json * Update OrcaFilamentLibrary.json * Update DREMC PPA-CF @base.json * Add files via upload * Replace Space with Indentation * Update OrcaFilamentLibrary.json * Fixed ID Duplication Issue * Update OrcaFilamentLibrary.json Fixed Formatting/Ordering * Update OrcaFilamentLibrary.json Fixed Formatting * Update OrcaFilamentLibrary.json * Update OrcaFilamentLibrary.json * Add files via upload * Add files via upload * Update DREMC ASA CF @base.json * Update DREMC ASA GF @base.json * remove duplicated profiles --------- Co-authored-by: SoftFever --- resources/profiles/OrcaFilamentLibrary.json | 114 +++++++++++++++++- .../filament/DREMC/DREMC ABS @System.json | 9 ++ .../filament/DREMC/DREMC ABS @base.json | 35 ++++++ .../filament/DREMC/DREMC ABS+ @System.json | 9 ++ .../filament/DREMC/DREMC ABS+ @base.json | 26 ++++ .../filament/DREMC/DREMC ABS-GF @System.json | 15 +++ .../filament/DREMC/DREMC ABS-GF @base.json | 44 +++++++ .../filament/DREMC/DREMC ASA @System.json | 9 ++ .../filament/DREMC/DREMC ASA @base.json | 44 +++++++ .../filament/DREMC/DREMC ASA CF @System.json | 9 ++ .../filament/DREMC/DREMC ASA CF @base.json | 50 ++++++++ .../filament/DREMC/DREMC ASA GF @System.json | 9 ++ .../filament/DREMC/DREMC ASA GF @base.json | 50 ++++++++ .../filament/DREMC/DREMC PA12-CF @System.json | 9 ++ .../filament/DREMC/DREMC PA12-CF @base.json | 59 +++++++++ .../filament/DREMC/DREMC PA6-CF @System.json | 9 ++ .../filament/DREMC/DREMC PA6-CF @base.json | 53 ++++++++ .../filament/DREMC/DREMC PET-CF @System.json | 9 ++ .../filament/DREMC/DREMC PET-CF @base.json | 86 +++++++++++++ .../filament/DREMC/DREMC PETG @System.json | 15 +++ .../filament/DREMC/DREMC PETG @base.json | 59 +++++++++ .../filament/DREMC/DREMC PLA HS @System.json | 12 ++ .../filament/DREMC/DREMC PLA HS @base.json | 20 +++ .../filament/DREMC/DREMC PLA+ @System.json | 12 ++ .../filament/DREMC/DREMC PLA+ @base.json | 20 +++ .../filament/DREMC/DREMC PPA-CF @System.json | 9 ++ .../filament/DREMC/DREMC PPA-CF @base.json | 11 ++ .../filament/DREMC/DREMC TPU 95A @System.json | 12 ++ .../filament/DREMC/DREMC TPU 95A @base.json | 23 ++++ 29 files changed, 840 insertions(+), 1 deletion(-) create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS-GF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS-GF @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA6-CF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA6-CF @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PPA-CF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PPA-CF @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @base.json diff --git a/resources/profiles/OrcaFilamentLibrary.json b/resources/profiles/OrcaFilamentLibrary.json index 62ff05b0c5..b4f615dd3d 100644 --- a/resources/profiles/OrcaFilamentLibrary.json +++ b/resources/profiles/OrcaFilamentLibrary.json @@ -1,6 +1,6 @@ { "name": "OrcaFilamentLibrary", - "version": "02.04.00.00", + "version": "02.03.02.60", "force_update": "0", "description": "Orca Filament Library", "filament_list": [ @@ -1507,6 +1507,118 @@ { "name": "GreenGate3D PETG @System", "sub_path": "filament/GreenGate3D/GreenGate3D PETG @System.json" + }, + { + "name": "DREMC PLA+ @base", + "sub_path": "filament/DREMC/DREMC PLA+ @base.json" + }, + { + "name": "DREMC PLA+ @System", + "sub_path": "filament/DREMC/DREMC PLA+ @System.json" + }, + { + "name": "DREMC PETG @base", + "sub_path": "filament/DREMC/DREMC PETG @base.json" + }, + { + "name": "DREMC PETG @System", + "sub_path": "filament/DREMC/DREMC PETG @System.json" + }, + { + "name": "DREMC ABS @base", + "sub_path": "filament/DREMC/DREMC ABS @base.json" + }, + { + "name": "DREMC ABS @System", + "sub_path": "filament/DREMC/DREMC ABS @System.json" + }, + { + "name": "DREMC ABS+ @base", + "sub_path": "filament/DREMC/DREMC ABS+ @base.json" + }, + { + "name": "DREMC ABS+ @System", + "sub_path": "filament/DREMC/DREMC ABS+ @System.json" + }, + { + "name": "DREMC ASA @base", + "sub_path": "filament/DREMC/DREMC ASA @base.json" + }, + { + "name": "DREMC ASA @System", + "sub_path": "filament/DREMC/DREMC ASA @System.json" + }, + { + "name": "DREMC PA6-CF @base", + "sub_path": "filament/DREMC/DREMC PA6-CF @base.json" + }, + { + "name": "DREMC PA6-CF @System", + "sub_path": "filament/DREMC/DREMC PA6-CF @System.json" + }, + { + "name": "DREMC PA12-CF @base", + "sub_path": "filament/DREMC/DREMC PA12-CF @base.json" + }, + { + "name": "DREMC PA12-CF @System", + "sub_path": "filament/DREMC/DREMC PA12-CF @System.json" + }, + { + "name": "DREMC PET-CF @base", + "sub_path": "filament/DREMC/DREMC PET-CF @base.json" + }, + { + "name": "DREMC PET-CF @System", + "sub_path": "filament/DREMC/DREMC PET-CF @System.json" + }, + { + "name": "DREMC ABS-GF @base", + "sub_path": "filament/DREMC/DREMC ABS-GF @base.json" + }, + { + "name": "DREMC ABS-GF @System", + "sub_path": "filament/DREMC/DREMC ABS-GF @System.json" + }, + { + "name": "DREMC TPU 95A @base", + "sub_path": "filament/DREMC/DREMC TPU 95A @base.json" + }, + { + "name": "DREMC TPU 95A @System", + "sub_path": "filament/DREMC/DREMC TPU 95A @System.json" + }, + { + "name": "DREMC PPA-CF @base", + "sub_path": "filament/DREMC/DREMC PPA-CF @base.json" + }, + { + "name": "DREMC PPA-CF @System", + "sub_path": "filament/DREMC/DREMC PPA-CF @System.json" + }, + { + "name": "DREMC PLA+ HS @base", + "sub_path": "filament/DREMC/DREMC PLA HS @base.json" + }, + { + "name": "DREMC PLA+ HS @System", + "sub_path": "filament/DREMC/DREMC PLA HS @System.json" + }, + { + "name": "DREMC ASA CF @base", + "sub_path": "filament/DREMC/DREMC ASA CF @base.json" + }, + { + "name": "DREMC ASA CF @System", + "sub_path": "filament/DREMC/DREMC ASA CF @System.json" + }, + { + "name": "DREMC ASA GF @base", + "sub_path": "filament/DREMC/DREMC ASA GF @base.json" + }, + { + "name": "DREMC ASA GF @System", + "sub_path": "filament/DREMC/DREMC ASA GF @System.json" } ], "process_list": [], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @System.json new file mode 100644 index 0000000000..bb6f1ebd94 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "DREMC ABS @System", + "inherits": "DREMC ABS @base", + "from": "system", + "setting_id": "DREMC003", + "instantiation": "false", + "compatible_printers": [] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @base.json new file mode 100644 index 0000000000..b4835fdeca --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS @base.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "DREMC ABS @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "DREMC003", + "instantiation": "false", + "filament_cost": [ + "24" + ], + "filament_density": [ + "1.06" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_shrink": [ + "99.7" + ], + "fan_max_speed": [ + "20" + ], + "overhang_fan_speed": [ + "50" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "chamber_temperature": [ + "60" + ], + "filament_vendor": [ + "DREMC" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @System.json new file mode 100644 index 0000000000..1eb4fcd076 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "DREMC ABS+ @System", + "inherits": "DREMC ABS+ @base", + "from": "system", + "setting_id": "DREMC004", + "instantiation": "false", + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @base.json new file mode 100644 index 0000000000..f9b2cd2c40 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS+ @base.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "name": "DREMC ABS+ @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "DREMC004", + "instantiation": "false", + "filament_cost": [ + "24" + ], + "filament_density": [ + "1.06" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_shrink": [ + "99.7" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "DREMC" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS-GF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS-GF @System.json new file mode 100644 index 0000000000..73ffb7f363 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS-GF @System.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "DREMC ABS-GF @System", + "inherits": "DREMC ABS-GF @base", + "from": "system", + "setting_id": "DREMC009", + "instantiation": "true", + "filament_long_retractions_when_cut": [ + "1" + ], + "filament_retraction_distances_when_cut": [ + "18" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS-GF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS-GF @base.json new file mode 100644 index 0000000000..b5917c922e --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ABS-GF @base.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "DREMC ABS-GF @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "DREMC009", + "instantiation": "false", + "fan_cooling_layer_time": [ + "12" + ], + "fan_max_speed": [ + "30" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "1.12" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_shrink": [ + "99.7" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "filament_type": [ + "ABS-GF" + ], + "filament_vendor": [ + "DREMC" + ], + "overhang_fan_speed": [ + "30" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "4" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @System.json new file mode 100644 index 0000000000..b4026708da --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "DREMC ASA @System", + "inherits": "DREMC ASA @base", + "from": "system", + "setting_id": "DREMC005", + "instantiation": "false", + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @base.json new file mode 100644 index 0000000000..324e484437 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA @base.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "DREMC ASA @base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "DREMC005", + "instantiation": "false", + "eng_plate_temp": [ + "110" + ], + "eng_plate_temp_initial_layer": [ + "110" + ], + "filament_cost": [ + "36" + ], + "filament_density": [ + "1.09" + ], + "filament_flow_ratio": [ + "0.94" + ], + "filament_shrink": [ + "99.7" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "DREMC" + ], + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "textured_plate_temp": [ + "110" + ], + "textured_plate_temp_initial_layer": [ + "110" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @System.json new file mode 100644 index 0000000000..dd81c1f531 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "DREMC ASA CF @System", + "inherits": "DREMC ASA CF @base", + "from": "system", + "setting_id": "DREMC012_00", + "instantiation": "false", + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @base.json new file mode 100644 index 0000000000..b15fa0f629 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA CF @base.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "DREMC ASA CF @base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "DREMC012", + "instantiation": "false", + "eng_plate_temp": [ + "110" + ], + "eng_plate_temp_initial_layer": [ + "110" + ], + "filament_cost": [ + "48" + ], + "filament_density": [ + "1.09" + ], + "filament_flow_ratio": [ + "0.92" + ], + "filament_shrink": [ + "99.7" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "DREMC" + ], + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "textured_plate_temp": [ + "110" + ], + "textured_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "265" + ], + "nozzle_temperature_initial_layer": [ + "265" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @System.json new file mode 100644 index 0000000000..c751f9e86c --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "DREMC ASA GF @System", + "inherits": "DREMC ASA GF @base", + "from": "system", + "setting_id": "DREMC013_00", + "instantiation": "false", + "compatible_printers": [] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @base.json new file mode 100644 index 0000000000..11f4e56de4 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC ASA GF @base.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "DREMC ASA GF @base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "DREMC013", + "instantiation": "false", + "eng_plate_temp": [ + "110" + ], + "eng_plate_temp_initial_layer": [ + "110" + ], + "filament_cost": [ + "36" + ], + "filament_density": [ + "1.12" + ], + "filament_flow_ratio": [ + "0.92" + ], + "filament_shrink": [ + "99.7" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "DREMC" + ], + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "textured_plate_temp": [ + "110" + ], + "textured_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @System.json new file mode 100644 index 0000000000..a187a36efd --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "DREMC PA12-CF @System", + "inherits": "DREMC PA12-CF @base", + "from": "system", + "setting_id": "DREMC007", + "instantiation": "false", + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @base.json new file mode 100644 index 0000000000..aee897f402 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA12-CF @base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "DREMC PA12-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "DREMC007", + "instantiation": "false", + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "100" + ], + "filament_cost": [ + "105" + ], + "filament_density": [ + "1.06" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "DREMC" + ], + "full_fan_speed_layer": [ + "2" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "temperature_vitrification": [ + "131" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA6-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA6-CF @System.json new file mode 100644 index 0000000000..00ee3751c5 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA6-CF @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "DREMC PA6-CF @System", + "inherits": "DREMC PA6-CF @base", + "from": "system", + "setting_id": "DREMC006", + "instantiation": "true", + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA6-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA6-CF @base.json new file mode 100644 index 0000000000..7d693fc142 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PA6-CF @base.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "DREMC PA6-CF @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "DREMC006", + "instantiation": "false", + "fan_cooling_layer_time": [ + "15" + ], + "filament_cost": [ + "68" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "DREMC" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "temperature_vitrification": [ + "215" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @System.json new file mode 100644 index 0000000000..5b277a22af --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "DREMC PET-CF @System", + "inherits": "DREMC PET-CF @base", + "from": "system", + "setting_id": "DREMC008", + "instantiation": "false", + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @base.json new file mode 100644 index 0000000000..cc568e5ad6 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PET-CF @base.json @@ -0,0 +1,86 @@ +{ + "type": "filament", + "name": "DREMC PET-CF @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "DREMC008", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "242" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "DREMC" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature_range_low": [ + "270" + ], + "required_nozzle_HRC": [ + "40" + ], + "supertack_plate_temp": [ + "80" + ], + "supertack_plate_temp_initial_layer": [ + "80" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "147" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @System.json new file mode 100644 index 0000000000..e5c8e669cb --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @System.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "DREMC PETG @System", + "inherits": "DREMC PETG @base", + "from": "system", + "setting_id": "DREMC002", + "instantiation": "false", + "filament_max_volumetric_speed": [ + "20" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @base.json new file mode 100644 index 0000000000..840e0104f3 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PETG @base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "DREMC PETG @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "DREMC002", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_vendor": [ + "DREMC" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "overhang_fan_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @System.json new file mode 100644 index 0000000000..b2b78aa204 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @System.json @@ -0,0 +1,12 @@ +{ + "type": "filament", + "name": "DREMC PLA+ HS @System", + "inherits": "DREMC PLA+ @base", + "from": "system", + "setting_id": "DREMC011", + "instantiation": "false", + "filament_max_volumetric_speed": [ + "22" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @base.json new file mode 100644 index 0000000000..cb2f3e166d --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA HS @base.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "name": "DREMC PLA+ HS @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "DREMC011", + "instantiation": "false", + "filament_cost": [ + "26" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "DREMC" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @System.json new file mode 100644 index 0000000000..116ce2393f --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @System.json @@ -0,0 +1,12 @@ +{ + "type": "filament", + "name": "DREMC PLA+ @System", + "inherits": "DREMC PLA+ @base", + "from": "system", + "setting_id": "DREMC001", + "instantiation": "false", + "filament_max_volumetric_speed": [ + "18" + ], + "compatible_printers": [] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @base.json new file mode 100644 index 0000000000..698712e1dd --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PLA+ @base.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "name": "DREMC PLA+ @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "DREMC001", + "instantiation": "false", + "filament_cost": [ + "26" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "DREMC" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PPA-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PPA-CF @System.json new file mode 100644 index 0000000000..a8b216a7cc --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PPA-CF @System.json @@ -0,0 +1,9 @@ +{ + "type": "filament", + "name": "DREMC PPA-CF @System", + "inherits": "DREMC PPA-CF @base", + "from": "system", + "setting_id": "DREMC010", + "instantiation": "true", + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PPA-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PPA-CF @base.json new file mode 100644 index 0000000000..ec5cecd565 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC PPA-CF @base.json @@ -0,0 +1,11 @@ +{ + "type": "filament", + "name": "DREMC PPA-CF @base", + "inherits": "fdm_filament_ppa", + "from": "system", + "filament_id": "DREMC010", + "instantiation": "false", + "filament_vendor": [ + "DREMC" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @System.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @System.json new file mode 100644 index 0000000000..7645654b4e --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @System.json @@ -0,0 +1,12 @@ +{ + "type": "filament", + "name": "DREMC TPU 95A @System", + "inherits": "DREMC TPU 95A @base", + "from": "system", + "setting_id": "DREMC010", + "instantiation": "false", + "filament_max_volumetric_speed": [ + "6" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @base.json b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @base.json new file mode 100644 index 0000000000..ba17ff46a8 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/DREMC/DREMC TPU 95A @base.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "name": "DREMC TPU 95A @base", + "inherits": "fdm_filament_tpu", + "from": "system", + "filament_id": "DREMC010", + "instantiation": "false", + "filament_cost": [ + "40" + ], + "filament_density": [ + "1.25" + ], + "filament_vendor": [ + "DREMC" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ] +} From 957d3017b41eeb6ea71efd0a2cdead9307674f1c Mon Sep 17 00:00:00 2001 From: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com> Date: Wed, 27 May 2026 10:46:57 +0100 Subject: [PATCH 07/69] Fix bridges appearing on top surfaces when "Extra bridge layers" is enabled. Threading fixes for extra bridge layers and lightning infill. (#13860) * Fix data race in extra bridge layer generation causing spurious bridges on top surfaces * Guard second bridge layer against top most surfaces * CoPilot review comments & lighting infill threading fix. --- src/libslic3r/PrintObject.cpp | 240 ++++++++++++++++++++++++++-------- 1 file changed, 187 insertions(+), 53 deletions(-) diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index f572d3bbb1..aee470bab5 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -1703,30 +1703,46 @@ void PrintObject::detect_surfaces_type() // Only iterate to the second-to-last layer, since we look at layer i+1. if( (this->config().enable_extra_bridge_layer.value == eblApplyToAll) || (this->config().enable_extra_bridge_layer.value == eblExternalBridgeOnly)){ const size_t last = (m_layers.empty() ? 0 : m_layers.size() - 1); - tbb::parallel_for( tbb::blocked_range(0, last), [this, region_id](const tbb::blocked_range &range) { + + // ORCA: Two-phase split (collect-then-apply) to eliminate a data race in the + // original single-phase parallel_for, where iteration `i` rewrote + // m_layers[i+1]->slices.surfaces via std::move while iteration `i+1` (running + // on an adjacent TBB block on another worker thread) was iterating that same + // Surfaces vector as its bot_surfs. Splitting into a read-only collect pass + // followed by a write-only apply pass removes the cross-iteration aliasing. + // + // Phase 1: read-only pass — collect each layer's stBottomBridge polygons into a + // per-layer cache. No surfaces are mutated, so concurrent reads are safe. + std::vector bridge_polys_per_layer(last); + tbb::parallel_for(tbb::blocked_range(0, last), [this, region_id, &bridge_polys_per_layer](const tbb::blocked_range &range) { for (size_t i = range.begin(); i < range.end(); ++i) { m_print->throw_if_canceled(); - - // Step 1: Find bridge polygons - // Current layer (i): Search for stBottomBridge polygons. const Surfaces &bot_surfs = m_layers[i]->m_regions[region_id]->slices.surfaces; - // Next layer (i+1): The layer where stInternal polygons may be re-classified. - Surfaces &top_surfs = m_layers[i + 1]->m_regions[region_id]->slices.surfaces; - - // Step 2: Collect the bridge polygons in the current layer region - Polygons polygons_bridge; for (const Surface &sbot : bot_surfs) { if (sbot.surface_type == stBottomBridge) { - polygons_append(polygons_bridge, to_polygons(sbot)); + polygons_append(bridge_polys_per_layer[i], to_polygons(sbot)); } } - + } + }); + + // Phase 2: write pass — each iteration mutates only m_layers[i+1]->slices.surfaces + // and reads its bridge polygons from the precomputed cache. Different iterations + // never share a write target, so there is no aliasing between worker threads. + tbb::parallel_for( tbb::blocked_range(0, last), [this, region_id, &bridge_polys_per_layer](const tbb::blocked_range &range) { + for (size_t i = range.begin(); i < range.end(); ++i) { + m_print->throw_if_canceled(); + + // Step 1 + 2: pull the precomputed bridge polygons for the current source layer. + const Polygons &polygons_bridge = bridge_polys_per_layer[i]; + // Step 3: Early termination of loop if no meaningfull bridge found // No bridge polygons found, continue to the next layer if (polygons_bridge.empty()) continue; // Step 4: Bottom bridge polygons found - scan and create layer+1 bridge polygon + Surfaces &top_surfs = m_layers[i + 1]->m_regions[region_id]->slices.surfaces; Surfaces new_surfaces; new_surfaces.reserve(top_surfs.size()); @@ -1740,7 +1756,50 @@ void PrintObject::detect_surfaces_type() // This would also skip generation of very short dual bridge layers (that are shorter than N perimeters), but these are unecessary as the bridge distance is // We could reduce this slightly to account for innacurcies in the clipping operation. // TODO: Monitor GitHub issues to check whether second bridge layers are ommited where they should be generated. If yes, reduce the filtering distance - + + // ORCA: Same-layer-top guard. + // + // Collect every stTop polygon present at layer i+1 (this region) and + // expand it by the same `offset_distance` used by the bridge filter + // above. Note that `offset_distance` here is the full wall-band + // distance for the region (external wall width + all configured + // internal wall widths, i.e. external + (wall_loops - 1) × internal), + // not a single perimeter width. Any candidate second-bridge area that + // falls under this expanded mask will be subtracted out below. + // + // Why this exists: detect_surfaces_type() classifies a layer's "top" + // surfaces as the geometry that is not covered by the layer above. Those + // stTop regions often have small stInternal islands embedded in them. + // The pre-existing wall-band filter (shrink_ex/offset_ex by + // offset_distance) is supposed to throw those tiny islands away, but + // its result is sensitive to Clipper's floating-point order of + // operations: on macOS ARM the filter eats them, on Windows/Intel it + // doesn't. Visible bridges then show up scattered across the printed + // top surface. + // + // Expanding stTop by offset_distance and subtracting it from the + // overlap makes the decision platform-independent: an island fully + // surrounded by stTop disappears regardless of which Clipper happens + // to be doing the math, while large stInternal regions away from the + // top survive intact (the expansion only nibbles the wall-band depth + // inward). + // + // Keep ExPolygons throughout so that any holes inside an stTop surface + // are offset with the correct sign (positive offset shrinks holes / + // grows the solid region). Using Polygons + expand() would treat the + // contour and each hole as independent polygons and could distort the + // mask. + ExPolygons same_layer_top_expanded; + { + ExPolygons same_layer_top; + for (const Surface &s : top_surfs) { + if (s.surface_type == stTop) + same_layer_top.push_back(s.expolygon); + } + if (! same_layer_top.empty()) + same_layer_top_expanded = offset_ex(same_layer_top, offset_distance); + } + // For each surface in the layer above for (Surface &s_up : top_surfs) { // Only reclassify stInternal polygons (i.e. what will become later solid and sparse infill) @@ -1755,7 +1814,13 @@ void PrintObject::detect_surfaces_type() // Filter out the resulting candidate bridges based on size. First perform a shrink operation... // ...followed by an expand operation to bring them back to the original size (positive offset) overlap = offset_ex(shrink_ex(overlap, offset_distance), offset_distance); - + + // ORCA: subtract the expanded same-layer stTop mask (see comment above + // the mask construction). Drops stInternal islands fully surrounded by + // stTop at i+1 without affecting bridges that lie away from the top. + if (! same_layer_top_expanded.empty() && ! overlap.empty()) + overlap = diff_ex(overlap, same_layer_top_expanded, ApplySafetyOffset::Yes); + // Now subtract the filtered new bridge layer from the remaining internal surfaces to create the new internal surface ExPolygons remainder = diff_ex(p_up, overlap, ApplySafetyOffset::Yes); @@ -2500,29 +2565,76 @@ void PrintObject::bridge_over_infill() backup_surfaces[lidx] = {}; } - tbb::parallel_for(tbb::blocked_range(0, this->layers().size()), [po = this, &backup_surfaces, - &surfaces_by_layer](tbb::blocked_range r) { + // ORCA: Two-phase split (collect-then-apply) to eliminate a data race in + // the original single-phase parallel_for, where iteration `lidx` read + // m_layers[lidx-1]->regions()->fill_surfaces (its lower_layer) to compute + // `lightning_fill`, while iteration `lidx-1`, on an adjacent TBB block, + // was concurrently std::move-ing / emplace_back-ing into that same + // SurfaceCollection. + // + // Semantic choice — read ORIGINAL surfaces in Phase 1: + // The lower_layer that iteration `lidx` looks at is the *current* layer + // for iteration `lidx-1`, which Phase 2 will modify. We therefore have to + // pick whether Phase 1 sees that layer's pre-modification or + // post-modification state. We deliberately use the original (pre-modification) + // state, for two reasons: + // 1. The gate is asking "does the layer below use lightning sparse + // infill?" — that's a property of the layer's configuration plus its + // original sparse-infill classification. Phase 2's edits only carve + // a small overhang-aligned slice of sparse into solid; they do not + // change whether the layer is using lightning. The realistic gate + // answer is the same either way. + // 2. Each layer's solid expansion is meant to give its OWN lower_layer + // something to anchor lightning lines onto. Cascading the gate + // across layers ("skip mine because the layer below already did + // some") would invert that intent and force a serial Phase 2. + // The original racy code didn't actually implement either choice + // consistently — it returned whichever bytes happened to be in the + // vector when the thread arrived. This split makes the behaviour + // defined, deterministic across runs and platforms, and equivalent to + // a clean sequential implementation that gathered all gates first and + // then applied modifications. + // + // Phase 1: read-only — for each layer, determine whether its lower_layer + // has any stInternal area inside a lightning-infill region. That's the + // sole purpose of `lightning_fill` in the original code: a gate. Capture + // it once into a per-layer bool, derived from the original (unmodified) + // surfaces, so the gate is platform-independent and order-independent. + std::vector needs_lightning_expansion(this->layers().size(), 0); + tbb::parallel_for(tbb::blocked_range(0, this->layers().size()), [po = this, &surfaces_by_layer, + &needs_lightning_expansion](tbb::blocked_range r) { PRINT_OBJECT_TIME_LIMIT_MILLIS(PRINT_OBJECT_TIME_LIMIT_DEFAULT); for (size_t lidx = r.begin(); lidx < r.end(); lidx++) { if (surfaces_by_layer.find(lidx) == surfaces_by_layer.end()) continue; - - Layer *layer = po->get_layer(lidx); + const Layer *layer = po->get_layer(lidx); const Layer *lower_layer = layer->lower_layer; if (lower_layer == nullptr) continue; - - Polygons lightning_fill; for (const LayerRegion *region : lower_layer->regions()) { - if (region->region().config().sparse_infill_pattern == ipLightning) { - Polygons lf = to_polygons(region->fill_surfaces.filter_by_type(stInternal)); - lightning_fill.insert(lightning_fill.end(), lf.begin(), lf.end()); + if (region->region().config().sparse_infill_pattern == ipLightning + && ! region->fill_surfaces.filter_by_type(stInternal).empty()) { + needs_lightning_expansion[lidx] = 1; + break; } } + } + }); - if (lightning_fill.empty()) + // Phase 2: write-only — each iteration mutates only m_layers[lidx]'s + // fill_surfaces and never reads any other layer's surfaces. Different + // iterations write to disjoint LayerRegion::fill_surfaces vectors, so + // there is no aliasing between worker threads. + tbb::parallel_for(tbb::blocked_range(0, this->layers().size()), [po = this, &backup_surfaces, + &surfaces_by_layer, + &needs_lightning_expansion](tbb::blocked_range r) { + PRINT_OBJECT_TIME_LIMIT_MILLIS(PRINT_OBJECT_TIME_LIMIT_DEFAULT); + for (size_t lidx = r.begin(); lidx < r.end(); lidx++) { + if (! needs_lightning_expansion[lidx]) continue; + Layer *layer = po->get_layer(lidx); + for (LayerRegion *region : layer->regions()) { backup_surfaces[lidx][region] = std::move( region->fill_surfaces); // Make backup copy by move!! so that pointers in candidate surfaces stay valid @@ -3232,53 +3344,75 @@ void PrintObject::bridge_over_infill() // === ORCA: Create a second internal bridge layer above the first bridge layer. ======================================================== // ====================================================================================================================================== if ( this->m_config.enable_extra_bridge_layer == eblApplyToAll || this->m_config.enable_extra_bridge_layer == eblInternalBridgeOnly) { - // Process layers in parallel up to second-to-last - tbb::parallel_for( tbb::blocked_range(0, this->layers().size() - 1), [this](const tbb::blocked_range& r) { - for (size_t lidx = r.begin(); lidx < r.end(); ++lidx) - { + // ORCA: Two-phase to eliminate the same data race as the external-bridge + // pass in detect_surfaces_type(). + // + // Phase 1: read-only — for each layer, collect its stInternalBridge polygons and + // the matching bridge angle into a per-layer cache. + struct LayerBridgeCache { + ExPolygons polys; + double angle = 0.0; + float offset_distance = 0.0f; + bool has_bridge = false; + }; + // Guard against size_t underflow when the object has 0 or 1 layers — there is + // no "layer above" to receive an extra bridge, so the whole pass is a no-op. + const size_t last = (this->layers().size() < 2) ? 0 : this->layers().size() - 1; + std::vector caches(this->layers().size()); + + tbb::parallel_for( tbb::blocked_range(0, last), [this, &caches](const tbb::blocked_range& r) { + for (size_t lidx = r.begin(); lidx < r.end(); ++lidx) { Layer* layer = this->get_layer(lidx); - - // (A) Gather internal bridging surfaces in the current layer - ExPolygons bridging_current_layer; - double bridging_angle_current = 0.0; - - bool found_any_bridge = false; - float offset_distance = 0.0f; - - // Pick a region from which to retrieve the flow width + LayerBridgeCache &cache = caches[lidx]; + if (!layer->regions().empty()) - offset_distance = layer->regions().front()->flow(frSolidInfill).scaled_width(); + cache.offset_distance = layer->regions().front()->flow(frSolidInfill).scaled_width(); for (LayerRegion *region : layer->regions()) { for (const Surface &surf : region->fill_surfaces.surfaces) { if (surf.surface_type == stInternalBridge) { - bridging_current_layer.push_back(surf.expolygon); - bridging_angle_current = surf.bridge_angle; // Store the last bridging angle of the current print object - found_any_bridge = true; + cache.polys.push_back(surf.expolygon); + cache.angle = surf.bridge_angle; // last bridge angle on this layer wins, matching prior behaviour + cache.has_bridge = true; } } } - - // If no bridging in this layer, continue with the next - if (!found_any_bridge || bridging_current_layer.empty()) + + if (!cache.has_bridge || cache.polys.empty()) { + cache.has_bridge = false; continue; - - // (B) Shrink-expand to remove trivial bridging areas - bridging_current_layer = offset_ex( shrink_ex(bridging_current_layer, offset_distance), offset_distance ); - - if (bridging_current_layer.empty()) - continue; // all bridging was trivial, continue with the next layer - + } + + // Shrink-expand to remove trivial bridging areas + cache.polys = offset_ex(shrink_ex(cache.polys, cache.offset_distance), cache.offset_distance); + if (cache.polys.empty()) + cache.has_bridge = false; + } + }); + + // Phase 2: write — each iteration mutates only m_layers[lidx+1]->fill_surfaces and + // pulls its bridge polygons from the precomputed cache. Different iterations never + // touch the same fill_surfaces vector, so there is no aliasing between workers. + tbb::parallel_for( tbb::blocked_range(0, last), [this, &caches](const tbb::blocked_range& r) { + for (size_t lidx = r.begin(); lidx < r.end(); ++lidx) + { + const LayerBridgeCache &cache = caches[lidx]; + + // If no bridging in this layer, continue with the next + if (!cache.has_bridge || cache.polys.empty()) + continue; + // (C) If there is a next layer, identify overlapping stInternal & stInternalSolid areas and convert the overlap to stSecondInternalBridge if (lidx + 1 < this->layers().size()) { Layer* next_layer = this->get_layer(lidx + 1); // second bridging angle is 90 degrees offset - double bridging_angle_second = bridging_angle_current + M_PI / 2.0; + double bridging_angle_second = cache.angle + M_PI / 2.0; // Union the bridging polygons - ExPolygons bridging_union = union_safety_offset_ex(bridging_current_layer); - + ExPolygons bridging_union = union_safety_offset_ex(cache.polys); + const float offset_distance = cache.offset_distance; + for (LayerRegion *next_region : next_layer->regions()) { Surfaces next_new_surfaces; Surfaces keep_surfaces; From 04aa26da9a2b2749ca43d4170a0eb8f068a13e57 Mon Sep 17 00:00:00 2001 From: Clifford Date: Wed, 27 May 2026 08:41:15 -0400 Subject: [PATCH 08/69] Fix nozzle diameter guards for printers that don't report nozzle info (#13255) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix nozzle diameter guards for printers that don't report nozzle info (#13236) PR #12814 changed DevNozzle::m_diameter default from 0.4f to 0.0f to mean "unknown" when firmware doesn't push nozzle info, and guarded two call sites in SelectMachine.cpp. PR #13330 introduced DevExtderSystem::NozzleDiameterMatchesOrUnknown() and adopted it in get_printer_preset / CalibUtils / CalibrationWizardPresetPage. A few reachable sites were still left out and now report "mismatch" / fail silently for every non-BBL printer (Klipper/Moonraker, RRF, Marlin, etc.) that doesn't push BBL nozzle data. The most visible symptom: the "Sync filament colors from AMS" button on Moonraker printers with AMS/AFC silently does nothing, because get_printer_preset() couldn't find a matching system preset (fixed in #13330, but the lookup-string sites below kept the bug visible elsewhere). Apply NozzleDiameterMatchesOrUnknown at the two remaining comparison sites: src/slic3r/GUI/Plater.cpp - file-load printer-mismatch dialog — don't prompt on every load - on_select_preset sync_extruder_list gate — skip 0.0 extruders For the three filament-lookup string-builder sites, fall back to the currently-selected printer preset's nozzle diameter so the dropdown isn't empty when firmware hasn't reported a diameter: src/slic3r/GUI/AMSMaterialsSetting.cpp (Popup + on_select_filament) src/slic3r/GUI/CaliHistoryDialog.cpp (get_all_filaments) Also remove the dead SyncAmsInfoDialog::is_same_nozzle_diameters method surfaced while auditing the affected sites — it was introduced 2024-12-30 in commit ad79ed6d93 ("ENH:add SyncAmsInfoDialog", cherry-picked from Bambu's internal branch) but a caller was never wired up on the OrcaSlicer side. Dead since introduction. Fixes #13236 Refs #12814 #13330 Co-authored-by: Claude Opus 4.7 Co-authored-by: SoftFever --- src/slic3r/GUI/AMSMaterialsSetting.cpp | 23 ++++++++++-- src/slic3r/GUI/CaliHistoryDialog.cpp | 9 ++++- src/slic3r/GUI/Plater.cpp | 6 +-- src/slic3r/GUI/SyncAmsInfoDialog.cpp | 52 -------------------------- src/slic3r/GUI/SyncAmsInfoDialog.hpp | 1 - 5 files changed, 31 insertions(+), 60 deletions(-) diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp index 19a32c2d21..4a429a4a5a 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.cpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp @@ -863,7 +863,15 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi std::set filament_id_set; PresetBundle * preset_bundle = wxGetApp().preset_bundle; std::ostringstream stream; - stream << std::fixed << std::setprecision(1) << obj->GetExtderSystem()->GetNozzleDiameter(0); + // Defensive: this dialog is opened only from StatusPanel (BBL-only) today, so the fallback fires + // only during the brief BBL startup window before firmware reports nozzle info. Without this, + // the "0.0" lookup string returns an empty set and the filament dropdown goes blank. + float machine_diameter = obj->GetExtderSystem()->GetNozzleDiameter(0); + if (machine_diameter == 0.0f && preset_bundle) { + const ConfigOption *opt = preset_bundle->printers.get_selected_preset().config.option("nozzle_diameter"); + if (opt) machine_diameter = static_cast(opt)->values[0]; + } + stream << std::fixed << std::setprecision(1) << machine_diameter; std::string nozzle_diameter_str = stream.str(); std::set printer_names = preset_bundle->get_printer_names_by_printer_type_and_nozzle(DevPrinterConfigUtil::get_printer_display_name(obj->printer_type), nozzle_diameter_str); @@ -1101,8 +1109,17 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt) PresetBundle* preset_bundle = wxGetApp().preset_bundle; if (preset_bundle) { std::ostringstream stream; - if (obj) - stream << std::fixed << std::setprecision(1) << obj->GetExtderSystem()->GetNozzleDiameter(0); + if (obj) { + // Defensive: this dialog is opened only from StatusPanel (BBL-only) today, so the fallback fires + // only during the brief BBL startup window before firmware reports nozzle info. Without this, + // the "0.0" lookup string returns an empty set and filament lookup yields no results. + float machine_diameter = obj->GetExtderSystem()->GetNozzleDiameter(0); + if (machine_diameter == 0.0f) { + const ConfigOption *opt = preset_bundle->printers.get_selected_preset().config.option("nozzle_diameter"); + if (opt) machine_diameter = static_cast(opt)->values[0]; + } + stream << std::fixed << std::setprecision(1) << machine_diameter; + } std::string nozzle_diameter_str = stream.str(); std::set printer_names = preset_bundle->get_printer_names_by_printer_type_and_nozzle(DevPrinterConfigUtil::get_printer_display_name(obj->printer_type), nozzle_diameter_str); diff --git a/src/slic3r/GUI/CaliHistoryDialog.cpp b/src/slic3r/GUI/CaliHistoryDialog.cpp index 1dee391ae1..a485aaeb52 100644 --- a/src/slic3r/GUI/CaliHistoryDialog.cpp +++ b/src/slic3r/GUI/CaliHistoryDialog.cpp @@ -644,7 +644,14 @@ wxArrayString NewCalibrationHistoryDialog::get_all_filaments(const MachineObject std::set filament_id_set; std::set printer_names; std::ostringstream stream; - stream << std::fixed << std::setprecision(1) << obj->GetExtderSystem()->GetNozzleDiameter(0); + // If the machine didn't report a nozzle diameter (0.0 = unknown), fall back to the currently + // selected printer preset so the filament list isn't empty. + float machine_diameter = obj->GetExtderSystem()->GetNozzleDiameter(0); + if (machine_diameter == 0.0f && preset_bundle) { + const ConfigOption *opt = preset_bundle->printers.get_selected_preset().config.option("nozzle_diameter"); + if (opt) machine_diameter = static_cast(opt)->values[0]; + } + stream << std::fixed << std::setprecision(1) << machine_diameter; std::string nozzle_diameter_str = stream.str(); for (auto printer_it = preset_bundle->printers.begin(); printer_it != preset_bundle->printers.end(); printer_it++) { diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index a015c8624e..00c2ed65ff 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -6850,12 +6850,12 @@ std::vector Plater::priv::load_files(const std::vector& input_ double preset_nozzle_diameter = 0.4; const ConfigOption *opt = printer_preset.config.option("nozzle_diameter"); if (opt) preset_nozzle_diameter = static_cast(opt)->values[0]; - float machine_nozzle_diameter = obj->GetExtderSystem()->GetNozzleDiameter(0); std::string machine_type = obj->printer_type; if (obj->is_support_upgrade_kit && obj->installed_upgrade_kit) machine_type = "C12"; - if (printer_preset.get_current_printer_type(preset_bundle) != machine_type || !is_approx((float) preset_nozzle_diameter, machine_nozzle_diameter)) { + bool nozzle_mismatch = !obj->GetExtderSystem()->NozzleDiameterMatchesOrUnknown(0, (float) preset_nozzle_diameter); + if (printer_preset.get_current_printer_type(preset_bundle) != machine_type || nozzle_mismatch) { Preset *machine_preset = get_printer_preset(obj); if (machine_preset != nullptr) { std::string printer_model = machine_preset->config.option("printer_model")->value; @@ -9566,7 +9566,7 @@ void Plater::priv::on_select_preset(wxCommandEvent &evt) const auto& extruders = obj->GetExtderSystem()->GetExtruders(); for (const DevExtder &extruder : extruders) { - if (!is_approx(extruder.GetNozzleDiameter(), float(preset_nozzle_diameter))) { + if (!obj->GetExtderSystem()->NozzleDiameterMatchesOrUnknown(extruder.GetExtId(), float(preset_nozzle_diameter))) { same_nozzle_diameter = false; } } diff --git a/src/slic3r/GUI/SyncAmsInfoDialog.cpp b/src/slic3r/GUI/SyncAmsInfoDialog.cpp index ca373d4e16..582c220c2f 100644 --- a/src/slic3r/GUI/SyncAmsInfoDialog.cpp +++ b/src/slic3r/GUI/SyncAmsInfoDialog.cpp @@ -1912,58 +1912,6 @@ bool SyncAmsInfoDialog::is_blocking_printing(MachineObject *obj_) return false; } -bool SyncAmsInfoDialog::is_same_nozzle_diameters(NozzleType &tag_nozzle_type, float &nozzle_diameter) -{ - bool is_same_nozzle_diameters = true; - - float preset_nozzle_diameters; - std::string preset_nozzle_type; - - DeviceManager *dev = Slic3r::GUI::wxGetApp().getDeviceManager(); - if (!dev) return true; - - MachineObject *obj_ = dev->get_selected_machine(); - if (obj_ == nullptr) return true; - - try { - PresetBundle *preset_bundle = wxGetApp().preset_bundle; - auto opt_nozzle_diameters = preset_bundle->printers.get_edited_preset().config.option("nozzle_diameter"); - - const ConfigOptionEnumsGenericNullable *nozzle_type = preset_bundle->printers.get_edited_preset().config.option("nozzle_type"); - std::vector preset_nozzle_types(nozzle_type->size()); - for (size_t idx = 0; idx < nozzle_type->size(); ++idx) preset_nozzle_types[idx] = NozzleTypeEumnToStr[NozzleType(nozzle_type->values[idx])]; - - std::vector machine_nozzle_types(obj_->GetExtderSystem()->GetTotalExtderCount()); - for (size_t idx = 0; idx < obj_->GetExtderSystem()->GetTotalExtderCount(); ++idx) machine_nozzle_types[idx] = obj_->GetExtderSystem()->GetNozzleType(idx); - - auto used_filaments = wxGetApp().plater()->get_partplate_list().get_curr_plate()->get_used_filaments(); // 1 based - auto filament_maps = wxGetApp().plater()->get_partplate_list().get_curr_plate()->get_real_filament_maps(preset_bundle->project_config); // 1 based - - std::vector used_extruders; // 0 based - for (auto f : used_filaments) { - int filament_extruder = filament_maps[f - 1] - 1; - if (std::find(used_extruders.begin(), used_extruders.end(), filament_extruder) == used_extruders.end()) used_extruders.emplace_back(filament_extruder); - } - std::sort(used_extruders.begin(), used_extruders.end()); - - // TODO [tao wang] : add idx mapping - tag_nozzle_type = obj_->GetExtderSystem()->GetNozzleType(0); - - if (opt_nozzle_diameters != nullptr) { - for (auto i = 0; i < used_extruders.size(); i++) { - auto extruder = used_extruders[i]; - preset_nozzle_diameters = float(opt_nozzle_diameters->get_at(extruder)); - if (preset_nozzle_diameters != obj_->GetExtderSystem()->GetNozzleDiameter(0)) { is_same_nozzle_diameters = false; } - } - } - - } catch (...) {} - - nozzle_diameter = preset_nozzle_diameters; - - return is_same_nozzle_diameters; -} - bool SyncAmsInfoDialog::is_same_nozzle_type(std::string &filament_type, NozzleType &tag_nozzle_type) { bool is_same_nozzle_type = true; diff --git a/src/slic3r/GUI/SyncAmsInfoDialog.hpp b/src/slic3r/GUI/SyncAmsInfoDialog.hpp index 061e0e777f..6cacff0af1 100644 --- a/src/slic3r/GUI/SyncAmsInfoDialog.hpp +++ b/src/slic3r/GUI/SyncAmsInfoDialog.hpp @@ -203,7 +203,6 @@ public: void update_timelapse_enable_status(); bool is_same_printer_model(); bool is_blocking_printing(MachineObject *obj_); - bool is_same_nozzle_diameters(NozzleType &tag_nozzle_type, float &nozzle_diameter); bool is_same_nozzle_type(std::string &filament_type, NozzleType &tag_nozzle_type); bool is_timeout(); int update_print_required_data(Slic3r::DynamicPrintConfig config, Slic3r::Model model, Slic3r::PlateDataPtrs plate_data_list, std::string file_name, std::string file_path); From 3a53d3c85b140d3c5385a02f9bffc4ed9e637b9e Mon Sep 17 00:00:00 2001 From: SoftFever Date: Wed, 27 May 2026 20:42:56 +0800 Subject: [PATCH 09/69] Fix nozzle diameter mismatch error in manual calibration (#13882) --- src/slic3r/GUI/CalibrationWizard.cpp | 3 +++ src/slic3r/Utils/CalibUtils.hpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/CalibrationWizard.cpp b/src/slic3r/GUI/CalibrationWizard.cpp index c61beb3304..ab5b920fb6 100644 --- a/src/slic3r/GUI/CalibrationWizard.cpp +++ b/src/slic3r/GUI/CalibrationWizard.cpp @@ -761,6 +761,7 @@ void PressureAdvanceWizard::on_cali_start() calib_info.extruder_id = preset_page->get_extruder_id(calib_info.ams_id); calib_info.extruder_type = preset_page->get_extruder_type(calib_info.extruder_id); calib_info.nozzle_volume_type = preset_page->get_nozzle_volume_type(calib_info.extruder_id); + calib_info.nozzle_diameter = preset_page->get_nozzle_diameter(calib_info.extruder_id); calib_info.select_ams = std::to_string(selected_tray_id); Preset *preset = selected_filaments.begin()->second; Preset * temp_filament_preset = new Preset(preset->type, preset->name + "_temp"); @@ -1293,6 +1294,7 @@ void FlowRateWizard::on_cali_start(CaliPresetStage stage, float cali_value, Flow calib_info.extruder_id = preset_page->get_extruder_id(calib_info.ams_id); calib_info.extruder_type = preset_page->get_extruder_type(calib_info.extruder_id); calib_info.nozzle_volume_type = preset_page->get_nozzle_volume_type(calib_info.extruder_id); + calib_info.nozzle_diameter = preset_page->get_nozzle_diameter(calib_info.extruder_id); Preset* preset = selected_filaments.begin()->second; temp_filament_preset = new Preset(preset->type, preset->name + "_temp"); temp_filament_preset->config = preset->config; @@ -1708,6 +1710,7 @@ void MaxVolumetricSpeedWizard::on_cali_start() calib_info.extruder_id = preset_page->get_extruder_id(calib_info.ams_id); calib_info.extruder_type = preset_page->get_extruder_type(calib_info.extruder_id); calib_info.nozzle_volume_type = preset_page->get_nozzle_volume_type(calib_info.extruder_id); + calib_info.nozzle_diameter = preset_page->get_nozzle_diameter(calib_info.extruder_id); calib_info.filament_prest = selected_filaments.begin()->second; std::map filament_list = preset_page->get_filament_ams_list(); calib_info.filament_color = filament_list[selected_filaments.begin()->first].opt_string("filament_colour", 0u); diff --git a/src/slic3r/Utils/CalibUtils.hpp b/src/slic3r/Utils/CalibUtils.hpp index e59bbf68ec..b9375b7286 100644 --- a/src/slic3r/Utils/CalibUtils.hpp +++ b/src/slic3r/Utils/CalibUtils.hpp @@ -20,7 +20,7 @@ public: int extruder_id = 0; int ams_id = 0; int slot_id = 0; - float nozzle_diameter; + float nozzle_diameter = 0.0f; ExtruderType extruder_type{ExtruderType::etDirectDrive}; NozzleVolumeType nozzle_volume_type; Calib_Params params; From 4f162b90584c0b98ae7d31123ba65c6961c2e39f Mon Sep 17 00:00:00 2001 From: Frenshape <144313736+frenshape@users.noreply.github.com> Date: Wed, 27 May 2026 07:07:15 -0700 Subject: [PATCH 10/69] Add Point3 return type getters for first and last point to ExtrusionEntity (#13855) Fix compile error in Debug mode. Adds getters for Point3 types in ExtrusionEntity ZAA changed ExtrusionPath::polyline from Polyline to Polyline3, preserving the existing interfaces by converting first_point and last_point to return a Point copy constructed from the underlying Point3 type. ExtrusionLoop::validate function was not updated and is broken in debug configurations as it's currently comparing Point to Point3 This change promotes ExtrusionPath::first_point3/last_point3 to the ExtrusionEntity base class as a pure virtual function, implements them on derived classes, and fixes ExtrusionLoop::validate --- src/libslic3r/ExtrusionEntity.hpp | 13 ++++++++++--- src/libslic3r/ExtrusionEntityCollection.hpp | 3 +++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/ExtrusionEntity.hpp b/src/libslic3r/ExtrusionEntity.hpp index b8251bf3d0..180312aa6d 100644 --- a/src/libslic3r/ExtrusionEntity.hpp +++ b/src/libslic3r/ExtrusionEntity.hpp @@ -118,6 +118,9 @@ public: virtual void reverse() = 0; virtual Point first_point() const = 0; virtual Point last_point() const = 0; + virtual const Point3& first_point3() const = 0; + virtual const Point3& last_point3() const = 0; + // Produce a list of 2D polygons covered by the extruded paths, offsetted by the extrusion width. // Increase the offset by scaled_epsilon to achieve an overlap, so a union will produce no gaps. virtual void polygons_covered_by_width(Polygons &out, const float scaled_epsilon) const = 0; @@ -253,9 +256,9 @@ public: ExtrusionEntity* clone_move() override { return new ExtrusionPath(std::move(*this)); } void reverse() override { this->polyline.reverse(); } Point first_point() const override { return this->polyline.points.front().to_point(); } - Point3 first_point3() const { return this->polyline.points.front(); } + const Point3& first_point3() const override { return this->polyline.points.front(); } Point last_point() const override { return this->polyline.points.back().to_point(); } - Point3 last_point3() const { return this->polyline.points.back(); } + const Point3& last_point3() const override { return this->polyline.points.back(); } size_t size() const { return this->polyline.size(); } bool empty() const { return this->polyline.empty(); } bool is_closed() const { return ! this->empty() && this->polyline.points.front() == this->polyline.points.back(); } @@ -403,7 +406,9 @@ public: ExtrusionEntity* clone_move() override { return new ExtrusionMultiPath(std::move(*this)); } void reverse() override; Point first_point() const override { return this->paths.front().polyline.points.front().to_point(); } + const Point3& first_point3() const override { return this->paths.front().polyline.points.front(); } Point last_point() const override { return this->paths.back().polyline.points.back().to_point(); } + const Point3& last_point3() const override { return this->paths.back().polyline.points.back(); } size_t size() const { return this->paths.size(); } bool empty() const { return this->paths.empty(); } double length() const override; @@ -459,7 +464,9 @@ public: bool is_counter_clockwise() { return this->polygon().is_counter_clockwise(); } void reverse() override; Point first_point() const override { return this->paths.front().polyline.points.front().to_point(); } + const Point3& first_point3() const override { return this->paths.front().polyline.points.front(); } Point last_point() const override { assert(this->first_point() == this->paths.back().polyline.points.back().to_point()); return this->first_point(); } + const Point3& last_point3() const override { assert(this->first_point3() == this->paths.back().polyline.points.back()); return this->first_point3(); } Polygon polygon() const; double length() const override; bool split_at_vertex(const Point &point, const double scaled_epsilon = scaled(0.001)); @@ -510,7 +517,7 @@ public: #ifndef NDEBUG bool validate() const { - assert(this->first_point() == this->paths.back().polyline.points.back()); + assert(this->first_point3() == this->paths.back().polyline.points.back()); for (size_t i = 1; i < paths.size(); ++ i) assert(this->paths[i - 1].polyline.points.back() == this->paths[i].polyline.points.front()); return true; diff --git a/src/libslic3r/ExtrusionEntityCollection.hpp b/src/libslic3r/ExtrusionEntityCollection.hpp index 35c9e24743..13727869fe 100644 --- a/src/libslic3r/ExtrusionEntityCollection.hpp +++ b/src/libslic3r/ExtrusionEntityCollection.hpp @@ -119,7 +119,10 @@ public: { return this->no_sort ? *this : chained_path_from(this->entities, start_near, role); } void reverse() override; Point first_point() const override { return this->entities.front()->first_point(); } + const Point3& first_point3() const override { return this->entities.front()->first_point3(); } Point last_point() const override { return this->entities.back()->last_point(); } + const Point3& last_point3() const override { return this->entities.back()->last_point3(); } + // Produce a list of 2D polygons covered by the extruded paths, offsetted by the extrusion width. // Increase the offset by scaled_epsilon to achieve an overlap, so a union will produce no gaps. void polygons_covered_by_width(Polygons &out, const float scaled_epsilon) const override; From b230a97a505f189e3505d8febc18eb5ceb9afef0 Mon Sep 17 00:00:00 2001 From: Kuzuri <39786901+KuzuriAo@users.noreply.github.com> Date: Wed, 27 May 2026 10:29:40 -0400 Subject: [PATCH 11/69] Fix Snapmaker U1 "Print by Object" collisions (#13854) Update Snapmaker U1 (0.4 nozzle).json Updated Snapmaker U1 0.4 nozzle "change_filament_gcode" and "machine_end_gcode" to fix the issue of collisions when using "Print by Object" --- .../profiles/Snapmaker/machine/Snapmaker U1 (0.4 nozzle).json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4 nozzle).json index 1ff01d474e..dce8a24be3 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4 nozzle).json @@ -8,7 +8,7 @@ "printer_model": "Snapmaker U1", "printer_variant": "0.4", "auxiliary_fan": "1", - "change_filament_gcode": ";===== date: 20251213=====================\n; Change Tool[previous_extruder] -> Tool[next_extruder] (layer [layer_num])\n{\nlocal max_speed_toolchange = 350.0;\nlocal wait_for_extruder_temp = true;\nposition[2] = position[2] + 2.0;\nlocal speed_toolchange = max_speed_toolchange;\nif travel_speed < max_speed_toolchange then\n speed_toolchange = travel_speed;\nendif\n\"G91\nG1 Z1.5 F1800\nG90\n\";\n\"G1 F\" + (speed_toolchange * 60) + \"\n\";\nif wait_for_extruder_temp and not((layer_num < 0) and (next_extruder == initial_tool)) then\n \"\n\";\n \"; \" + layer_num + \"\n\";\n if layer_num == 0 then\n \"M109 S\" + first_layer_temperature[next_extruder] + \" T\" + next_extruder + \"\n\";\n else\n \"M109 S\" + temperature[next_extruder] + \" T\" + next_extruder + \"\n\";\n endif\nendif\n\"M400\" + \"\n\";\n\"T\" + next_extruder + \"\n\";\nif filament_type[next_extruder] == \"PVA\" then\n\"SET_VELOCITY_LIMIT ACCEL=3000\n\";\nelse\nendif\nif previous_extruder != next_extruder and initial_extruder != next_extruder then\n\"SM_PRINT_PREEXTRUDE_FILAMENT INDEX=\" + next_extruder + \"\n\";\nendif\n\"G90\n\";\n}\n", + "change_filament_gcode": ";===== date: 20260525 =====================\n; Change Tool[previous_extruder] -> Tool[next_extruder] (layer [layer_num] ; max_layer_z [max_layer_z] ; max_print_height [max_print_height])\n{\nlocal move_z = max_print_height;\nlocal max_speed_toolchange = 350.0;\nlocal wait_for_extruder_temp = true;\nposition[2] = position[2] + 2.0;\nlocal speed_toolchange = max_speed_toolchange;\nif travel_speed < max_speed_toolchange then\n speed_toolchange = travel_speed;\nendif\n\nif max_layer_z < (max_print_height - 1) then\n move_z = z_offset + min(max_layer_z + 2, max_print_height);\nendif\n\n\"G91\nG1 Z\" + move_z + \" F1800 ; Move nozzle just above tallest printed object\nG90\n\";\n\"G1 F\" + (speed_toolchange * 60) + \"\n\";\nif wait_for_extruder_temp and not((layer_num < 0) and (next_extruder == initial_tool)) then\n \"\n\";\n \"; \" + layer_num + \"\n\";\n if layer_num == 0 then\n \"M109 S\" + first_layer_temperature[next_extruder] + \" T\" + next_extruder + \"\n\";\n else\n \"M109 S\" + temperature[next_extruder] + \" T\" + next_extruder + \"\n\";\n endif\nendif\n\"M400\" + \"\n\";\n\"T\" + next_extruder + \"\n\";\nif filament_type[next_extruder] == \"PVA\" then\n\"SET_VELOCITY_LIMIT ACCEL=3000\n\";\nelse\nendif\nif previous_extruder != next_extruder and initial_extruder != next_extruder then\n\"SM_PRINT_PREEXTRUDE_FILAMENT INDEX=\" + next_extruder + \"\n\";\nendif\n\"G90\n\";\n}\n", "extruder_colour": [ "#FCE94F", "#FCE94F", @@ -28,7 +28,7 @@ "0", "0" ], - "machine_end_gcode": " PRINT_END\nTIMELAPSE_STOP", + "machine_end_gcode": ";===== date: 20260525 =====================\n; (layer [layer_num] ; max_layer_z [max_layer_z])\n{\nlocal move_z = max_print_height;\n\nif max_layer_z < (max_print_height - 1) then\n move_z = z_offset + min(max_layer_z + 2, max_print_height);\nendif\n\n\"G91\nG1 Z\" + move_z + \" F1800 ; Move nozzle just above tallest printed object\nG90\n; Triggering PBO Z Movement of: \" + move_z + \"\nPRINT_END\nTIMELAPSE_STOP\n\";\n}\n", "machine_max_acceleration_extruding": [ "25000", "25000" From 5b071d50131e6989d609693906115ecb259dfb4b Mon Sep 17 00:00:00 2001 From: wujie Date: Wed, 27 May 2026 22:58:39 +0800 Subject: [PATCH 12/69] Sync Elegoo profiles (#13790) * Sync Elegoo profiles from ElegooSlicer Update vendor Elegoo.json, filament/machine/process trees, and OrcaFilamentLibrary Elegoo entries. Align machine default material names with existing filament preset names. * feat: expose filament_name for G-code export filename format Derive from filament_settings_id for the first active extruder and strip the suffix after @, matching ElegooSlicer so filename_format can use {filament_name}. * chore: reorder Elegoo entries in OrcaFilamentLibrary Group Elegoo @base profiles and bump library version to 02.03.02.62. * sync OrcaFilamentLibrary.json with Elegoo filament profiles * fix: clean up Elegoo process renamed_from for profile validation Add single renamed_from only where preset names changed from legacy Orca names; remove duplicate Rapid @System library entries that conflicted with ECC2 vendor presets. * fix(profiles): add missing Elegoo renamed_from for profile validation CI custom-preset tests still inherit legacy Orca preset names that no longer exist after the Elegoo bundle update. Add renamed_from on process, Neptune 4 machines, OrcaFilamentLibrary filaments, and Giga profiles so inherits resolve again, without changing print parameters. --- resources/profiles/Elegoo.json | 3236 ++++++++++------- .../filament/BASE/Elegoo ABS @base.json | 23 + .../filament/BASE/Elegoo ASA @base.json | 17 + .../Elegoo PAHT @base.json} | 25 +- .../filament/BASE/Elegoo PC @base.json} | 12 +- .../Elegoo PETG @base.json} | 111 +- .../filament/BASE/Elegoo PLA @base.json} | 10 +- .../filament/BASE/Elegoo TPU @base.json} | 4 +- .../filament/BASE/Generic ABS @base.json | 17 + .../filament/BASE/Generic ASA @base.json | 17 + .../filament/BASE/Generic PA @base.json | 56 + .../filament/BASE/Generic PC @base.json | 17 + .../filament/BASE/Generic PET @base.json} | 91 +- .../filament/BASE/Generic PETG @base.json | 71 + .../filament/BASE/Generic PLA @base.json} | 20 +- .../Elegoo/filament/EC/Elegoo ABS @EC.json | 29 + .../Elegoo/filament/EC/Elegoo ASA @EC.json | 1 + .../filament/EC/Elegoo PAHT-CF @EC.json | 71 + .../Elegoo/filament/EC/Elegoo PC @EC.json | 56 + .../Elegoo/filament/EC/Elegoo PC-FR @EC.json | 41 + .../Elegoo/filament/EC/Elegoo PETG @EC.json | 29 + .../filament/EC/Elegoo PETG PRO @EC.json | 6 +- .../EC/Elegoo PETG Translucent @EC.json | 29 + .../filament/EC/Elegoo PETG-CF @EC.json | 44 + .../filament/EC/Elegoo PETG-GF @EC.json | 44 + .../Elegoo/filament/EC/Elegoo PLA @EC.json | 1 + .../filament/EC/Elegoo PLA Basic @EC.json | 35 + .../filament/EC/Elegoo PLA Galaxy @EC.json | 38 + .../filament/EC/Elegoo PLA Marble @EC.json | 38 + .../filament/EC/Elegoo PLA Matte @EC.json | 6 +- .../filament/EC/Elegoo PLA PRO @EC.json | 1 + .../filament/EC/Elegoo PLA Silk @EC.json | 12 +- .../filament/EC/Elegoo PLA Sparkle @EC.json | 38 + .../filament/EC/Elegoo PLA Wood @EC.json | 38 + .../Elegoo/filament/EC/Elegoo PLA+ @EC.json | 1 + .../filament/EC/Elegoo Rapid PETG @EC.json | 21 +- .../filament/EC/Elegoo Rapid PLA+ @EC.json | 12 +- .../filament/EC/Elegoo Rapid TPU 95A @EC.json | 30 + .../filament/EC/Elegoo TPU 95A @EC.json | 3 +- .../Elegoo/filament/ECC/Elegoo ABS @ECC.json | 29 + .../Elegoo/filament/ECC/Elegoo ASA @ECC.json | 1 + .../filament/ECC/Elegoo PAHT-CF @ECC.json | 71 + .../Elegoo/filament/ECC/Elegoo PC @ECC.json | 56 + .../filament/ECC/Elegoo PC-FR @ECC.json | 41 + .../Elegoo/filament/ECC/Elegoo PETG @ECC.json | 29 + .../filament/ECC/Elegoo PETG PRO @ECC.json | 6 +- .../ECC/Elegoo PETG Translucent @ECC.json | 29 + .../filament/ECC/Elegoo PETG-CF @ECC.json | 44 + .../filament/ECC/Elegoo PETG-GF @ECC.json | 44 + .../Elegoo/filament/ECC/Elegoo PLA @ECC.json | 1 + .../filament/ECC/Elegoo PLA Basic @ECC.json | 35 + .../filament/ECC/Elegoo PLA Galaxy @ECC.json | 38 + .../filament/ECC/Elegoo PLA Marble @ECC.json | 38 + .../filament/ECC/Elegoo PLA Matte @ECC.json | 6 +- .../filament/ECC/Elegoo PLA PRO @ECC.json | 1 + .../filament/ECC/Elegoo PLA Silk @ECC.json | 12 +- .../filament/ECC/Elegoo PLA Sparkle @ECC.json | 38 + .../filament/ECC/Elegoo PLA Wood @ECC.json | 38 + .../Elegoo/filament/ECC/Elegoo PLA+ @ECC.json | 1 + .../filament/ECC/Elegoo PLA-CF @ECC.json | 18 +- .../filament/ECC/Elegoo Rapid PETG @ECC.json | 21 +- .../filament/ECC/Elegoo Rapid PLA+ @ECC.json | 12 +- .../ECC/Elegoo Rapid TPU 95A @ECC.json | 30 + .../filament/ECC/Elegoo TPU 95A @ECC.json | 3 +- .../filament/ECC2/Elegoo ABS @ECC2.json | 6 +- .../filament/ECC2/Elegoo ASA @ECC2.json | 6 +- .../filament/ECC2/Elegoo ASA-CF @ECC2.json | 38 + .../filament/ECC2/Elegoo PAHT-CF @ECC2.json | 8 +- .../Elegoo/filament/ECC2/Elegoo PC @ECC2.json | 6 +- .../filament/ECC2/Elegoo PC-FR @ECC2.json | 6 +- .../filament/ECC2/Elegoo PET-CF @ECC2.json | 62 + .../filament/ECC2/Elegoo PETG @ECC2.json | 6 +- .../filament/ECC2/Elegoo PETG HF @ECC2.json | 47 + .../filament/ECC2/Elegoo PETG PRO @ECC2.json | 9 +- .../ECC2/Elegoo PETG Translucent @ECC2.json | 6 +- .../filament/ECC2/Elegoo PETG-CF @ECC2.json | 11 +- .../filament/ECC2/Elegoo PETG-GF @ECC2.json | 8 +- .../filament/ECC2/Elegoo PLA @ECC2.json | 6 +- .../filament/ECC2/Elegoo PLA Basic @ECC2.json | 6 +- .../ECC2/Elegoo PLA Galaxy @ECC2.json | 6 +- .../filament/ECC2/Elegoo PLA Glow @ECC2.json | 41 + .../ECC2/Elegoo PLA Marble @ECC2.json | 6 +- .../filament/ECC2/Elegoo PLA Matte @ECC2.json | 7 +- .../filament/ECC2/Elegoo PLA PRO @ECC2.json | 9 +- .../filament/ECC2/Elegoo PLA Silk @ECC2.json | 6 +- .../ECC2/Elegoo PLA Sparkle @ECC2.json | 9 +- .../ECC2/Elegoo PLA Translucent2 @ECC2.json | 44 + .../filament/ECC2/Elegoo PLA Wood @ECC2.json | 8 +- .../filament/ECC2/Elegoo PLA+ @ECC2.json | 6 +- .../filament/ECC2/Elegoo PLA-CF @ECC2.json | 8 +- .../ECC2/Elegoo Rapid PETG @ECC2.json | 9 +- .../ECC2/Elegoo Rapid PLA+ @ECC2.json | 6 +- .../ECC2/Elegoo Rapid TPU 95A @ECC2.json | 6 +- .../filament/ECC2/Elegoo TPU 95A @ECC2.json | 6 +- .../Elegoo/filament/ELEGOO/Elegoo ASA.json | 35 - .../filament/ELEGOO/Elegoo PETG PRO.json | 35 - .../filament/ELEGOO/Elegoo PLA Matte.json | 62 - .../filament/ELEGOO/Elegoo PLA PRO.json | 38 - .../filament/ELEGOO/Elegoo PLA Silk.json | 59 - .../Elegoo/filament/ELEGOO/Elegoo PLA+.json | 38 - .../Elegoo/filament/ELEGOO/Elegoo PLA-CF.json | 62 - .../Elegoo/filament/ELEGOO/Elegoo PLA.json | 38 - .../filament/ELEGOO/Elegoo Rapid PETG+.json | 36 - .../filament/ELEGOO/Elegoo Rapid PETG.json | 36 - .../filament/ELEGOO/Elegoo Rapid PLA+.json | 63 - .../ELEGOO/fdm_elegoo_filament_common.json | 160 - .../Elegoo ABS @0.2 nozzle.json | 3 - .../Elegoo ASA @0.2 nozzle.json | 3 - .../Elegoo PC @0.2 nozzle.json | 3 - .../Elegoo PC-FR @0.2 nozzle.json | 3 - .../Elegoo PETG @0.2 nozzle.json | 3 - .../Elegoo PETG PRO @0.2 nozzle.json | 7 +- .../Elegoo PETG Translucent @0.2 nozzle.json | 3 - .../Elegoo PLA @0.2 nozzle.json | 5 +- .../Elegoo PLA Basic @0.2 nozzle.json | 3 - .../Elegoo PLA Matte @0.2 nozzle.json | 8 +- .../Elegoo PLA PRO @0.2 nozzle.json | 3 - .../Elegoo PLA Silk @0.2 nozzle.json | 14 +- .../Elegoo PLA+ @0.2 nozzle.json | 3 - .../Elegoo Rapid PETG @0.2 nozzle.json | 20 +- .../Elegoo Rapid PLA+ @0.2 nozzle.json | 8 +- .../EN2SERIES/Elegoo ASA @EN2 Series.json | 34 + .../EN2SERIES/Elegoo PETG @EN2 Series.json | 43 + .../Elegoo PETG PRO @EN2 Series.json | 43 + .../Elegoo PETG Translucent @EN2 Series.json | 43 + .../EN2SERIES/Elegoo PETG-CF @EN2 Series.json | 58 + .../EN2SERIES/Elegoo PETG-GF @EN2 Series.json | 58 + .../EN2SERIES/Elegoo PLA @EN2 Series.json | 46 + .../Elegoo PLA Basic @EN2 Series.json | 49 + .../Elegoo PLA Galaxy @EN2 Series.json | 52 + .../Elegoo PLA Marble @EN2 Series.json | 52 + .../Elegoo PLA Matte @EN2 Series.json | 61 + .../EN2SERIES/Elegoo PLA PRO @EN2 Series.json | 46 + .../Elegoo PLA Silk @EN2 Series.json | 70 + .../Elegoo PLA Sparkle @EN2 Series.json | 52 + .../Elegoo PLA Wood @EN2 Series.json | 52 + .../EN2SERIES/Elegoo PLA+ @EN2 Series.json | 46 + .../EN2SERIES/Elegoo PLA-CF @EN2 Series.json | 76 + .../Elegoo Rapid PETG @EN2 Series.json | 47 + .../Elegoo Rapid PLA+ @EN2 Series.json | 71 + .../Elegoo Rapid TPU 95A @EN2 Series.json | 44 + .../EN3SERIES/Elegoo ASA @EN3 Series.json | 28 + .../EN3SERIES/Elegoo PETG @EN3 Series.json | 37 + .../Elegoo PETG PRO @EN3 Series.json | 40 + .../Elegoo PETG Translucent @EN3 Series.json | 37 + .../EN3SERIES/Elegoo PETG-CF @EN3 Series.json | 52 + .../EN3SERIES/Elegoo PETG-GF @EN3 Series.json | 52 + .../EN3SERIES/Elegoo PLA @EN3 Series.json | 40 + .../Elegoo PLA Basic @EN3 Series.json | 43 + .../Elegoo PLA Galaxy @EN3 Series.json | 46 + .../Elegoo PLA Marble @EN3 Series.json | 46 + .../Elegoo PLA Matte @EN3 Series.json | 55 + .../EN3SERIES/Elegoo PLA PRO @EN3 Series.json | 40 + .../Elegoo PLA Silk @EN3 Series.json | 64 + .../Elegoo PLA Sparkle @EN3 Series.json | 46 + .../Elegoo PLA Wood @EN3 Series.json | 46 + .../EN3SERIES/Elegoo PLA+ @EN3 Series.json | 40 + .../EN3SERIES/Elegoo PLA-CF @EN3 Series.json | 70 + .../Elegoo Rapid PETG @EN3 Series.json | 41 + .../Elegoo Rapid PLA+ @EN3 Series.json | 65 + .../Elegoo Rapid TPU 95A @EN3 Series.json | 38 + .../EN3SERIES/Elegoo TPU 95A @EN3 Series.json | 40 + .../EN4SERIES/Elegoo ASA @EN4 Series.json | 32 + .../EN4SERIES/Elegoo PETG @EN4 Series.json | 41 + .../Elegoo PETG PRO @EN4 Series.json | 26 + .../Elegoo PETG Translucent @EN4 Series.json | 41 + .../EN4SERIES/Elegoo PETG-CF @EN4 Series.json | 56 + .../EN4SERIES/Elegoo PETG-GF @EN4 Series.json | 56 + .../EN4SERIES/Elegoo PLA @EN4 Series.json | 35 + .../Elegoo PLA Basic @EN4 Series.json | 47 + .../Elegoo PLA Galaxy @EN4 Series.json | 50 + .../Elegoo PLA Marble @EN4 Series.json | 50 + .../Elegoo PLA Matte @EN4 Series.json | 53 + .../EN4SERIES/Elegoo PLA PRO @EN4 Series.json | 29 + .../Elegoo PLA Silk @EN4 Series.json | 59 + .../Elegoo PLA Sparkle @EN4 Series.json | 50 + .../Elegoo PLA Wood @EN4 Series.json | 50 + .../EN4SERIES/Elegoo PLA+ @EN4 Series.json | 35 + .../EN4SERIES/Elegoo PLA-CF @EN4 Series.json | 68 + .../Elegoo Rapid PETG @EN4 Series.json | 45 + .../Elegoo Rapid PLA+ @EN4 Series.json | 60 + .../Elegoo Rapid TPU 95A @EN4 Series.json | 42 + .../EN4SERIES/Elegoo TPU 95A @EN4 Series.json | 29 + .../EOSGIGA/Elegoo ASA @Elegoo Giga.json | 8 +- .../EOSGIGA/Elegoo PETG @Elegoo Giga.json | 30 + .../EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json | 8 +- .../Elegoo PETG Translucent @Elegoo Giga.json | 30 + .../EOSGIGA/Elegoo PETG-CF @Elegoo Giga.json | 45 + .../EOSGIGA/Elegoo PETG-GF @Elegoo Giga.json | 45 + .../EOSGIGA/Elegoo PLA @Elegoo Giga.json | 8 +- .../Elegoo PLA Basic @Elegoo Giga.json | 33 + .../Elegoo PLA Galaxy @Elegoo Giga.json | 36 + .../Elegoo PLA Marble @Elegoo Giga.json | 36 + .../Elegoo PLA Matte @Elegoo Giga.json | 8 +- .../Elegoo PLA Sparkle @Elegoo Giga.json | 36 + .../EOSGIGA/Elegoo PLA Wood @Elegoo Giga.json | 36 + .../Elegoo Rapid PETG @Elegoo Giga.json | 42 + .../Elegoo Rapid PLA+ @Elegoo Giga.json | 36 + .../Elegoo Rapid TPU 95A @Elegoo Giga.json | 30 + .../Generic/Generic ABS @Elegoo Centauri.json | 19 + .../filament/Generic/Generic ABS @Elegoo.json | 201 +- .../Generic ABS-CF @Elegoo Centauri.json | 43 + .../filament/Generic/Generic ASA @Elegoo.json | 202 +- .../Generic ASA-CF @Elegoo Centauri.json | 31 + .../filament/Generic/Generic PA @Elegoo.json | 78 + .../Generic/Generic PA6-CF @Elegoo.json | 84 + .../filament/Generic/Generic PC @Elegoo.json | 63 + .../Generic/Generic PC-CF @Elegoo.json | 84 + .../Generic/Generic PET @Elegoo Centauri.json | 61 + .../Generic PET-CF @Elegoo Centauri.json | 88 + .../Generic/Generic PETG @Elegoo.json | 192 +- .../Generic/Generic PETG PRO @Elegoo.json | 216 +- .../Generic PETG-CF @Elegoo Centauri.json | 88 + .../Generic/Generic PLA @Elegoo Centauri.json | 37 + .../filament/Generic/Generic PLA @Elegoo.json | 201 +- .../Generic/Generic PLA Matte @Elegoo.json | 203 +- .../Elegoo/filament/fdm_filament_abs.json | 99 +- .../Elegoo/filament/fdm_filament_asa.json | 7 +- .../Elegoo/filament/fdm_filament_common.json | 140 +- ...lament_asa.json => fdm_filament_hips.json} | 92 +- .../filament/fdm_filament_pa.json} | 122 +- .../Elegoo/filament/fdm_filament_pc.json | 85 + .../Elegoo/filament/fdm_filament_pet.json | 7 +- .../Elegoo/filament/fdm_filament_pla.json | 71 +- .../Elegoo/filament/fdm_filament_ppa.json | 88 + .../Elegoo/filament/fdm_filament_pps.json | 79 + .../Elegoo/filament/fdm_filament_pva.json | 97 + ...ilament_tpu.json => fdm_filament_tpu.json} | 9 +- .../EC/Elegoo Centauri 0.4 nozzle.json | 28 +- .../Elegoo/machine/EC/Elegoo Centauri.json | 2 +- .../Elegoo Centauri Carbon 0.4 nozzle.json | 29 +- .../machine/ECC/Elegoo Centauri Carbon.json | 2 +- .../Elegoo/machine/ECC/fdm_machine_ecc.json | 142 - .../machine/ECC/fdm_machine_ecc_common.json | 130 - .../Elegoo Centauri Carbon 2 0.4 nozzle.json | 24 +- .../ECC2/Elegoo Centauri Carbon 2.json | 2 +- .../EN2SERIES/Elegoo Neptune 0.4 nozzle.json | 103 +- .../EN2SERIES/Elegoo Neptune 0.6 nozzle.json | 29 + .../EN2SERIES/Elegoo Neptune 0.8 nozzle.json | 32 + .../Elegoo Neptune 2 0.4 nozzle.json | 59 +- .../Elegoo Neptune 2 0.6 nozzle.json | 29 + .../Elegoo Neptune 2 0.8 nozzle.json | 32 + .../machine/EN2SERIES/Elegoo Neptune 2.json | 6 +- .../Elegoo Neptune 2D 0.4 nozzle.json | 62 +- .../Elegoo Neptune 2D 0.6 nozzle.json | 29 + .../Elegoo Neptune 2D 0.8 nozzle.json | 32 + .../machine/EN2SERIES/Elegoo Neptune 2D.json | 6 +- .../Elegoo Neptune 2S 0.4 nozzle.json | 106 +- .../Elegoo Neptune 2S 0.6 nozzle.json | 29 + .../Elegoo Neptune 2S 0.8 nozzle.json | 32 + .../machine/EN2SERIES/Elegoo Neptune 2S.json | 6 +- .../Elegoo Neptune 3 0.4 nozzle.json | 106 +- .../Elegoo Neptune 3 0.6 nozzle.json | 29 + .../Elegoo Neptune 3 0.8 nozzle.json | 32 + .../machine/EN2SERIES/Elegoo Neptune 3.json | 6 +- .../Elegoo Neptune X 0.4 nozzle.json | 106 +- .../Elegoo Neptune X 0.6 nozzle.json | 29 + .../Elegoo Neptune X 0.8 nozzle.json | 32 + .../machine/EN2SERIES/Elegoo Neptune X.json | 6 +- .../machine/EN2SERIES/Elegoo Neptune.json | 6 +- .../Elegoo Neptune 3 Max 0.2 nozzle.json | 32 + .../Elegoo Neptune 3 Max 0.4 nozzle.json | 111 +- .../Elegoo Neptune 3 Max 0.6 nozzle.json | 32 + .../Elegoo Neptune 3 Max 0.8 nozzle.json | 35 + .../Elegoo Neptune 3 Max 1.0 nozzle.json | 35 + .../EN3SERIES/Elegoo Neptune 3 Max.json | 6 +- .../Elegoo Neptune 3 Plus 0.2 nozzle.json | 32 + .../Elegoo Neptune 3 Plus 0.4 nozzle.json | 110 +- .../Elegoo Neptune 3 Plus 0.6 nozzle.json | 32 + .../Elegoo Neptune 3 Plus 0.8 nozzle.json | 35 + .../Elegoo Neptune 3 Plus 1.0 nozzle.json | 35 + .../EN3SERIES/Elegoo Neptune 3 Plus.json | 6 +- .../Elegoo Neptune 3 Pro 0.2 nozzle.json | 32 + .../Elegoo Neptune 3 Pro 0.4 nozzle.json | 66 +- .../Elegoo Neptune 3 Pro 0.6 nozzle.json | 32 + .../Elegoo Neptune 3 Pro 0.8 nozzle.json | 35 + .../Elegoo Neptune 3 Pro 1.0 nozzle.json | 35 + .../EN3SERIES/Elegoo Neptune 3 Pro.json | 6 +- .../Elegoo Neptune 4 (0.2 nozzle).json | 60 - .../Elegoo Neptune 4 (0.4 nozzle).json | 60 - .../Elegoo Neptune 4 (0.6 nozzle).json | 60 - .../Elegoo Neptune 4 (0.8 nozzle).json | 60 - .../Elegoo Neptune 4 0.2 nozzle.json | 33 + .../Elegoo Neptune 4 0.4 nozzle.json | 119 + .../Elegoo Neptune 4 0.6 nozzle.json | 33 + .../Elegoo Neptune 4 0.8 nozzle.json | 36 + .../Elegoo Neptune 4 1.0 nozzle.json | 35 + .../Elegoo Neptune 4 Max (0.2 nozzle).json | 124 - .../Elegoo Neptune 4 Max (0.4 nozzle).json | 124 - .../Elegoo Neptune 4 Max (0.6 nozzle).json | 124 - .../Elegoo Neptune 4 Max (0.8 nozzle).json | 124 - .../Elegoo Neptune 4 Max 0.2 nozzle.json | 33 + .../Elegoo Neptune 4 Max 0.4 nozzle.json | 85 + .../Elegoo Neptune 4 Max 0.6 nozzle.json | 33 + .../Elegoo Neptune 4 Max 0.8 nozzle.json | 36 + .../Elegoo Neptune 4 Max 1.0 nozzle.json | 35 + .../EN4SERIES/Elegoo Neptune 4 Max.json | 6 +- .../Elegoo Neptune 4 Plus (0.2 nozzle).json | 169 - .../Elegoo Neptune 4 Plus (0.4 nozzle).json | 169 - .../Elegoo Neptune 4 Plus (0.6 nozzle).json | 169 - .../Elegoo Neptune 4 Plus (0.8 nozzle).json | 169 - .../Elegoo Neptune 4 Plus 0.2 nozzle.json | 33 + .../Elegoo Neptune 4 Plus 0.4 nozzle.json | 85 + .../Elegoo Neptune 4 Plus 0.6 nozzle.json | 33 + .../Elegoo Neptune 4 Plus 0.8 nozzle.json | 36 + .../Elegoo Neptune 4 Plus 1.0 nozzle.json | 35 + .../EN4SERIES/Elegoo Neptune 4 Plus.json | 6 +- .../Elegoo Neptune 4 Pro (0.2 nozzle).json | 60 - .../Elegoo Neptune 4 Pro (0.4 nozzle).json | 60 - .../Elegoo Neptune 4 Pro (0.6 nozzle).json | 60 - .../Elegoo Neptune 4 Pro (0.8 nozzle).json | 120 - .../Elegoo Neptune 4 Pro 0.2 nozzle.json | 33 + .../Elegoo Neptune 4 Pro 0.4 nozzle.json | 40 + .../Elegoo Neptune 4 Pro 0.6 nozzle.json | 33 + .../Elegoo Neptune 4 Pro 0.8 nozzle.json | 36 + .../Elegoo Neptune 4 Pro 1.0 nozzle.json | 35 + .../EN4SERIES/Elegoo Neptune 4 Pro.json | 6 +- .../machine/EN4SERIES/Elegoo Neptune 4.json | 10 +- .../EN4SERIES/fdm_neptune_4_common.json | 145 - .../Elegoo OrangeStorm Giga 0.4 nozzle.json | 29 +- .../Elegoo OrangeStorm Giga 0.6 nozzle.json | 3 +- .../Elegoo OrangeStorm Giga 0.8 nozzle.json | 3 +- .../Elegoo OrangeStorm Giga 1.0 nozzle.json | 3 +- .../EOSGIGA/Elegoo OrangeStorm Giga.json | 6 +- .../machine/fdm_elegoo_3dp_001_common.json | 1 + .../Elegoo/machine/fdm_elegoo_common.json | 139 +- .../Elegoo/machine/fdm_machine_common.json | 52 +- .../0.08mm Optimal @Elegoo C 0.2 nozzle.json | 9 +- .../0.10mm Standard @Elegoo C 0.2 nozzle.json | 6 +- .../EC/0.12mm Draft @Elegoo C 0.2 nozzle.json | 7 +- .../EC/0.12mm Fine @Elegoo C 0.4 nozzle.json | 7 +- ...14mm Extra Draft @Elegoo C 0.2 nozzle.json | 7 +- ....16mm Extra Fine @Elegoo C 0.8 nozzle.json | 7 +- .../0.16mm Optimal @Elegoo C 0.4 nozzle.json | 7 +- .../EC/0.18mm Fine @Elegoo C 0.6 nozzle.json | 7 +- .../0.20mm Standard @Elegoo C 0.4 nozzle.json | 6 +- .../0.20mm Strength @Elegoo C 0.4 nozzle.json | 8 +- .../EC/0.24mm Draft @Elegoo C 0.4 nozzle.json | 7 +- .../EC/0.24mm Fine @Elegoo C 0.8 nozzle.json | 7 +- .../0.24mm Optimal @Elegoo C 0.6 nozzle.json | 7 +- ...28mm Extra Draft @Elegoo C 0.4 nozzle.json | 7 +- .../0.30mm Standard @Elegoo C 0.6 nozzle.json | 6 +- .../0.30mm Strength @Elegoo C 0.6 nozzle.json | 7 +- .../0.32mm Optimal @Elegoo C 0.8 nozzle.json | 7 +- .../EC/0.36mm Draft @Elegoo C 0.6 nozzle.json | 7 +- .../0.40mm Standard @Elegoo C 0.8 nozzle.json | 6 +- ...42mm Extra Draft @Elegoo C 0.6 nozzle.json | 7 +- .../EC/0.48mm Draft @Elegoo C 0.8 nozzle.json | 7 +- .../0.08mm Optimal @Elegoo CC 0.2 nozzle.json | 9 +- ...0.10mm Standard @Elegoo CC 0.2 nozzle.json | 6 +- .../0.12mm Draft @Elegoo CC 0.2 nozzle.json | 7 +- .../0.12mm Fine @Elegoo CC 0.4 nozzle.json | 7 +- ...4mm Extra Draft @Elegoo CC 0.2 nozzle.json | 7 +- ...16mm Extra Fine @Elegoo CC 0.8 nozzle.json | 7 +- .../0.16mm Optimal @Elegoo CC 0.4 nozzle.json | 7 +- .../0.18mm Fine @Elegoo CC 0.6 nozzle.json | 7 +- ...0.20mm Standard @Elegoo CC 0.4 nozzle.json | 6 +- ...0.20mm Strength @Elegoo CC 0.4 nozzle.json | 8 +- .../0.24mm Draft @Elegoo CC 0.4 nozzle.json | 7 +- .../0.24mm Fine @Elegoo CC 0.8 nozzle.json | 7 +- .../0.24mm Optimal @Elegoo CC 0.6 nozzle.json | 7 +- ...8mm Extra Draft @Elegoo CC 0.4 nozzle.json | 7 +- ...0.30mm Standard @Elegoo CC 0.6 nozzle.json | 6 +- ...0.30mm Strength @Elegoo CC 0.6 nozzle.json | 7 +- .../0.32mm Optimal @Elegoo CC 0.8 nozzle.json | 7 +- .../0.36mm Draft @Elegoo CC 0.6 nozzle.json | 7 +- ...0.40mm Standard @Elegoo CC 0.8 nozzle.json | 6 +- ...2mm Extra Draft @Elegoo CC 0.6 nozzle.json | 7 +- .../0.48mm Draft @Elegoo CC 0.8 nozzle.json | 7 +- .../Elegoo/process/ECC/fdm_process_ecc.json | 93 - .../process/ECC/fdm_process_ecc_02010.json | 29 - .../process/ECC/fdm_process_ecc_04020.json | 18 - .../process/ECC/fdm_process_ecc_06030.json | 26 - .../process/ECC/fdm_process_ecc_08040.json | 27 - .../process/ECC/fdm_process_ecc_common.json | 86 - ...0.08mm Optimal @Elegoo CC2 0.2 nozzle.json | 9 +- ....10mm Standard @Elegoo CC2 0.2 nozzle.json | 5 +- .../0.12mm Draft @Elegoo CC2 0.2 nozzle.json | 7 +- .../0.12mm Fine @Elegoo CC2 0.4 nozzle.json | 10 +- ...mm Extra Draft @Elegoo CC2 0.2 nozzle.json | 7 +- ...6mm Extra Fine @Elegoo CC2 0.8 nozzle.json | 7 +- ...0.16mm Optimal @Elegoo CC2 0.4 nozzle.json | 7 +- .../0.18mm Fine @Elegoo CC2 0.6 nozzle.json | 7 +- ....20mm Standard @Elegoo CC2 0.4 nozzle.json | 19 +- ....20mm Strength @Elegoo CC2 0.4 nozzle.json | 16 +- .../0.24mm Draft @Elegoo CC2 0.4 nozzle.json | 7 +- .../0.24mm Fine @Elegoo CC2 0.8 nozzle.json | 7 +- ...0.24mm Optimal @Elegoo CC2 0.6 nozzle.json | 7 +- ...mm Extra Draft @Elegoo CC2 0.4 nozzle.json | 7 +- ....30mm Standard @Elegoo CC2 0.6 nozzle.json | 8 +- ....30mm Strength @Elegoo CC2 0.6 nozzle.json | 7 +- ...0.32mm Optimal @Elegoo CC2 0.8 nozzle.json | 7 +- .../0.36mm Draft @Elegoo CC2 0.6 nozzle.json | 7 +- ....40mm Standard @Elegoo CC2 0.8 nozzle.json | 10 +- ...mm Extra Draft @Elegoo CC2 0.6 nozzle.json | 7 +- .../0.48mm Draft @Elegoo CC2 0.8 nozzle.json | 7 +- .../0.08mm Extra Fine @Elegoo Neptune.json | 108 - .../0.08mm Extra Fine @Elegoo Neptune2.json | 108 - .../0.08mm Extra Fine @Elegoo Neptune2D.json | 108 - .../0.08mm Extra Fine @Elegoo Neptune2S.json | 108 - .../0.08mm Extra Fine @Elegoo Neptune3.json | 108 - .../0.08mm Extra Fine @Elegoo NeptuneX.json | 108 - ....12mm Fine @Elegoo Neptune 0.4 nozzle.json | 10 + .../0.12mm Fine @Elegoo Neptune.json | 108 - .../0.12mm Fine @Elegoo Neptune2.json | 108 - .../0.12mm Fine @Elegoo Neptune2D.json | 108 - .../0.12mm Fine @Elegoo Neptune2S.json | 108 - .../0.12mm Fine @Elegoo Neptune3.json | 108 - .../0.12mm Fine @Elegoo NeptuneX.json | 108 - ...mm Optimal @Elegoo Neptune 0.4 nozzle.json | 9 + .../0.16mm Optimal @Elegoo Neptune.json | 108 - .../0.16mm Optimal @Elegoo Neptune2.json | 108 - .../0.16mm Optimal @Elegoo Neptune2D.json | 108 - .../0.16mm Optimal @Elegoo Neptune2S.json | 108 - .../0.16mm Optimal @Elegoo Neptune3.json | 108 - .../0.16mm Optimal @Elegoo NeptuneX.json | 108 - ...m Standard @Elegoo Neptune 0.4 nozzle.json | 39 + .../0.20mm Standard @Elegoo Neptune.json | 108 - .../0.20mm Standard @Elegoo Neptune2.json | 108 - .../0.20mm Standard @Elegoo Neptune2D.json | 108 - .../0.20mm Standard @Elegoo Neptune2S.json | 108 - .../0.20mm Standard @Elegoo Neptune3.json | 108 - .../0.20mm Standard @Elegoo NeptuneX.json | 108 - ...m Strength @Elegoo Neptune 0.4 nozzle.json | 10 + ...24mm Draft @Elegoo Neptune 0.4 nozzle.json | 9 + .../0.24mm Draft @Elegoo Neptune.json | 108 - .../0.24mm Draft @Elegoo Neptune2.json | 108 - .../0.24mm Draft @Elegoo Neptune2D.json | 108 - .../0.24mm Draft @Elegoo Neptune2S.json | 108 - .../0.24mm Draft @Elegoo Neptune3.json | 108 - .../0.24mm Draft @Elegoo NeptuneX.json | 108 - ....24mm Fine @Elegoo Neptune 0.8 nozzle.json | 8 + ...mm Optimal @Elegoo Neptune 0.6 nozzle.json | 8 + ...xtra Draft @Elegoo Neptune 0.4 nozzle.json | 9 + .../0.28mm Extra Draft @Elegoo Neptune.json | 108 - .../0.28mm Extra Draft @Elegoo Neptune2.json | 108 - .../0.28mm Extra Draft @Elegoo Neptune2D.json | 108 - .../0.28mm Extra Draft @Elegoo Neptune2S.json | 108 - .../0.28mm Extra Draft @Elegoo Neptune3.json | 108 - .../0.28mm Extra Draft @Elegoo NeptuneX.json | 108 - ...m Standard @Elegoo Neptune 0.6 nozzle.json | 37 + ...mm Optimal @Elegoo Neptune 0.8 nozzle.json | 8 + ...36mm Draft @Elegoo Neptune 0.6 nozzle.json | 8 + ...m Standard @Elegoo Neptune 0.8 nozzle.json | 36 + ...xtra Draft @Elegoo Neptune 0.6 nozzle.json | 8 + ...0.08mm Extra Fine @Elegoo Neptune3Max.json | 108 - ....08mm Extra Fine @Elegoo Neptune3Plus.json | 108 - ...0.08mm Extra Fine @Elegoo Neptune3Pro.json | 108 - ...08mm Optimal @Elegoo N3Max 0.2 nozzle.json | 8 + ...8mm Optimal @Elegoo N3Plus 0.2 nozzle.json | 8 + ...08mm Optimal @Elegoo N3Pro 0.2 nozzle.json | 8 + ...0mm Standard @Elegoo N3Max 0.2 nozzle.json | 31 + ...mm Standard @Elegoo N3Plus 0.2 nozzle.json | 31 + ...0mm Standard @Elegoo N3Pro 0.2 nozzle.json | 31 + ...0.12mm Draft @Elegoo N3Max 0.2 nozzle.json | 8 + ....12mm Draft @Elegoo N3Plus 0.2 nozzle.json | 8 + ...0.12mm Draft @Elegoo N3Pro 0.2 nozzle.json | 8 + .../0.12mm Fine @Elegoo N3Max 0.4 nozzle.json | 9 + ...0.12mm Fine @Elegoo N3Plus 0.4 nozzle.json | 9 + .../0.12mm Fine @Elegoo N3Pro 0.4 nozzle.json | 9 + .../0.12mm Fine @Elegoo Neptune3Max.json | 108 - .../0.12mm Fine @Elegoo Neptune3Plus.json | 108 - .../0.12mm Fine @Elegoo Neptune3Pro.json | 108 - ...16mm Optimal @Elegoo N3Max 0.4 nozzle.json | 8 + ...6mm Optimal @Elegoo N3Plus 0.4 nozzle.json | 8 + ...16mm Optimal @Elegoo N3Pro 0.4 nozzle.json | 8 + .../0.16mm Optimal @Elegoo Neptune3Max.json | 108 - .../0.16mm Optimal @Elegoo Neptune3Plus.json | 108 - .../0.16mm Optimal @Elegoo Neptune3Pro.json | 108 - ...0mm Standard @Elegoo N3Max 0.4 nozzle.json | 31 + ...mm Standard @Elegoo N3Plus 0.4 nozzle.json | 31 + ...0mm Standard @Elegoo N3Pro 0.4 nozzle.json | 31 + .../0.20mm Standard @Elegoo Neptune3Max.json | 108 - .../0.20mm Standard @Elegoo Neptune3Plus.json | 108 - .../0.20mm Standard @Elegoo Neptune3Pro.json | 108 - ...0mm Strength @Elegoo N3Max 0.4 nozzle.json | 9 + ...mm Strength @Elegoo N3Plus 0.4 nozzle.json | 9 + ...0mm Strength @Elegoo N3Pro 0.4 nozzle.json | 9 + ...0.24mm Draft @Elegoo N3Max 0.4 nozzle.json | 8 + ....24mm Draft @Elegoo N3Plus 0.4 nozzle.json | 8 + ...0.24mm Draft @Elegoo N3Pro 0.4 nozzle.json | 8 + .../0.24mm Draft @Elegoo Neptune3Max.json | 108 - .../0.24mm Draft @Elegoo Neptune3Plus.json | 108 - .../0.24mm Draft @Elegoo Neptune3Pro.json | 108 - .../0.24mm Fine @Elegoo N3Max 0.8 nozzle.json | 8 + ...0.24mm Fine @Elegoo N3Plus 0.8 nozzle.json | 8 + .../0.24mm Fine @Elegoo N3Pro 0.8 nozzle.json | 8 + ...24mm Optimal @Elegoo N3Max 0.6 nozzle.json | 8 + ...4mm Optimal @Elegoo N3Plus 0.6 nozzle.json | 8 + ...24mm Optimal @Elegoo N3Pro 0.6 nozzle.json | 8 + ... Extra Draft @Elegoo N3Max 0.4 nozzle.json | 8 + ...Extra Draft @Elegoo N3Plus 0.4 nozzle.json | 8 + ... Extra Draft @Elegoo N3Pro 0.4 nozzle.json | 8 + ....28mm Extra Draft @Elegoo Neptune3Max.json | 108 - ...28mm Extra Draft @Elegoo Neptune3Plus.json | 108 - ....28mm Extra Draft @Elegoo Neptune3Pro.json | 108 - .../0.30mm Fine @Elegoo N3Max 1.0 nozzle.json | 8 + ...0.30mm Fine @Elegoo N3Plus 1.0 nozzle.json | 8 + .../0.30mm Fine @Elegoo N3Pro 1.0 nozzle.json | 8 + ...0mm Standard @Elegoo N3Max 0.6 nozzle.json | 30 + ...mm Standard @Elegoo N3Plus 0.6 nozzle.json | 30 + ...0mm Standard @Elegoo N3Pro 0.6 nozzle.json | 30 + ...32mm Optimal @Elegoo N3Max 0.8 nozzle.json | 8 + ...2mm Optimal @Elegoo N3Plus 0.8 nozzle.json | 8 + ...32mm Optimal @Elegoo N3Pro 0.8 nozzle.json | 8 + ...0.36mm Draft @Elegoo N3Max 0.6 nozzle.json | 8 + ....36mm Draft @Elegoo N3Plus 0.6 nozzle.json | 8 + ...0.36mm Draft @Elegoo N3Pro 0.6 nozzle.json | 8 + ...40mm Optimal @Elegoo N3Max 1.0 nozzle.json | 8 + ...0mm Optimal @Elegoo N3Plus 1.0 nozzle.json | 8 + ...40mm Optimal @Elegoo N3Pro 1.0 nozzle.json | 8 + ...0mm Standard @Elegoo N3Max 0.8 nozzle.json | 30 + ...mm Standard @Elegoo N3Plus 0.8 nozzle.json | 29 + ...0mm Standard @Elegoo N3Pro 0.8 nozzle.json | 29 + ... Extra Draft @Elegoo N3Max 0.6 nozzle.json | 8 + ...Extra Draft @Elegoo N3Plus 0.6 nozzle.json | 8 + ... Extra Draft @Elegoo N3Pro 0.6 nozzle.json | 8 + ...0.48mm Draft @Elegoo N3Max 0.8 nozzle.json | 8 + ....48mm Draft @Elegoo N3Plus 0.8 nozzle.json | 8 + ...0.48mm Draft @Elegoo N3Pro 0.8 nozzle.json | 8 + ...0mm Standard @Elegoo N3Max 1.0 nozzle.json | 30 + ...mm Standard @Elegoo N3Plus 1.0 nozzle.json | 30 + ...0mm Standard @Elegoo N3Pro 1.0 nozzle.json | 30 + ...0.60mm Draft @Elegoo N3Max 1.0 nozzle.json | 8 + ....60mm Draft @Elegoo N3Plus 1.0 nozzle.json | 8 + ...0.60mm Draft @Elegoo N3Pro 1.0 nozzle.json | 8 + ...ra Fine @Elegoo Neptune4 (0.2 nozzle).json | 89 - ...ra Fine @Elegoo Neptune4 (0.4 nozzle).json | 89 - ...ra Fine @Elegoo Neptune4 (0.6 nozzle).json | 89 - ...ra Fine @Elegoo Neptune4 (0.8 nozzle).json | 89 - ...ne @Elegoo Neptune4 Plus (0.2 nozzle).json | 26 - ...ne @Elegoo Neptune4 Plus (0.4 nozzle).json | 26 - ...ne @Elegoo Neptune4 Plus (0.6 nozzle).json | 26 - ...ne @Elegoo Neptune4 Plus (0.8 nozzle).json | 26 - ...Fine @Elegoo Neptune4Max (0.2 nozzle).json | 90 - ...Fine @Elegoo Neptune4Max (0.4 nozzle).json | 90 - ...Fine @Elegoo Neptune4Max (0.6 nozzle).json | 90 - ...Fine @Elegoo Neptune4Max (0.8 nozzle).json | 90 - ...Fine @Elegoo Neptune4Pro (0.2 nozzle).json | 89 - ...Fine @Elegoo Neptune4Pro (0.4 nozzle).json | 89 - ...Fine @Elegoo Neptune4Pro (0.6 nozzle).json | 89 - ...Fine @Elegoo Neptune4Pro (0.8 nozzle).json | 89 - .../0.08mm Optimal @Elegoo N4 0.2 nozzle.json | 9 + ...08mm Optimal @Elegoo N4Max 0.2 nozzle.json | 9 + ...8mm Optimal @Elegoo N4Plus 0.2 nozzle.json | 9 + ...08mm Optimal @Elegoo N4Pro 0.2 nozzle.json | 9 + ...0.10mm Standard @Elegoo N4 0.2 nozzle.json | 17 + ...0mm Standard @Elegoo N4Max 0.2 nozzle.json | 17 + ...mm Standard @Elegoo N4Plus 0.2 nozzle.json | 17 + ...0mm Standard @Elegoo N4Pro 0.2 nozzle.json | 17 + .../0.12mm Draft @Elegoo N4 0.2 nozzle.json | 9 + ...0.12mm Draft @Elegoo N4Max 0.2 nozzle.json | 9 + ....12mm Draft @Elegoo N4Plus 0.2 nozzle.json | 9 + ...0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json | 9 + .../0.12mm Fine @Elegoo N4 0.4 nozzle.json | 9 + .../0.12mm Fine @Elegoo N4Max 0.4 nozzle.json | 9 + ...0.12mm Fine @Elegoo N4Plus 0.4 nozzle.json | 9 + .../0.12mm Fine @Elegoo N4Pro 0.4 nozzle.json | 9 + ...mm Fine @Elegoo Neptune4 (0.2 nozzle).json | 89 - ...mm Fine @Elegoo Neptune4 (0.4 nozzle).json | 89 - ...mm Fine @Elegoo Neptune4 (0.6 nozzle).json | 89 - ...mm Fine @Elegoo Neptune4 (0.8 nozzle).json | 89 - ...ne @Elegoo Neptune4 Plus (0.2 nozzle).json | 26 - ...ne @Elegoo Neptune4 Plus (0.4 nozzle).json | 26 - ...ne @Elegoo Neptune4 Plus (0.6 nozzle).json | 26 - ...ne @Elegoo Neptune4 Plus (0.8 nozzle).json | 26 - ...Fine @Elegoo Neptune4Max (0.2 nozzle).json | 90 - ...Fine @Elegoo Neptune4Max (0.4 nozzle).json | 90 - ...Fine @Elegoo Neptune4Max (0.6 nozzle).json | 90 - ...Fine @Elegoo Neptune4Max (0.8 nozzle).json | 90 - ...Fine @Elegoo Neptune4Pro (0.2 nozzle).json | 89 - ...Fine @Elegoo Neptune4Pro (0.4 nozzle).json | 89 - ...Fine @Elegoo Neptune4Pro (0.6 nozzle).json | 89 - ...Fine @Elegoo Neptune4Pro (0.8 nozzle).json | 89 - .../0.16mm Optimal @Elegoo N4 0.4 nozzle.json | 8 + ...16mm Optimal @Elegoo N4Max 0.4 nozzle.json | 8 + ...6mm Optimal @Elegoo N4Plus 0.4 nozzle.json | 8 + ...16mm Optimal @Elegoo N4Pro 0.4 nozzle.json | 8 + ...Optimal @Elegoo Neptune4 (0.2 nozzle).json | 89 - ...Optimal @Elegoo Neptune4 (0.4 nozzle).json | 89 - ...Optimal @Elegoo Neptune4 (0.6 nozzle).json | 89 - ...Optimal @Elegoo Neptune4 (0.8 nozzle).json | 89 - ...al @Elegoo Neptune4 Plus (0.2 nozzle).json | 26 - ...al @Elegoo Neptune4 Plus (0.4 nozzle).json | 26 - ...al @Elegoo Neptune4 Plus (0.6 nozzle).json | 26 - ...al @Elegoo Neptune4 Plus (0.8 nozzle).json | 26 - ...imal @Elegoo Neptune4Max (0.2 nozzle).json | 90 - ...imal @Elegoo Neptune4Max (0.4 nozzle).json | 90 - ...imal @Elegoo Neptune4Max (0.6 nozzle).json | 90 - ...imal @Elegoo Neptune4Max (0.8 nozzle).json | 90 - ...imal @Elegoo Neptune4Pro (0.2 nozzle).json | 89 - ...imal @Elegoo Neptune4Pro (0.4 nozzle).json | 89 - ...imal @Elegoo Neptune4Pro (0.6 nozzle).json | 89 - ...imal @Elegoo Neptune4Pro (0.8 nozzle).json | 89 - ...0.20mm Standard @Elegoo N4 0.4 nozzle.json | 17 + ...0mm Standard @Elegoo N4Max 0.4 nozzle.json | 17 + ...mm Standard @Elegoo N4Plus 0.4 nozzle.json | 17 + ...0mm Standard @Elegoo N4Pro 0.4 nozzle.json | 17 + ...tandard @Elegoo Neptune4 (0.2 nozzle).json | 89 - ...tandard @Elegoo Neptune4 (0.4 nozzle).json | 89 - ...tandard @Elegoo Neptune4 (0.6 nozzle).json | 89 - ...tandard @Elegoo Neptune4 (0.8 nozzle).json | 89 - ...rd @Elegoo Neptune4 Plus (0.2 nozzle).json | 26 - ...rd @Elegoo Neptune4 Plus (0.4 nozzle).json | 26 - ...rd @Elegoo Neptune4 Plus (0.6 nozzle).json | 26 - ...rd @Elegoo Neptune4 Plus (0.8 nozzle).json | 26 - ...dard @Elegoo Neptune4Max (0.2 nozzle).json | 90 - ...dard @Elegoo Neptune4Max (0.4 nozzle).json | 90 - ...dard @Elegoo Neptune4Max (0.6 nozzle).json | 90 - ...dard @Elegoo Neptune4Max (0.8 nozzle).json | 90 - ...dard @Elegoo Neptune4Pro (0.2 nozzle).json | 89 - ...dard @Elegoo Neptune4Pro (0.4 nozzle).json | 89 - ...dard @Elegoo Neptune4Pro (0.6 nozzle).json | 89 - ...dard @Elegoo Neptune4Pro (0.8 nozzle).json | 89 - ...0.20mm Strength @Elegoo N4 0.4 nozzle.json | 9 + ...0mm Strength @Elegoo N4Max 0.4 nozzle.json | 9 + ...mm Strength @Elegoo N4Plus 0.4 nozzle.json | 9 + ...0mm Strength @Elegoo N4Pro 0.4 nozzle.json | 9 + .../0.24mm Draft @Elegoo N4 0.4 nozzle.json | 8 + ...0.24mm Draft @Elegoo N4Max 0.4 nozzle.json | 8 + ....24mm Draft @Elegoo N4Plus 0.4 nozzle.json | 8 + ...0.24mm Draft @Elegoo N4Pro 0.4 nozzle.json | 8 + ...m Draft @Elegoo Neptune4 (0.2 nozzle).json | 89 - ...m Draft @Elegoo Neptune4 (0.4 nozzle).json | 89 - ...m Draft @Elegoo Neptune4 (0.6 nozzle).json | 89 - ...m Draft @Elegoo Neptune4 (0.8 nozzle).json | 89 - ...ft @Elegoo Neptune4 Plus (0.2 nozzle).json | 26 - ...ft @Elegoo Neptune4 Plus (0.4 nozzle).json | 26 - ...ft @Elegoo Neptune4 Plus (0.6 nozzle).json | 26 - ...ft @Elegoo Neptune4 Plus (0.8 nozzle).json | 26 - ...raft @Elegoo Neptune4Max (0.2 nozzle).json | 90 - ...raft @Elegoo Neptune4Max (0.4 nozzle).json | 90 - ...raft @Elegoo Neptune4Max (0.6 nozzle).json | 90 - ...raft @Elegoo Neptune4Max (0.8 nozzle).json | 90 - ...raft @Elegoo Neptune4Pro (0.2 nozzle).json | 89 - ...raft @Elegoo Neptune4Pro (0.4 nozzle).json | 89 - ...raft @Elegoo Neptune4Pro (0.6 nozzle).json | 89 - ...raft @Elegoo Neptune4Pro (0.8 nozzle).json | 89 - .../0.24mm Fine @Elegoo N4 0.8 nozzle.json | 9 + .../0.24mm Fine @Elegoo N4Max 0.8 nozzle.json | 9 + ...0.24mm Fine @Elegoo N4Plus 0.8 nozzle.json | 9 + .../0.24mm Fine @Elegoo N4Pro 0.8 nozzle.json | 9 + .../0.24mm Optimal @Elegoo N4 0.6 nozzle.json | 9 + ...24mm Optimal @Elegoo N4Max 0.6 nozzle.json | 9 + ...4mm Optimal @Elegoo N4Plus 0.6 nozzle.json | 9 + ...24mm Optimal @Elegoo N4Pro 0.6 nozzle.json | 9 + ...8mm Extra Draft @Elegoo N4 0.4 nozzle.json | 8 + ... Extra Draft @Elegoo N4Max 0.4 nozzle.json | 8 + ...Extra Draft @Elegoo N4Plus 0.4 nozzle.json | 8 + ... Extra Draft @Elegoo N4Pro 0.4 nozzle.json | 8 + ...a Draft @Elegoo Neptune4 (0.2 nozzle).json | 89 - ...a Draft @Elegoo Neptune4 (0.4 nozzle).json | 89 - ...a Draft @Elegoo Neptune4 (0.6 nozzle).json | 89 - ...a Draft @Elegoo Neptune4 (0.8 nozzle).json | 89 - ...ft @Elegoo Neptune4 Plus (0.2 nozzle).json | 26 - ...ft @Elegoo Neptune4 Plus (0.4 nozzle).json | 26 - ...ft @Elegoo Neptune4 Plus (0.6 nozzle).json | 26 - ...ft @Elegoo Neptune4 Plus (0.8 nozzle).json | 26 - ...raft @Elegoo Neptune4Max (0.2 nozzle).json | 90 - ...raft @Elegoo Neptune4Max (0.4 nozzle).json | 90 - ...raft @Elegoo Neptune4Max (0.6 nozzle).json | 90 - ...raft @Elegoo Neptune4Max (0.8 nozzle).json | 90 - ...raft @Elegoo Neptune4Pro (0.2 nozzle).json | 89 - ...raft @Elegoo Neptune4Pro (0.4 nozzle).json | 89 - ...raft @Elegoo Neptune4Pro (0.6 nozzle).json | 89 - ...raft @Elegoo Neptune4Pro (0.8 nozzle).json | 89 - .../0.30mm Fine @Elegoo N4 1.0 nozzle.json | 8 + .../0.30mm Fine @Elegoo N4Max 1.0 nozzle.json | 8 + ...0.30mm Fine @Elegoo N4Plus 1.0 nozzle.json | 8 + .../0.30mm Fine @Elegoo N4Pro 1.0 nozzle.json | 8 + ...0.30mm Standard @Elegoo N4 0.6 nozzle.json | 16 + ...0mm Standard @Elegoo N4Max 0.6 nozzle.json | 16 + ...mm Standard @Elegoo N4Plus 0.6 nozzle.json | 16 + ...0mm Standard @Elegoo N4Pro 0.6 nozzle.json | 16 + .../0.32mm Optimal @Elegoo N4 0.8 nozzle.json | 9 + ...32mm Optimal @Elegoo N4Max 0.8 nozzle.json | 9 + ...2mm Optimal @Elegoo N4Plus 0.8 nozzle.json | 9 + ...32mm Optimal @Elegoo N4Pro 0.8 nozzle.json | 9 + .../0.36mm Draft @Elegoo N4 0.6 nozzle.json | 9 + ...0.36mm Draft @Elegoo N4Max 0.6 nozzle.json | 9 + ....36mm Draft @Elegoo N4Plus 0.6 nozzle.json | 9 + ...0.36mm Draft @Elegoo N4Pro 0.6 nozzle.json | 9 + .../0.40mm Optimal @Elegoo N4 1.0 nozzle.json | 8 + ...40mm Optimal @Elegoo N4Max 1.0 nozzle.json | 8 + ...0mm Optimal @Elegoo N4Plus 1.0 nozzle.json | 8 + ...40mm Optimal @Elegoo N4Pro 1.0 nozzle.json | 8 + ...0.40mm Standard @Elegoo N4 0.8 nozzle.json | 16 + ...0mm Standard @Elegoo N4Max 0.8 nozzle.json | 16 + ...mm Standard @Elegoo N4Plus 0.8 nozzle.json | 16 + ...0mm Standard @Elegoo N4Pro 0.8 nozzle.json | 16 + ...2mm Extra Draft @Elegoo N4 0.6 nozzle.json | 9 + ... Extra Draft @Elegoo N4Max 0.6 nozzle.json | 9 + ...Extra Draft @Elegoo N4Plus 0.6 nozzle.json | 9 + ... Extra Draft @Elegoo N4Pro 0.6 nozzle.json | 9 + .../0.48mm Draft @Elegoo N4 0.8 nozzle.json | 9 + ...0.48mm Draft @Elegoo N4Max 0.8 nozzle.json | 9 + ....48mm Draft @Elegoo N4Plus 0.8 nozzle.json | 9 + ...0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json | 9 + ...0.50mm Standard @Elegoo N4 1.0 nozzle.json | 15 + ...0mm Standard @Elegoo N4Max 1.0 nozzle.json | 15 + ...mm Standard @Elegoo N4Plus 1.0 nozzle.json | 15 + ...0mm Standard @Elegoo N4Pro 1.0 nozzle.json | 15 + .../0.60mm Draft @Elegoo N4 1.0 nozzle.json | 8 + ...0.60mm Draft @Elegoo N4Max 1.0 nozzle.json | 8 + ....60mm Draft @Elegoo N4Plus 1.0 nozzle.json | 8 + ...0.60mm Draft @Elegoo N4Pro 1.0 nozzle.json | 8 + .../fdm_process_neptune4_common.json | 115 - .../fdm_process_neptune4max_common.json | 35 - ....16mm Optimal @Elegoo Giga 0.4 nozzle.json | 5 +- .../0.18mm Fine @Elegoo Giga 0.6 nozzle.json | 5 +- ...20mm Standard @Elegoo Giga 0.4 nozzle.json | 3 +- ...20mm Strength @Elegoo Giga 0.4 nozzle.json | 5 +- .../0.24mm Draft @Elegoo Giga 0.4 nozzle.json | 5 +- .../0.24mm Fine @Elegoo Giga 0.8 nozzle.json | 5 +- ....24mm Optimal @Elegoo Giga 0.6 nozzle.json | 5 +- ...m Extra Draft @Elegoo Giga 0.4 nozzle.json | 5 +- .../0.30mm Fine @Elegoo Giga 1.0 nozzle.json | 5 +- ...30mm Standard @Elegoo Giga 0.6 nozzle.json | 5 +- ...30mm Strength @Elegoo Giga 0.6 nozzle.json | 5 +- ....32mm Optimal @Elegoo Giga 0.8 nozzle.json | 5 +- .../0.36mm Draft @Elegoo Giga 0.6 nozzle.json | 5 +- ....40mm Optimal @Elegoo Giga 1.0 nozzle.json | 5 +- ...40mm Standard @Elegoo Giga 0.8 nozzle.json | 4 +- ...m Extra Draft @Elegoo Giga 0.6 nozzle.json | 5 +- .../0.48mm Draft @Elegoo Giga 0.8 nozzle.json | 5 +- ...50mm Standard @Elegoo Giga 1.0 nozzle.json | 7 +- ...m Extra Draft @Elegoo Giga 0.8 nozzle.json | 5 +- .../0.60mm Draft @Elegoo Giga 1.0 nozzle.json | 5 +- .../Elegoo/process/fdm_process_common.json | 39 +- .../process/fdm_process_elegoo_02010.json | 1 + .../process/fdm_process_elegoo_common.json | 137 +- resources/profiles/OrcaFilamentLibrary.json | 220 +- .../filament/Elegoo/Elegoo ABS @System.json | 27 + .../filament/Elegoo/Elegoo ABS @base.json | 44 +- .../filament/Elegoo/Elegoo ASA @System.json | 17 +- .../filament/Elegoo/Elegoo ASA @base.json | 40 +- .../Elegoo/Elegoo ASA-CF @System.json | 33 + .../filament/Elegoo/Elegoo PAHT @base.json | 75 +- .../Elegoo/Elegoo PAHT-CF @System.json | 69 + .../filament/Elegoo/Elegoo PC @System.json | 54 + .../filament/Elegoo/Elegoo PC @base.json | 14 +- .../filament/Elegoo/Elegoo PC-FR @System.json | 39 + .../Elegoo/Elegoo PET-CF @System.json | 57 + .../filament/Elegoo/Elegoo PETG @System.json | 27 + .../filament/Elegoo/Elegoo PETG @base.json | 21 +- .../Elegoo/Elegoo PETG HF @System.json | 42 + .../Elegoo/Elegoo PETG PRO @System.json | 20 +- .../Elegoo PETG Translucent @System.json | 27 + .../Elegoo/Elegoo PETG-CF @System.json | 40 +- .../filament/Elegoo/Elegoo PETG-CF @base.json | 74 - .../Elegoo/Elegoo PETG-GF @System.json | 42 + .../filament/Elegoo/Elegoo PLA @System.json | 26 +- .../filament/Elegoo/Elegoo PLA @base.json | 33 +- .../Elegoo/Elegoo PLA Basic @System.json | 33 + .../Elegoo/Elegoo PLA Galaxy @System.json | 36 + .../Elegoo/Elegoo PLA Glow @System.json | 36 + .../Elegoo/Elegoo PLA Marble @System.json | 36 + .../Elegoo/Elegoo PLA Matte @System.json | 52 + .../Elegoo/Elegoo PLA PRO @System.json | 28 + .../Elegoo/Elegoo PLA Silk @System.json | 52 + .../Elegoo/Elegoo PLA Sparkle @System.json | 39 + .../Elegoo PLA Translucent2 @System.json | 39 + .../Elegoo/Elegoo PLA Wood @System.json | 36 + .../filament/Elegoo/Elegoo PLA+ @System.json | 25 + .../Elegoo/Elegoo PLA-CF @System.json | 61 + .../filament/Elegoo/Elegoo PLA-CF @base.json | 38 - .../Elegoo/Elegoo Rapid PETG @System.json | 34 +- .../Elegoo/Elegoo Rapid PLA+ @System.json | 46 +- .../Elegoo/Elegoo Rapid TPU 95A @System.json | 27 + .../Elegoo/Elegoo TPU 95A @System.json | 13 +- .../filament/Elegoo/Elegoo TPU @base.json | 17 +- src/libslic3r/Print.cpp | 18 + 772 files changed, 15462 insertions(+), 19601 deletions(-) create mode 100644 resources/profiles/Elegoo/filament/BASE/Elegoo ABS @base.json create mode 100644 resources/profiles/Elegoo/filament/BASE/Elegoo ASA @base.json rename resources/profiles/Elegoo/filament/{ELEGOO/fdm_elegoo_filament_pla.json => BASE/Elegoo PAHT @base.json} (81%) rename resources/profiles/{OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @base.json => Elegoo/filament/BASE/Elegoo PC @base.json} (61%) rename resources/profiles/Elegoo/filament/{ELEGOO/fdm_elegoo_filament_pet.json => BASE/Elegoo PETG @base.json} (63%) rename resources/profiles/{OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @base.json => Elegoo/filament/BASE/Elegoo PLA @base.json} (80%) rename resources/profiles/{OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @base.json => Elegoo/filament/BASE/Elegoo TPU @base.json} (86%) create mode 100644 resources/profiles/Elegoo/filament/BASE/Generic ABS @base.json create mode 100644 resources/profiles/Elegoo/filament/BASE/Generic ASA @base.json create mode 100644 resources/profiles/Elegoo/filament/BASE/Generic PA @base.json create mode 100644 resources/profiles/Elegoo/filament/BASE/Generic PC @base.json rename resources/profiles/{OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PETG @base.json => Elegoo/filament/BASE/Generic PET @base.json} (55%) create mode 100644 resources/profiles/Elegoo/filament/BASE/Generic PETG @base.json rename resources/profiles/{OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @base.json => Elegoo/filament/BASE/Generic PLA @base.json} (57%) create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo ABS @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PAHT-CF @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PC @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PC-FR @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PETG @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PETG Translucent @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PETG-CF @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PETG-GF @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PLA Basic @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PLA Galaxy @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PLA Marble @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PLA Sparkle @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo PLA Wood @EC.json create mode 100644 resources/profiles/Elegoo/filament/EC/Elegoo Rapid TPU 95A @EC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo ABS @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PAHT-CF @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PC @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PC-FR @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PETG @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PETG Translucent @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PETG-CF @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PETG-GF @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PLA Basic @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PLA Galaxy @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PLA Marble @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PLA Sparkle @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo PLA Wood @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC/Elegoo Rapid TPU 95A @ECC.json create mode 100644 resources/profiles/Elegoo/filament/ECC2/Elegoo ASA-CF @ECC2.json create mode 100644 resources/profiles/Elegoo/filament/ECC2/Elegoo PET-CF @ECC2.json create mode 100644 resources/profiles/Elegoo/filament/ECC2/Elegoo PETG HF @ECC2.json create mode 100644 resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Glow @ECC2.json create mode 100644 resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Translucent2 @ECC2.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo ASA.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG PRO.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Matte.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA PRO.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Silk.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA+.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA-CF.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG+.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+.json delete mode 100644 resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_common.json rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo ABS @0.2 nozzle.json (85%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo ASA @0.2 nozzle.json (81%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PC @0.2 nozzle.json (93%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PC-FR @0.2 nozzle.json (88%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PETG @0.2 nozzle.json (85%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PETG PRO @0.2 nozzle.json (71%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PETG Translucent @0.2 nozzle.json (85%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PLA @0.2 nozzle.json (81%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PLA Basic @0.2 nozzle.json (91%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PLA Matte @0.2 nozzle.json (83%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PLA PRO @0.2 nozzle.json (81%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PLA Silk @0.2 nozzle.json (83%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo PLA+ @0.2 nozzle.json (81%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo Rapid PETG @0.2 nozzle.json (70%) rename resources/profiles/Elegoo/filament/{ELEGOO => ELEGOO_02_NOZZLE}/Elegoo Rapid PLA+ @0.2 nozzle.json (77%) create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo ASA @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG PRO @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG Translucent @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG-CF @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG-GF @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Basic @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Galaxy @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Marble @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Matte @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA PRO @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Silk @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Sparkle @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Wood @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA+ @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA-CF @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid PETG @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid PLA+ @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid TPU 95A @EN2 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo ASA @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG PRO @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG Translucent @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG-CF @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG-GF @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Basic @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Galaxy @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Marble @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Matte @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA PRO @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Silk @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Sparkle @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Wood @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA+ @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA-CF @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid PETG @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid PLA+ @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid TPU 95A @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN3SERIES/Elegoo TPU 95A @EN3 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo ASA @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG PRO @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG Translucent @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG-CF @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG-GF @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Basic @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Galaxy @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Marble @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Matte @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA PRO @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Silk @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Sparkle @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Wood @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA+ @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA-CF @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid PETG @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid PLA+ @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid TPU 95A @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EN4SERIES/Elegoo TPU 95A @EN4 Series.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG Translucent @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG-CF @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG-GF @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Basic @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Galaxy @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Marble @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Sparkle @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Wood @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid PETG @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid PLA+ @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid TPU 95A @Elegoo Giga.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic ABS @Elegoo Centauri.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic ABS-CF @Elegoo Centauri.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic ASA-CF @Elegoo Centauri.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic PA @Elegoo.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic PA6-CF @Elegoo.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic PC @Elegoo.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic PC-CF @Elegoo.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic PET @Elegoo Centauri.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic PET-CF @Elegoo Centauri.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic PETG-CF @Elegoo Centauri.json create mode 100644 resources/profiles/Elegoo/filament/Generic/Generic PLA @Elegoo Centauri.json rename resources/profiles/Elegoo/filament/{ELEGOO/fdm_elegoo_filament_asa.json => fdm_filament_hips.json} (80%) rename resources/profiles/{OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @base.json => Elegoo/filament/fdm_filament_pa.json} (59%) create mode 100644 resources/profiles/Elegoo/filament/fdm_filament_pc.json create mode 100644 resources/profiles/Elegoo/filament/fdm_filament_ppa.json create mode 100644 resources/profiles/Elegoo/filament/fdm_filament_pps.json create mode 100644 resources/profiles/Elegoo/filament/fdm_filament_pva.json rename resources/profiles/Elegoo/filament/{ELEGOO/fdm_elegoo_filament_tpu.json => fdm_filament_tpu.json} (91%) delete mode 100644 resources/profiles/Elegoo/machine/ECC/fdm_machine_ecc.json delete mode 100644 resources/profiles/Elegoo/machine/ECC/fdm_machine_ecc_common.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 1.0 nozzle.json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.8 nozzle).json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 1.0 nozzle.json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.8 nozzle).json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 1.0 nozzle.json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.8 nozzle).json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 1.0 nozzle.json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.8 nozzle).json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 1.0 nozzle.json delete mode 100644 resources/profiles/Elegoo/machine/EN4SERIES/fdm_neptune_4_common.json delete mode 100644 resources/profiles/Elegoo/process/ECC/fdm_process_ecc.json delete mode 100644 resources/profiles/Elegoo/process/ECC/fdm_process_ecc_02010.json delete mode 100644 resources/profiles/Elegoo/process/ECC/fdm_process_ecc_04020.json delete mode 100644 resources/profiles/Elegoo/process/ECC/fdm_process_ecc_06030.json delete mode 100644 resources/profiles/Elegoo/process/ECC/fdm_process_ecc_08040.json delete mode 100644 resources/profiles/Elegoo/process/ECC/fdm_process_ecc_common.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2D.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2S.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune3.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo NeptuneX.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2D.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2S.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune3.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo NeptuneX.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2D.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2S.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune3.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo NeptuneX.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2D.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2S.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune3.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo NeptuneX.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.20mm Strength @Elegoo Neptune 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2D.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2S.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune3.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo NeptuneX.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.24mm Fine @Elegoo Neptune 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.24mm Optimal @Elegoo Neptune 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2D.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2S.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune3.json delete mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo NeptuneX.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.30mm Standard @Elegoo Neptune 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.32mm Optimal @Elegoo Neptune 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.36mm Draft @Elegoo Neptune 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.40mm Standard @Elegoo Neptune 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN2SERIES/0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Max.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Plus.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Pro.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Max 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Plus 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Pro 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Max 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Plus 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Pro 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Max 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Plus 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Pro 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Pro 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Max.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Plus.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Pro.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Pro 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Max.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Plus.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Pro.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Pro 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Max.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Plus.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Pro.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Pro 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Pro 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Max.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Plus.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Pro.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Max 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Plus 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Pro 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Max 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Plus 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Pro 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Max.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Plus.json delete mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Pro.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Max 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Plus 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Pro 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Max 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Plus 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Pro 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Max 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Plus 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Pro 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Max 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Plus 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Pro 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Max 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Plus 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Pro 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Max 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Plus 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Pro 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Max 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Plus 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Pro 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Max 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Plus 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Pro 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Max 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Plus 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Pro 1.0 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle).json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Max 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Plus 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Pro 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Max 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Plus 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Pro 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Max 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Plus 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Pro 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle).json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Pro 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle).json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Pro 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle).json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Pro 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Pro 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle).json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Max 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Plus 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Pro 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Max 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Plus 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Pro 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle).json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle).json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Max 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Plus 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Pro 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Max 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Plus 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Pro 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Max 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Plus 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Pro 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Max 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Plus 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Pro 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Max 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Plus 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Pro 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Max 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Plus 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Pro 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Max 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Plus 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Max 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Plus 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Pro 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Max 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Plus 1.0 nozzle.json create mode 100644 resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Pro 1.0 nozzle.json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/fdm_process_neptune4_common.json delete mode 100644 resources/profiles/Elegoo/process/EN4SERIES/fdm_process_neptune4max_common.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA-CF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT-CF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC-FR @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PET-CF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG HF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Translucent @System.json delete mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-GF @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Basic @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Galaxy @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Glow @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Marble @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA PRO @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Sparkle @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Translucent2 @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Wood @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA+ @System.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @System.json delete mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid TPU 95A @System.json diff --git a/resources/profiles/Elegoo.json b/resources/profiles/Elegoo.json index 25597355fb..9d3dea98c3 100644 --- a/resources/profiles/Elegoo.json +++ b/resources/profiles/Elegoo.json @@ -5,52 +5,20 @@ "description": "Elegoo configurations", "machine_model_list": [ { - "name": "Elegoo Centauri", - "sub_path": "machine/EC/Elegoo Centauri.json" + "name": "Elegoo Centauri Carbon 2", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2.json" }, { "name": "Elegoo Centauri Carbon", "sub_path": "machine/ECC/Elegoo Centauri Carbon.json" }, { - "name": "Elegoo Centauri Carbon 2", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2.json" + "name": "Elegoo Centauri", + "sub_path": "machine/EC/Elegoo Centauri.json" }, { - "name": "Elegoo Neptune", - "sub_path": "machine/EN2SERIES/Elegoo Neptune.json" - }, - { - "name": "Elegoo Neptune 2", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2.json" - }, - { - "name": "Elegoo Neptune 2D", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D.json" - }, - { - "name": "Elegoo Neptune 2S", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S.json" - }, - { - "name": "Elegoo Neptune 3", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 3.json" - }, - { - "name": "Elegoo Neptune 3 Max", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max.json" - }, - { - "name": "Elegoo Neptune 3 Plus", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus.json" - }, - { - "name": "Elegoo Neptune 3 Pro", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro.json" - }, - { - "name": "Elegoo Neptune 4", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4.json" + "name": "Elegoo OrangeStorm Giga", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga.json" }, { "name": "Elegoo Neptune 4 Max", @@ -64,13 +32,45 @@ "name": "Elegoo Neptune 4 Pro", "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro.json" }, + { + "name": "Elegoo Neptune 4", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4.json" + }, + { + "name": "Elegoo Neptune 3 Max", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max.json" + }, + { + "name": "Elegoo Neptune 3 Plus", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus.json" + }, + { + "name": "Elegoo Neptune 3 Pro", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro.json" + }, + { + "name": "Elegoo Neptune 3", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3.json" + }, { "name": "Elegoo Neptune X", "sub_path": "machine/EN2SERIES/Elegoo Neptune X.json" }, { - "name": "Elegoo OrangeStorm Giga", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga.json" + "name": "Elegoo Neptune 2S", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S.json" + }, + { + "name": "Elegoo Neptune 2D", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D.json" + }, + { + "name": "Elegoo Neptune 2", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2.json" + }, + { + "name": "Elegoo Neptune", + "sub_path": "machine/EN2SERIES/Elegoo Neptune.json" } ], "process_list": [ @@ -78,234 +78,10 @@ "name": "fdm_process_common", "sub_path": "process/fdm_process_common.json" }, - { - "name": "fdm_process_ecc_common", - "sub_path": "process/ECC/fdm_process_ecc_common.json" - }, { "name": "fdm_process_elegoo_common", "sub_path": "process/fdm_process_elegoo_common.json" }, - { - "name": "fdm_process_ecc", - "sub_path": "process/ECC/fdm_process_ecc.json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune", - "sub_path": "process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune.json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune2", - "sub_path": "process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2.json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune2D", - "sub_path": "process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2D.json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune2S", - "sub_path": "process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2S.json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune3", - "sub_path": "process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune3.json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune3Max", - "sub_path": "process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Max.json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune3Plus", - "sub_path": "process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Plus.json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune3Pro", - "sub_path": "process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Pro.json" - }, - { - "name": "0.08mm Extra Fine @Elegoo NeptuneX", - "sub_path": "process/EN2SERIES/0.08mm Extra Fine @Elegoo NeptuneX.json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune", - "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo Neptune.json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune2", - "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo Neptune2.json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune2D", - "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo Neptune2D.json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune2S", - "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo Neptune2S.json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune3", - "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo Neptune3.json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune3Max", - "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Max.json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune3Plus", - "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Plus.json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune3Pro", - "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Pro.json" - }, - { - "name": "0.12mm Fine @Elegoo NeptuneX", - "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo NeptuneX.json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune", - "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo Neptune.json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune2", - "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2.json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune2D", - "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2D.json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune2S", - "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2S.json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune3", - "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo Neptune3.json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune3Max", - "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Max.json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune3Plus", - "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Plus.json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune3Pro", - "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Pro.json" - }, - { - "name": "0.16mm Optimal @Elegoo NeptuneX", - "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo NeptuneX.json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune", - "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo Neptune.json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune2", - "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo Neptune2.json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune2D", - "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo Neptune2D.json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune2S", - "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo Neptune2S.json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune3", - "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo Neptune3.json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune3Max", - "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Max.json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune3Plus", - "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Plus.json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune3Pro", - "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Pro.json" - }, - { - "name": "0.20mm Standard @Elegoo NeptuneX", - "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo NeptuneX.json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune", - "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo Neptune.json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune2", - "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo Neptune2.json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune2D", - "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo Neptune2D.json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune2S", - "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo Neptune2S.json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune3", - "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo Neptune3.json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune3Max", - "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Max.json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune3Plus", - "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Plus.json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune3Pro", - "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Pro.json" - }, - { - "name": "0.24mm Draft @Elegoo NeptuneX", - "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo NeptuneX.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune", - "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune2", - "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune2D", - "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2D.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune2S", - "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2S.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune3", - "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune3.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune3Max", - "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Max.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune3Plus", - "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Plus.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune3Pro", - "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Pro.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo NeptuneX", - "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo NeptuneX.json" - }, { "name": "fdm_process_elegoo_02010", "sub_path": "process/fdm_process_elegoo_02010.json" @@ -327,388 +103,72 @@ "sub_path": "process/fdm_process_elegoo_10050.json" }, { - "name": "fdm_process_neptune4_common", - "sub_path": "process/EN4SERIES/fdm_process_neptune4_common.json" - }, - { - "name": "fdm_process_ecc_02010", - "sub_path": "process/ECC/fdm_process_ecc_02010.json" - }, - { - "name": "fdm_process_ecc_04020", - "sub_path": "process/ECC/fdm_process_ecc_04020.json" - }, - { - "name": "fdm_process_ecc_06030", - "sub_path": "process/ECC/fdm_process_ecc_06030.json" - }, - { - "name": "fdm_process_ecc_08040", - "sub_path": "process/ECC/fdm_process_ecc_08040.json" + "name": "0.20mm Standard @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json" }, { "name": "0.10mm Standard @Elegoo CC2 0.2 nozzle", "sub_path": "process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json" }, - { - "name": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json" - }, { "name": "0.30mm Standard @Elegoo CC2 0.6 nozzle", "sub_path": "process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json" }, - { - "name": "0.30mm Standard @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json" - }, { "name": "0.40mm Standard @Elegoo CC2 0.8 nozzle", "sub_path": "process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json" }, { - "name": "0.40mm Standard @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json" + "name": "0.48mm Draft @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json" }, { - "name": "0.50mm Standard @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json" + "name": "0.42mm Extra Draft @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle).json" + "name": "0.36mm Draft @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle).json" + "name": "0.32mm Optimal @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle).json" + "name": "0.30mm Strength @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle).json" + "name": "0.28mm Extra Draft @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.2 nozzle).json" + "name": "0.24mm Optimal @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.4 nozzle).json" + "name": "0.24mm Fine @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.6 nozzle).json" + "name": "0.24mm Draft @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.8 nozzle).json" + "name": "0.20mm Strength @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle).json" + "name": "0.18mm Fine @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle).json" + "name": "0.16mm Optimal @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json" }, { - "name": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle).json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4 (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.2 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4 (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.4 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4 (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.6 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4 (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.8 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4 Plus (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.2 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4 Plus (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.4 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4 Plus (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.6 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4 Plus (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.8 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4 Plus (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.2 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4 Plus (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.4 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4 Plus (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.6 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4 Plus (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.8 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4 (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.2 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4 (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.4 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4 (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.6 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4 (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.8 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4 Plus (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.2 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4 Plus (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.4 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4 Plus (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.6 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4 Plus (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.8 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4 (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.2 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4 (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.4 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4 (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.6 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4 (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.8 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4 Plus (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.2 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4 Plus (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.4 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4 Plus (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.6 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4 Plus (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.8 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4 Plus (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.2 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4 Plus (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.4 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4 Plus (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.6 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4 Plus (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.8 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle).json" - }, - { - "name": "fdm_process_neptune4max_common", - "sub_path": "process/EN4SERIES/fdm_process_neptune4max_common.json" - }, - { - "name": "0.10mm Standard @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.10mm Standard @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.10mm Standard @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.20mm Standard @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.20mm Standard @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.30mm Standard @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.30mm Standard @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.40mm Standard @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.40mm Standard @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo CC2 0.2 nozzle", - "sub_path": "process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo CC2 0.2 nozzle", - "sub_path": "process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json" + "name": "0.16mm Extra Fine @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json" }, { "name": "0.14mm Extra Draft @Elegoo CC2 0.2 nozzle", @@ -719,29 +179,845 @@ "sub_path": "process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json" }, { - "name": "0.16mm Optimal @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json" + "name": "0.12mm Draft @Elegoo CC2 0.2 nozzle", + "sub_path": "process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json" }, { - "name": "0.20mm Strength @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json" + "name": "0.08mm Optimal @Elegoo CC2 0.2 nozzle", + "sub_path": "process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json" }, { - "name": "0.24mm Draft @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json" + "name": "0.20mm Standard @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.20mm Standard @Elegoo CC 0.4 nozzle.json" }, { - "name": "0.28mm Extra Draft @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json" + "name": "0.10mm Standard @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.10mm Standard @Elegoo CC 0.2 nozzle.json" }, { - "name": "0.16mm Optimal @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json" + "name": "0.30mm Standard @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.30mm Standard @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.40mm Standard @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.48mm Draft @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.42mm Extra Draft @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.36mm Draft @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.32mm Optimal @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.30mm Strength @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.28mm Extra Draft @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.24mm Optimal @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.24mm Fine @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.24mm Draft @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.20mm Strength @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.18mm Fine @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.16mm Optimal @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.16mm Extra Fine @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.16mm Extra Fine @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.14mm Extra Draft @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.14mm Extra Draft @Elegoo CC 0.2 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.12mm Fine @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.12mm Draft @Elegoo CC 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.08mm Optimal @Elegoo CC 0.2 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.20mm Standard @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.10mm Standard @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.30mm Standard @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.40mm Standard @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.48mm Draft @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.42mm Extra Draft @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.36mm Draft @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.32mm Optimal @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.30mm Strength @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.28mm Extra Draft @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.24mm Optimal @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.24mm Fine @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.24mm Draft @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.20mm Strength @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.18mm Fine @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.16mm Optimal @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.16mm Extra Fine @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.16mm Extra Fine @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.14mm Extra Draft @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.14mm Extra Draft @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.12mm Fine @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.12mm Draft @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.08mm Optimal @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N4 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4 0.2 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4 1.0 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N4Pro 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Pro 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4Pro 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Pro 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4Pro 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Pro 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Pro 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Pro 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Pro 1.0 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N4Plus 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Plus 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4Plus 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Plus 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4Plus 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Plus 0.2 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Plus 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Plus 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Plus 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Plus 1.0 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N4Max 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Max 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4Max 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Max 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4Max 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Max 0.2 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Max 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Max 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Max 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Max 1.0 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N3Pro 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Pro 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N3Pro 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Pro 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N3Pro 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Pro 0.2 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Pro 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Pro 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Pro 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Pro 1.0 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N3Plus 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Plus 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N3Plus 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Plus 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N3Plus 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Plus 0.2 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Plus 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Plus 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Plus 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Plus 1.0 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.10mm Standard @Elegoo N3Max 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Max 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N3Max 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Max 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N3Max 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Max 0.2 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N3Max 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Max 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N3Max 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Max 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N3Max 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Max 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N3Max 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Max 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N3Max 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Max 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N3Max 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Max 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N3Max 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Max 0.8 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Max 1.0 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo N3Max 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Max 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo N3Max 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Max 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo N3Max 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Max 1.0 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.20mm Strength @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.30mm Standard @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.24mm Optimal @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.36mm Draft @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "sub_path": "process/EN2SERIES/0.40mm Standard @Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo Neptune 0.8 nozzle", + "sub_path": "process/EN2SERIES/0.24mm Fine @Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo Neptune 0.8 nozzle", + "sub_path": "process/EN2SERIES/0.32mm Optimal @Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json" }, { "name": "0.20mm Strength @Elegoo Giga 0.4 nozzle", "sub_path": "process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json" }, + { + "name": "0.16mm Optimal @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json" + }, { "name": "0.24mm Draft @Elegoo Giga 0.4 nozzle", "sub_path": "process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json" @@ -751,24 +1027,8 @@ "sub_path": "process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json" }, { - "name": "0.18mm Fine @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json" + "name": "0.30mm Strength @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json" }, { "name": "0.18mm Fine @Elegoo Giga 0.6 nozzle", @@ -778,10 +1038,6 @@ "name": "0.24mm Optimal @Elegoo Giga 0.6 nozzle", "sub_path": "process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json" }, - { - "name": "0.30mm Strength @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json" - }, { "name": "0.36mm Draft @Elegoo Giga 0.6 nozzle", "sub_path": "process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json" @@ -790,22 +1046,6 @@ "name": "0.42mm Extra Draft @Elegoo Giga 0.6 nozzle", "sub_path": "process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json" }, - { - "name": "0.16mm Extra Fine @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json" - }, { "name": "0.24mm Fine @Elegoo Giga 0.8 nozzle", "sub_path": "process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json" @@ -823,323 +1063,755 @@ "sub_path": "process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json" }, { - "name": "0.30mm Fine @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json" + "name": "0.60mm Draft @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json" }, { "name": "0.40mm Optimal @Elegoo Giga 1.0 nozzle", "sub_path": "process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json" }, { - "name": "0.60mm Draft @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle).json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle).json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle).json" - }, - { - "name": "0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle).json" - }, - { - "name": "0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle).json" - }, - { - "name": "0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle).json" - }, - { - "name": "0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle).json" - }, - { - "name": "0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle).json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle)", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle).json" - }, - { - "name": "0.08mm Optimal @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.08mm Optimal @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.12mm Draft @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.14mm Extra Draft @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.14mm Extra Draft @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.08mm Optimal @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.12mm Draft @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.14mm Extra Draft @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.14mm Extra Draft @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.12mm Fine @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.16mm Optimal @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.20mm Strength @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.24mm Draft @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.28mm Extra Draft @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.12mm Fine @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.16mm Optimal @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.20mm Strength @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.24mm Draft @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.28mm Extra Draft @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.18mm Fine @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.24mm Optimal @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.30mm Strength @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.36mm Draft @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.42mm Extra Draft @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.18mm Fine @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.24mm Optimal @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.30mm Strength @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.36mm Draft @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.42mm Extra Draft @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.16mm Extra Fine @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.16mm Extra Fine @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.24mm Fine @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.32mm Optimal @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.48mm Draft @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.16mm Extra Fine @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.16mm Extra Fine @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.24mm Fine @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.32mm Optimal @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.48mm Draft @Elegoo CC 0.8 nozzle.json" + "name": "0.30mm Fine @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json" } ], "filament_list": [ - { - "name": "fdm_elegoo_filament_common", - "sub_path": "filament/ELEGOO/fdm_elegoo_filament_common.json" - }, { "name": "fdm_filament_common", "sub_path": "filament/fdm_filament_common.json" }, - { - "name": "fdm_elegoo_filament_asa", - "sub_path": "filament/ELEGOO/fdm_elegoo_filament_asa.json" - }, - { - "name": "fdm_elegoo_filament_pet", - "sub_path": "filament/ELEGOO/fdm_elegoo_filament_pet.json" - }, - { - "name": "fdm_elegoo_filament_pla", - "sub_path": "filament/ELEGOO/fdm_elegoo_filament_pla.json" - }, - { - "name": "fdm_elegoo_filament_tpu", - "sub_path": "filament/ELEGOO/fdm_elegoo_filament_tpu.json" - }, - { - "name": "fdm_filament_abs", - "sub_path": "filament/fdm_filament_abs.json" - }, - { - "name": "fdm_filament_asa", - "sub_path": "filament/fdm_filament_asa.json" - }, - { - "name": "fdm_filament_paht", - "sub_path": "filament/fdm_filament_paht.json" - }, - { - "name": "fdm_filament_pet", - "sub_path": "filament/fdm_filament_pet.json" - }, { "name": "fdm_filament_pla", "sub_path": "filament/fdm_filament_pla.json" }, { - "name": "Generic ABS @Elegoo", - "sub_path": "filament/Generic/Generic ABS @Elegoo.json" + "name": "fdm_filament_tpu", + "sub_path": "filament/fdm_filament_tpu.json" }, { - "name": "Generic ASA @Elegoo", - "sub_path": "filament/Generic/Generic ASA @Elegoo.json" + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" }, { - "name": "Generic PETG @Elegoo", - "sub_path": "filament/Generic/Generic PETG @Elegoo.json" + "name": "fdm_filament_abs", + "sub_path": "filament/fdm_filament_abs.json" }, { - "name": "Generic PETG PRO @Elegoo", - "sub_path": "filament/Generic/Generic PETG PRO @Elegoo.json" + "name": "fdm_filament_pc", + "sub_path": "filament/fdm_filament_pc.json" }, { - "name": "Generic PLA @Elegoo", - "sub_path": "filament/Generic/Generic PLA @Elegoo.json" + "name": "fdm_filament_asa", + "sub_path": "filament/fdm_filament_asa.json" }, { - "name": "Generic PLA Matte @Elegoo", - "sub_path": "filament/Generic/Generic PLA Matte @Elegoo.json" + "name": "fdm_filament_pva", + "sub_path": "filament/fdm_filament_pva.json" + }, + { + "name": "fdm_filament_pa", + "sub_path": "filament/fdm_filament_pa.json" + }, + { + "name": "fdm_filament_hips", + "sub_path": "filament/fdm_filament_hips.json" + }, + { + "name": "fdm_filament_pps", + "sub_path": "filament/fdm_filament_pps.json" + }, + { + "name": "fdm_filament_ppa", + "sub_path": "filament/fdm_filament_ppa.json" + }, + { + "name": "Generic ABS @base", + "sub_path": "filament/BASE/Generic ABS @base.json" + }, + { + "name": "Generic PA @base", + "sub_path": "filament/BASE/Generic PA @base.json" + }, + { + "name": "Generic PETG @base", + "sub_path": "filament/BASE/Generic PETG @base.json" + }, + { + "name": "Generic PET @base", + "sub_path": "filament/BASE/Generic PET @base.json" + }, + { + "name": "Generic PLA @base", + "sub_path": "filament/BASE/Generic PLA @base.json" + }, + { + "name": "Generic PC @base", + "sub_path": "filament/BASE/Generic PC @base.json" + }, + { + "name": "Generic ASA @base", + "sub_path": "filament/BASE/Generic ASA @base.json" + }, + { + "name": "Elegoo TPU @base", + "sub_path": "filament/BASE/Elegoo TPU @base.json" + }, + { + "name": "Elegoo PETG @base", + "sub_path": "filament/BASE/Elegoo PETG @base.json" + }, + { + "name": "Elegoo PLA @base", + "sub_path": "filament/BASE/Elegoo PLA @base.json" + }, + { + "name": "Elegoo ASA @base", + "sub_path": "filament/BASE/Elegoo ASA @base.json" + }, + { + "name": "Elegoo ABS @base", + "sub_path": "filament/BASE/Elegoo ABS @base.json" + }, + { + "name": "Elegoo PAHT @base", + "sub_path": "filament/BASE/Elegoo PAHT @base.json" + }, + { + "name": "Elegoo PC @base", + "sub_path": "filament/BASE/Elegoo PC @base.json" + }, + { + "name": "Elegoo ASA @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo ASA @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG PRO @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG PRO @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Matte @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Matte @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA PRO @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA PRO @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Silk @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Silk @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA+ @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA+ @0.2 nozzle.json" + }, + { + "name": "Elegoo Rapid PLA+ @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo Rapid PLA+ @0.2 nozzle.json" + }, + { + "name": "Elegoo Rapid PETG @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo Rapid PETG @0.2 nozzle.json" + }, + { + "name": "Elegoo ABS @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo ABS @0.2 nozzle.json" + }, + { + "name": "Elegoo PC @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PC @0.2 nozzle.json" + }, + { + "name": "Elegoo PC-FR @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PC-FR @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Basic @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Basic @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG Translucent @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG Translucent @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA @ECC", + "sub_path": "filament/ECC/Elegoo PLA @ECC.json" + }, + { + "name": "Elegoo PLA PRO @ECC", + "sub_path": "filament/ECC/Elegoo PLA PRO @ECC.json" + }, + { + "name": "Elegoo PLA+ @ECC", + "sub_path": "filament/ECC/Elegoo PLA+ @ECC.json" + }, + { + "name": "Elegoo Rapid PLA+ @ECC", + "sub_path": "filament/ECC/Elegoo Rapid PLA+ @ECC.json" + }, + { + "name": "Elegoo PLA Silk @ECC", + "sub_path": "filament/ECC/Elegoo PLA Silk @ECC.json" + }, + { + "name": "Elegoo PLA Matte @ECC", + "sub_path": "filament/ECC/Elegoo PLA Matte @ECC.json" + }, + { + "name": "Elegoo PLA-CF @ECC", + "sub_path": "filament/ECC/Elegoo PLA-CF @ECC.json" + }, + { + "name": "Elegoo PETG @ECC", + "sub_path": "filament/ECC/Elegoo PETG @ECC.json" + }, + { + "name": "Elegoo PETG PRO @ECC", + "sub_path": "filament/ECC/Elegoo PETG PRO @ECC.json" + }, + { + "name": "Elegoo Rapid PETG @ECC", + "sub_path": "filament/ECC/Elegoo Rapid PETG @ECC.json" + }, + { + "name": "Elegoo TPU 95A @ECC", + "sub_path": "filament/ECC/Elegoo TPU 95A @ECC.json" + }, + { + "name": "Elegoo ASA @ECC", + "sub_path": "filament/ECC/Elegoo ASA @ECC.json" + }, + { + "name": "Elegoo ABS @ECC", + "sub_path": "filament/ECC/Elegoo ABS @ECC.json" + }, + { + "name": "Elegoo PLA Galaxy @ECC", + "sub_path": "filament/ECC/Elegoo PLA Galaxy @ECC.json" + }, + { + "name": "Elegoo PLA Basic @ECC", + "sub_path": "filament/ECC/Elegoo PLA Basic @ECC.json" + }, + { + "name": "Elegoo PLA Marble @ECC", + "sub_path": "filament/ECC/Elegoo PLA Marble @ECC.json" + }, + { + "name": "Elegoo PLA Sparkle @ECC", + "sub_path": "filament/ECC/Elegoo PLA Sparkle @ECC.json" + }, + { + "name": "Elegoo PLA Wood @ECC", + "sub_path": "filament/ECC/Elegoo PLA Wood @ECC.json" + }, + { + "name": "Elegoo PAHT-CF @ECC", + "sub_path": "filament/ECC/Elegoo PAHT-CF @ECC.json" + }, + { + "name": "Elegoo PC @ECC", + "sub_path": "filament/ECC/Elegoo PC @ECC.json" + }, + { + "name": "Elegoo PC-FR @ECC", + "sub_path": "filament/ECC/Elegoo PC-FR @ECC.json" + }, + { + "name": "Elegoo PETG-CF @ECC", + "sub_path": "filament/ECC/Elegoo PETG-CF @ECC.json" + }, + { + "name": "Elegoo PETG-GF @ECC", + "sub_path": "filament/ECC/Elegoo PETG-GF @ECC.json" + }, + { + "name": "Elegoo PETG Translucent @ECC", + "sub_path": "filament/ECC/Elegoo PETG Translucent @ECC.json" + }, + { + "name": "Elegoo Rapid TPU 95A @ECC", + "sub_path": "filament/ECC/Elegoo Rapid TPU 95A @ECC.json" + }, + { + "name": "Elegoo PLA @EC", + "sub_path": "filament/EC/Elegoo PLA @EC.json" + }, + { + "name": "Elegoo PLA PRO @EC", + "sub_path": "filament/EC/Elegoo PLA PRO @EC.json" + }, + { + "name": "Elegoo PLA+ @EC", + "sub_path": "filament/EC/Elegoo PLA+ @EC.json" + }, + { + "name": "Elegoo Rapid PLA+ @EC", + "sub_path": "filament/EC/Elegoo Rapid PLA+ @EC.json" + }, + { + "name": "Elegoo PLA Silk @EC", + "sub_path": "filament/EC/Elegoo PLA Silk @EC.json" + }, + { + "name": "Elegoo PLA Matte @EC", + "sub_path": "filament/EC/Elegoo PLA Matte @EC.json" + }, + { + "name": "Elegoo PETG @EC", + "sub_path": "filament/EC/Elegoo PETG @EC.json" + }, + { + "name": "Elegoo PETG PRO @EC", + "sub_path": "filament/EC/Elegoo PETG PRO @EC.json" + }, + { + "name": "Elegoo Rapid PETG @EC", + "sub_path": "filament/EC/Elegoo Rapid PETG @EC.json" + }, + { + "name": "Elegoo TPU 95A @EC", + "sub_path": "filament/EC/Elegoo TPU 95A @EC.json" + }, + { + "name": "Elegoo ASA @EC", + "sub_path": "filament/EC/Elegoo ASA @EC.json" + }, + { + "name": "Elegoo ABS @EC", + "sub_path": "filament/EC/Elegoo ABS @EC.json" + }, + { + "name": "Elegoo PLA Galaxy @EC", + "sub_path": "filament/EC/Elegoo PLA Galaxy @EC.json" + }, + { + "name": "Elegoo PLA Basic @EC", + "sub_path": "filament/EC/Elegoo PLA Basic @EC.json" + }, + { + "name": "Elegoo PLA Marble @EC", + "sub_path": "filament/EC/Elegoo PLA Marble @EC.json" + }, + { + "name": "Elegoo PLA Sparkle @EC", + "sub_path": "filament/EC/Elegoo PLA Sparkle @EC.json" + }, + { + "name": "Elegoo PLA Wood @EC", + "sub_path": "filament/EC/Elegoo PLA Wood @EC.json" + }, + { + "name": "Elegoo PAHT-CF @EC", + "sub_path": "filament/EC/Elegoo PAHT-CF @EC.json" + }, + { + "name": "Elegoo PC @EC", + "sub_path": "filament/EC/Elegoo PC @EC.json" + }, + { + "name": "Elegoo PC-FR @EC", + "sub_path": "filament/EC/Elegoo PC-FR @EC.json" + }, + { + "name": "Elegoo PETG-CF @EC", + "sub_path": "filament/EC/Elegoo PETG-CF @EC.json" + }, + { + "name": "Elegoo PETG-GF @EC", + "sub_path": "filament/EC/Elegoo PETG-GF @EC.json" + }, + { + "name": "Elegoo PETG Translucent @EC", + "sub_path": "filament/EC/Elegoo PETG Translucent @EC.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EC", + "sub_path": "filament/EC/Elegoo Rapid TPU 95A @EC.json" + }, + { + "name": "Elegoo PLA @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA @ECC2.json" + }, + { + "name": "Elegoo PLA PRO @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA PRO @ECC2.json" + }, + { + "name": "Elegoo PLA+ @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA+ @ECC2.json" + }, + { + "name": "Elegoo Rapid PLA+ @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid PLA+ @ECC2.json" + }, + { + "name": "Elegoo PLA Silk @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Silk @ECC2.json" + }, + { + "name": "Elegoo PLA Matte @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Matte @ECC2.json" + }, + { + "name": "Elegoo PLA-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA-CF @ECC2.json" + }, + { + "name": "Elegoo PETG @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG @ECC2.json" + }, + { + "name": "Elegoo PETG PRO @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG PRO @ECC2.json" + }, + { + "name": "Elegoo Rapid PETG @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid PETG @ECC2.json" + }, + { + "name": "Elegoo TPU 95A @ECC2", + "sub_path": "filament/ECC2/Elegoo TPU 95A @ECC2.json" + }, + { + "name": "Elegoo ASA @ECC2", + "sub_path": "filament/ECC2/Elegoo ASA @ECC2.json" + }, + { + "name": "Elegoo ABS @ECC2", + "sub_path": "filament/ECC2/Elegoo ABS @ECC2.json" + }, + { + "name": "Elegoo PLA Galaxy @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Galaxy @ECC2.json" + }, + { + "name": "Elegoo PLA Basic @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Basic @ECC2.json" + }, + { + "name": "Elegoo PLA Marble @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Marble @ECC2.json" + }, + { + "name": "Elegoo PLA Sparkle @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Sparkle @ECC2.json" + }, + { + "name": "Elegoo PLA Wood @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Wood @ECC2.json" + }, + { + "name": "Elegoo PAHT-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PAHT-CF @ECC2.json" + }, + { + "name": "Elegoo PC @ECC2", + "sub_path": "filament/ECC2/Elegoo PC @ECC2.json" + }, + { + "name": "Elegoo PC-FR @ECC2", + "sub_path": "filament/ECC2/Elegoo PC-FR @ECC2.json" + }, + { + "name": "Elegoo PETG-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG-CF @ECC2.json" + }, + { + "name": "Elegoo PETG-GF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG-GF @ECC2.json" + }, + { + "name": "Elegoo PETG Translucent @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG Translucent @ECC2.json" + }, + { + "name": "Elegoo ASA-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo ASA-CF @ECC2.json" + }, + { + "name": "Elegoo PET-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PET-CF @ECC2.json" + }, + { + "name": "Elegoo PETG HF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG HF @ECC2.json" + }, + { + "name": "Elegoo PLA Glow @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Glow @ECC2.json" + }, + { + "name": "Elegoo PLA Translucent2 @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Translucent2 @ECC2.json" + }, + { + "name": "Elegoo Rapid TPU 95A @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json" + }, + { + "name": "Elegoo PLA @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA @EN4 Series.json" + }, + { + "name": "Elegoo PLA PRO @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA PRO @EN4 Series.json" + }, + { + "name": "Elegoo PLA+ @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA+ @EN4 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo Rapid PLA+ @EN4 Series.json" + }, + { + "name": "Elegoo PLA Silk @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Silk @EN4 Series.json" + }, + { + "name": "Elegoo PLA Matte @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Matte @EN4 Series.json" + }, + { + "name": "Elegoo PLA-CF @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA-CF @EN4 Series.json" + }, + { + "name": "Elegoo PETG @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG @EN4 Series.json" + }, + { + "name": "Elegoo PETG PRO @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG PRO @EN4 Series.json" + }, + { + "name": "Elegoo Rapid PETG @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo Rapid PETG @EN4 Series.json" + }, + { + "name": "Elegoo TPU 95A @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo TPU 95A @EN4 Series.json" + }, + { + "name": "Elegoo ASA @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo ASA @EN4 Series.json" + }, + { + "name": "Elegoo PLA Galaxy @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Galaxy @EN4 Series.json" + }, + { + "name": "Elegoo PLA Basic @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Basic @EN4 Series.json" + }, + { + "name": "Elegoo PLA Marble @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Marble @EN4 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Sparkle @EN4 Series.json" + }, + { + "name": "Elegoo PLA Wood @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Wood @EN4 Series.json" + }, + { + "name": "Elegoo PETG-CF @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG-CF @EN4 Series.json" + }, + { + "name": "Elegoo PETG-GF @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG-GF @EN4 Series.json" + }, + { + "name": "Elegoo PETG Translucent @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG Translucent @EN4 Series.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo Rapid TPU 95A @EN4 Series.json" + }, + { + "name": "Elegoo PLA @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA @EN3 Series.json" + }, + { + "name": "Elegoo PLA PRO @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA PRO @EN3 Series.json" + }, + { + "name": "Elegoo PLA+ @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA+ @EN3 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo Rapid PLA+ @EN3 Series.json" + }, + { + "name": "Elegoo PLA Silk @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Silk @EN3 Series.json" + }, + { + "name": "Elegoo PLA Matte @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Matte @EN3 Series.json" + }, + { + "name": "Elegoo PLA-CF @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA-CF @EN3 Series.json" + }, + { + "name": "Elegoo PETG @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG @EN3 Series.json" + }, + { + "name": "Elegoo PETG PRO @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG PRO @EN3 Series.json" + }, + { + "name": "Elegoo Rapid PETG @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo Rapid PETG @EN3 Series.json" + }, + { + "name": "Elegoo TPU 95A @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo TPU 95A @EN3 Series.json" + }, + { + "name": "Elegoo ASA @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo ASA @EN3 Series.json" + }, + { + "name": "Elegoo PLA Galaxy @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Galaxy @EN3 Series.json" + }, + { + "name": "Elegoo PLA Basic @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Basic @EN3 Series.json" + }, + { + "name": "Elegoo PLA Marble @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Marble @EN3 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Sparkle @EN3 Series.json" + }, + { + "name": "Elegoo PLA Wood @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Wood @EN3 Series.json" + }, + { + "name": "Elegoo PETG-CF @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG-CF @EN3 Series.json" + }, + { + "name": "Elegoo PETG-GF @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG-GF @EN3 Series.json" + }, + { + "name": "Elegoo PETG Translucent @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG Translucent @EN3 Series.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo Rapid TPU 95A @EN3 Series.json" + }, + { + "name": "Elegoo PLA @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA @EN2 Series.json" + }, + { + "name": "Elegoo PLA PRO @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA PRO @EN2 Series.json" + }, + { + "name": "Elegoo PLA+ @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA+ @EN2 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo Rapid PLA+ @EN2 Series.json" + }, + { + "name": "Elegoo PLA Silk @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Silk @EN2 Series.json" + }, + { + "name": "Elegoo PLA Matte @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Matte @EN2 Series.json" + }, + { + "name": "Elegoo PLA-CF @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA-CF @EN2 Series.json" + }, + { + "name": "Elegoo PETG @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG @EN2 Series.json" + }, + { + "name": "Elegoo PETG PRO @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG PRO @EN2 Series.json" + }, + { + "name": "Elegoo Rapid PETG @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo Rapid PETG @EN2 Series.json" + }, + { + "name": "Elegoo ASA @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo ASA @EN2 Series.json" + }, + { + "name": "Elegoo PLA Galaxy @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Galaxy @EN2 Series.json" + }, + { + "name": "Elegoo PLA Basic @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Basic @EN2 Series.json" + }, + { + "name": "Elegoo PLA Marble @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Marble @EN2 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Sparkle @EN2 Series.json" + }, + { + "name": "Elegoo PLA Wood @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Wood @EN2 Series.json" + }, + { + "name": "Elegoo PETG-CF @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG-CF @EN2 Series.json" + }, + { + "name": "Elegoo PETG-GF @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG-GF @EN2 Series.json" + }, + { + "name": "Elegoo PETG Translucent @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG Translucent @EN2 Series.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo Rapid TPU 95A @EN2 Series.json" }, { "name": "Elegoo ASA @Elegoo Giga", "sub_path": "filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json" }, + { + "name": "Elegoo PETG @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG @Elegoo Giga.json" + }, { "name": "Elegoo PETG PRO @Elegoo Giga", "sub_path": "filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json" @@ -1153,292 +1825,116 @@ "sub_path": "filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json" }, { - "name": "Elegoo ABS @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo ABS @0.2 nozzle.json" + "name": "Elegoo Rapid PETG @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo Rapid PETG @Elegoo Giga.json" }, { - "name": "Elegoo ABS @ECC2", - "sub_path": "filament/ECC2/Elegoo ABS @ECC2.json" + "name": "Elegoo Rapid PLA+ @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo Rapid PLA+ @Elegoo Giga.json" }, { - "name": "Elegoo ASA", - "sub_path": "filament/ELEGOO/Elegoo ASA.json" + "name": "Elegoo PLA Galaxy @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Galaxy @Elegoo Giga.json" }, { - "name": "Elegoo ASA @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo ASA @0.2 nozzle.json" + "name": "Elegoo PLA Basic @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Basic @Elegoo Giga.json" }, { - "name": "Elegoo ASA @EC", - "sub_path": "filament/EC/Elegoo ASA @EC.json" + "name": "Elegoo PLA Marble @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Marble @Elegoo Giga.json" }, { - "name": "Elegoo ASA @ECC", - "sub_path": "filament/ECC/Elegoo ASA @ECC.json" + "name": "Elegoo PLA Sparkle @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Sparkle @Elegoo Giga.json" }, { - "name": "Elegoo ASA @ECC2", - "sub_path": "filament/ECC2/Elegoo ASA @ECC2.json" + "name": "Elegoo PLA Wood @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Wood @Elegoo Giga.json" }, { - "name": "Elegoo PAHT-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PAHT-CF @ECC2.json" + "name": "Elegoo PETG-CF @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG-CF @Elegoo Giga.json" }, { - "name": "Elegoo PC @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PC @0.2 nozzle.json" + "name": "Elegoo PETG-GF @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG-GF @Elegoo Giga.json" }, { - "name": "Elegoo PC @ECC2", - "sub_path": "filament/ECC2/Elegoo PC @ECC2.json" + "name": "Elegoo PETG Translucent @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG Translucent @Elegoo Giga.json" }, { - "name": "Elegoo PC-FR @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PC-FR @0.2 nozzle.json" + "name": "Elegoo Rapid TPU 95A @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo Rapid TPU 95A @Elegoo Giga.json" }, { - "name": "Elegoo PC-FR @ECC2", - "sub_path": "filament/ECC2/Elegoo PC-FR @ECC2.json" + "name": "Generic ABS @Elegoo Centauri", + "sub_path": "filament/Generic/Generic ABS @Elegoo Centauri.json" }, { - "name": "Elegoo PETG @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PETG @0.2 nozzle.json" + "name": "Generic ABS @Elegoo", + "sub_path": "filament/Generic/Generic ABS @Elegoo.json" }, { - "name": "Elegoo PETG @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG @ECC2.json" + "name": "Generic ABS-CF @Elegoo Centauri", + "sub_path": "filament/Generic/Generic ABS-CF @Elegoo Centauri.json" }, { - "name": "Elegoo PETG PRO", - "sub_path": "filament/ELEGOO/Elegoo PETG PRO.json" + "name": "Generic ASA @Elegoo", + "sub_path": "filament/Generic/Generic ASA @Elegoo.json" }, { - "name": "Elegoo PETG PRO @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PETG PRO @0.2 nozzle.json" + "name": "Generic ASA-CF @Elegoo Centauri", + "sub_path": "filament/Generic/Generic ASA-CF @Elegoo Centauri.json" }, { - "name": "Elegoo PETG PRO @EC", - "sub_path": "filament/EC/Elegoo PETG PRO @EC.json" + "name": "Generic PA @Elegoo", + "sub_path": "filament/Generic/Generic PA @Elegoo.json" }, { - "name": "Elegoo PETG PRO @ECC", - "sub_path": "filament/ECC/Elegoo PETG PRO @ECC.json" + "name": "Generic PA6-CF @Elegoo", + "sub_path": "filament/Generic/Generic PA6-CF @Elegoo.json" }, { - "name": "Elegoo PETG PRO @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG PRO @ECC2.json" + "name": "Generic PC @Elegoo", + "sub_path": "filament/Generic/Generic PC @Elegoo.json" }, { - "name": "Elegoo PETG Translucent @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PETG Translucent @0.2 nozzle.json" + "name": "Generic PC-CF @Elegoo", + "sub_path": "filament/Generic/Generic PC-CF @Elegoo.json" }, { - "name": "Elegoo PETG Translucent @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG Translucent @ECC2.json" + "name": "Generic PET @Elegoo Centauri", + "sub_path": "filament/Generic/Generic PET @Elegoo Centauri.json" }, { - "name": "Elegoo PETG-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG-CF @ECC2.json" + "name": "Generic PET-CF @Elegoo Centauri", + "sub_path": "filament/Generic/Generic PET-CF @Elegoo Centauri.json" }, { - "name": "Elegoo PETG-GF @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG-GF @ECC2.json" + "name": "Generic PETG @Elegoo", + "sub_path": "filament/Generic/Generic PETG @Elegoo.json" }, { - "name": "Elegoo PLA", - "sub_path": "filament/ELEGOO/Elegoo PLA.json" + "name": "Generic PETG PRO @Elegoo", + "sub_path": "filament/Generic/Generic PETG PRO @Elegoo.json" }, { - "name": "Elegoo PLA @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PLA @0.2 nozzle.json" + "name": "Generic PETG-CF @Elegoo Centauri", + "sub_path": "filament/Generic/Generic PETG-CF @Elegoo Centauri.json" }, { - "name": "Elegoo PLA @EC", - "sub_path": "filament/EC/Elegoo PLA @EC.json" + "name": "Generic PLA @Elegoo Centauri", + "sub_path": "filament/Generic/Generic PLA @Elegoo Centauri.json" }, { - "name": "Elegoo PLA @ECC", - "sub_path": "filament/ECC/Elegoo PLA @ECC.json" + "name": "Generic PLA @Elegoo", + "sub_path": "filament/Generic/Generic PLA @Elegoo.json" }, { - "name": "Elegoo PLA @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA @ECC2.json" - }, - { - "name": "Elegoo PLA Basic @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PLA Basic @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA Basic @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Basic @ECC2.json" - }, - { - "name": "Elegoo PLA Galaxy @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Galaxy @ECC2.json" - }, - { - "name": "Elegoo PLA Marble @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Marble @ECC2.json" - }, - { - "name": "Elegoo PLA Matte", - "sub_path": "filament/ELEGOO/Elegoo PLA Matte.json" - }, - { - "name": "Elegoo PLA Matte @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PLA Matte @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA Matte @EC", - "sub_path": "filament/EC/Elegoo PLA Matte @EC.json" - }, - { - "name": "Elegoo PLA Matte @ECC", - "sub_path": "filament/ECC/Elegoo PLA Matte @ECC.json" - }, - { - "name": "Elegoo PLA Matte @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Matte @ECC2.json" - }, - { - "name": "Elegoo PLA PRO", - "sub_path": "filament/ELEGOO/Elegoo PLA PRO.json" - }, - { - "name": "Elegoo PLA PRO @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PLA PRO @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA PRO @EC", - "sub_path": "filament/EC/Elegoo PLA PRO @EC.json" - }, - { - "name": "Elegoo PLA PRO @ECC", - "sub_path": "filament/ECC/Elegoo PLA PRO @ECC.json" - }, - { - "name": "Elegoo PLA PRO @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA PRO @ECC2.json" - }, - { - "name": "Elegoo PLA Silk", - "sub_path": "filament/ELEGOO/Elegoo PLA Silk.json" - }, - { - "name": "Elegoo PLA Silk @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PLA Silk @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA Silk @EC", - "sub_path": "filament/EC/Elegoo PLA Silk @EC.json" - }, - { - "name": "Elegoo PLA Silk @ECC", - "sub_path": "filament/ECC/Elegoo PLA Silk @ECC.json" - }, - { - "name": "Elegoo PLA Silk @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Silk @ECC2.json" - }, - { - "name": "Elegoo PLA Sparkle @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Sparkle @ECC2.json" - }, - { - "name": "Elegoo PLA Wood @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Wood @ECC2.json" - }, - { - "name": "Elegoo PLA+", - "sub_path": "filament/ELEGOO/Elegoo PLA+.json" - }, - { - "name": "Elegoo PLA+ @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PLA+ @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA+ @EC", - "sub_path": "filament/EC/Elegoo PLA+ @EC.json" - }, - { - "name": "Elegoo PLA+ @ECC", - "sub_path": "filament/ECC/Elegoo PLA+ @ECC.json" - }, - { - "name": "Elegoo PLA+ @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA+ @ECC2.json" - }, - { - "name": "Elegoo PLA-CF", - "sub_path": "filament/ELEGOO/Elegoo PLA-CF.json" - }, - { - "name": "Elegoo PLA-CF @ECC", - "sub_path": "filament/ECC/Elegoo PLA-CF @ECC.json" - }, - { - "name": "Elegoo PLA-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA-CF @ECC2.json" - }, - { - "name": "Elegoo Rapid PETG", - "sub_path": "filament/ELEGOO/Elegoo Rapid PETG.json" - }, - { - "name": "Elegoo Rapid PETG @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo Rapid PETG @0.2 nozzle.json" - }, - { - "name": "Elegoo Rapid PETG @EC", - "sub_path": "filament/EC/Elegoo Rapid PETG @EC.json" - }, - { - "name": "Elegoo Rapid PETG @ECC", - "sub_path": "filament/ECC/Elegoo Rapid PETG @ECC.json" - }, - { - "name": "Elegoo Rapid PETG @ECC2", - "sub_path": "filament/ECC2/Elegoo Rapid PETG @ECC2.json" - }, - { - "name": "Elegoo Rapid PETG+", - "sub_path": "filament/ELEGOO/Elegoo Rapid PETG+.json" - }, - { - "name": "Elegoo Rapid PLA+", - "sub_path": "filament/ELEGOO/Elegoo Rapid PLA+.json" - }, - { - "name": "Elegoo Rapid PLA+ @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo Rapid PLA+ @0.2 nozzle.json" - }, - { - "name": "Elegoo Rapid PLA+ @EC", - "sub_path": "filament/EC/Elegoo Rapid PLA+ @EC.json" - }, - { - "name": "Elegoo Rapid PLA+ @ECC", - "sub_path": "filament/ECC/Elegoo Rapid PLA+ @ECC.json" - }, - { - "name": "Elegoo Rapid PLA+ @ECC2", - "sub_path": "filament/ECC2/Elegoo Rapid PLA+ @ECC2.json" - }, - { - "name": "Elegoo Rapid TPU 95A @ECC2", - "sub_path": "filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json" - }, - { - "name": "Elegoo TPU 95A @EC", - "sub_path": "filament/EC/Elegoo TPU 95A @EC.json" - }, - { - "name": "Elegoo TPU 95A @ECC", - "sub_path": "filament/ECC/Elegoo TPU 95A @ECC.json" - }, - { - "name": "Elegoo TPU 95A @ECC2", - "sub_path": "filament/ECC2/Elegoo TPU 95A @ECC2.json" + "name": "Generic PLA Matte @Elegoo", + "sub_path": "filament/Generic/Generic PLA Matte @Elegoo.json" } ], "machine_list": [ @@ -1447,164 +1943,32 @@ "sub_path": "machine/fdm_machine_common.json" }, { - "name": "fdm_machine_ecc_common", - "sub_path": "machine/ECC/fdm_machine_ecc_common.json" + "name": "fdm_elegoo_common", + "sub_path": "machine/fdm_elegoo_common.json" }, { "name": "fdm_elegoo_3dp_001_common", "sub_path": "machine/fdm_elegoo_3dp_001_common.json" }, - { - "name": "fdm_elegoo_common", - "sub_path": "machine/fdm_elegoo_common.json" - }, - { - "name": "fdm_machine_ecc", - "sub_path": "machine/ECC/fdm_machine_ecc.json" - }, - { - "name": "Elegoo Centauri Carbon 2 0.4 nozzle", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json" - }, - { - "name": "Elegoo OrangeStorm Giga 0.4 nozzle", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 2 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 2D 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 2S 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Max 0.4 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Plus 0.4 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 Pro 0.4 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune X 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.4 nozzle.json" - }, - { - "name": "fdm_neptune_4_common", - "sub_path": "machine/EN4SERIES/fdm_neptune_4_common.json" - }, - { - "name": "Elegoo Centauri 0.4 nozzle", - "sub_path": "machine/EC/Elegoo Centauri 0.4 nozzle.json" - }, { "name": "Elegoo Centauri Carbon 0.4 nozzle", "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json" }, { - "name": "Elegoo Centauri Carbon 2 0.2 nozzle", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.2 nozzle.json" + "name": "Elegoo Centauri Carbon 0.2 nozzle", + "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.2 nozzle.json" }, { - "name": "Elegoo Centauri Carbon 2 0.6 nozzle", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.6 nozzle.json" + "name": "Elegoo Centauri Carbon 0.6 nozzle", + "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.6 nozzle.json" }, { - "name": "Elegoo Centauri Carbon 2 0.8 nozzle", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.8 nozzle.json" + "name": "Elegoo Centauri Carbon 0.8 nozzle", + "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.8 nozzle.json" }, { - "name": "Elegoo OrangeStorm Giga 0.6 nozzle", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.6 nozzle.json" - }, - { - "name": "Elegoo OrangeStorm Giga 0.8 nozzle", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.8 nozzle.json" - }, - { - "name": "Elegoo OrangeStorm Giga 1.0 nozzle", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 1.0 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 (0.2 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 (0.2 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 (0.4 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 (0.4 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 (0.6 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 (0.6 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 (0.8 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 (0.8 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Max (0.2 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max (0.2 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Max (0.4 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max (0.4 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Max (0.6 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max (0.6 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Max (0.8 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max (0.8 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Plus (0.2 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus (0.2 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Plus (0.4 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus (0.4 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Plus (0.6 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus (0.6 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Plus (0.8 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus (0.8 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Pro (0.2 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro (0.2 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Pro (0.4 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro (0.4 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Pro (0.6 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro (0.6 nozzle).json" - }, - { - "name": "Elegoo Neptune 4 Pro (0.8 nozzle)", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro (0.8 nozzle).json" + "name": "Elegoo Centauri 0.4 nozzle", + "sub_path": "machine/EC/Elegoo Centauri 0.4 nozzle.json" }, { "name": "Elegoo Centauri 0.2 nozzle", @@ -1619,16 +1983,248 @@ "sub_path": "machine/EC/Elegoo Centauri 0.8 nozzle.json" }, { - "name": "Elegoo Centauri Carbon 0.2 nozzle", - "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.2 nozzle.json" + "name": "Elegoo Centauri Carbon 2 0.4 nozzle", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json" }, { - "name": "Elegoo Centauri Carbon 0.6 nozzle", - "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.6 nozzle.json" + "name": "Elegoo Centauri Carbon 2 0.2 nozzle", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.2 nozzle.json" }, { - "name": "Elegoo Centauri Carbon 0.8 nozzle", - "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.8 nozzle.json" + "name": "Elegoo Centauri Carbon 2 0.6 nozzle", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.6 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 2 0.8 nozzle", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Max 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Max 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Max 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Max 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Max 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 1.0 nozzle.json" + }, + { + "name": "Elegoo OrangeStorm Giga 0.4 nozzle", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json" + }, + { + "name": "Elegoo OrangeStorm Giga 0.6 nozzle", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.6 nozzle.json" + }, + { + "name": "Elegoo OrangeStorm Giga 0.8 nozzle", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.8 nozzle.json" + }, + { + "name": "Elegoo OrangeStorm Giga 1.0 nozzle", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 0.4 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 0.2 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 0.6 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 0.8 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 1.0 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 0.4 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 0.2 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 0.6 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 0.8 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 1.0 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 0.4 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 0.2 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 0.6 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 0.8 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 1.0 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 2 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 2 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune X 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune X 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune X 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 2S 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2S 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 2S 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 2D 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2D 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 2D 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.8 nozzle.json" } ] } diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo ABS @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo ABS @base.json new file mode 100644 index 0000000000..86b533bba1 --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo ABS @base.json @@ -0,0 +1,23 @@ +{ + "type": "filament", + "name": "Elegoo ABS @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "EABSB00", + "instantiation": "false", + "filament_vendor": [ + "Elegoo" + ], + "filament_density": [ + "1.1" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "270" + ], + "fan_cooling_layer_time": [ + "35" + ] +} diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo ASA @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo ASA @base.json new file mode 100644 index 0000000000..c48b5e5671 --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo ASA @base.json @@ -0,0 +1,17 @@ +{ + "type": "filament", + "name": "Elegoo ASA @base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "EASAB00", + "instantiation": "false", + "filament_vendor": [ + "Elegoo" + ], + "filament_density": [ + "1.1" + ], + "filament_max_volumetric_speed": [ + "12" + ] +} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_pla.json b/resources/profiles/Elegoo/filament/BASE/Elegoo PAHT @base.json similarity index 81% rename from resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_pla.json rename to resources/profiles/Elegoo/filament/BASE/Elegoo PAHT @base.json index 6f82d27913..87907a36f8 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_pla.json +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo PAHT @base.json @@ -1,20 +1,15 @@ { "type": "filament", - "name": "fdm_elegoo_filament_pla", - "inherits": "fdm_elegoo_filament_common", + "name": "Elegoo PAHT @base", + "inherits": "fdm_filament_pa", "from": "system", + "filament_id": "EPAHTB00", "instantiation": "false", - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PLA" - ], "filament_density": [ - "1.24" + "1.25" ], - "filament_cost": [ - "0" + "filament_max_volumetric_speed": [ + "16" ], "cool_plate_temp": [ "35" @@ -79,10 +74,10 @@ "slow_down_layer_time": [ "8" ], - "filament_start_gcode": [ - "; Filament start gcode\n" + "filament_vendor": [ + "Elegoo" ], - "filament_end_gcode": [ - "; filament end gcode \n" + "filament_start_gcode": [ + "; filament start gcode\n" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo PC @base.json similarity index 61% rename from resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @base.json rename to resources/profiles/Elegoo/filament/BASE/Elegoo PC @base.json index 06bc55b87d..d60048b30a 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @base.json +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo PC @base.json @@ -1,16 +1,16 @@ { "type": "filament", - "name": "Elegoo PLA Matte @base", - "inherits": "fdm_filament_pla", + "name": "Elegoo PC @base", + "inherits": "fdm_filament_pc", "from": "system", - "filament_id": "EPLAMB00", + "filament_id": "EPCB00", "instantiation": "false", - "filament_cost": [ - "0" - ], "filament_density": [ "1.25" ], + "filament_max_volumetric_speed": [ + "16" + ], "filament_vendor": [ "Elegoo" ], diff --git a/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_pet.json b/resources/profiles/Elegoo/filament/BASE/Elegoo PETG @base.json similarity index 63% rename from resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_pet.json rename to resources/profiles/Elegoo/filament/BASE/Elegoo PETG @base.json index 9774cf457a..29d83df77a 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_pet.json +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo PETG @base.json @@ -1,67 +1,80 @@ { "type": "filament", - "name": "fdm_elegoo_filament_pet", - "inherits": "fdm_elegoo_filament_common", + "name": "Elegoo PETG @base", + "inherits": "fdm_filament_pet", "from": "system", + "filament_id": "EPETGB00", "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], "eng_plate_temp": [ - "0" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "fan_cooling_layer_time": [ - "20" - ], - "fan_min_speed": [ - "20" - ], - "filament_cost": [ - "0" - ], - "filament_density": [ - "1.27" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "PET" - ], - "hot_plate_temp": [ - "80" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "temperature_vitrification": [ "70" ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "10" + ], + "filament_density": [ + "1.25" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_vendor": [ + "Elegoo" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], "textured_plate_temp": [ - "80" + "70" ], "textured_plate_temp_initial_layer": [ - "80" + "70" ], "filament_start_gcode": [ "; Filament start gcode\n" ], "filament_end_gcode": [ "; filament end gcode \n" + ], + "filament_type": [ + "PETG" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json similarity index 80% rename from resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @base.json rename to resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json index f4ddb101f9..40e594ee62 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @base.json +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json @@ -1,16 +1,16 @@ { "type": "filament", - "name": "Elegoo Rapid PLA+ @base", + "name": "Elegoo PLA @base", "inherits": "fdm_filament_pla", "from": "system", - "filament_id": "OGFE05", + "filament_id": "EPLAB00", "instantiation": "false", - "filament_max_volumetric_speed": [ - "21" - ], "filament_density": [ "1.25" ], + "filament_max_volumetric_speed": [ + "16" + ], "filament_vendor": [ "Elegoo" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo TPU @base.json similarity index 86% rename from resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @base.json rename to resources/profiles/Elegoo/filament/BASE/Elegoo TPU @base.json index b23bc70b5a..99ed8dc8e9 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @base.json +++ b/resources/profiles/Elegoo/filament/BASE/Elegoo TPU @base.json @@ -1,9 +1,9 @@ { "type": "filament", - "name": "Elegoo TPU 95A @base", + "name": "Elegoo TPU @base", "inherits": "fdm_filament_tpu", "from": "system", - "filament_id": "OGFE07", + "filament_id": "ETPUB00", "instantiation": "false", "filament_max_volumetric_speed": [ "3.6" diff --git a/resources/profiles/Elegoo/filament/BASE/Generic ABS @base.json b/resources/profiles/Elegoo/filament/BASE/Generic ABS @base.json new file mode 100644 index 0000000000..5607709da7 --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Generic ABS @base.json @@ -0,0 +1,17 @@ +{ + "type": "filament", + "name": "Generic ABS @base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "GABSB00", + "instantiation": "false", + "filament_max_volumetric_speed": [ + "12" + ], + "filament_vendor": [ + "Generic" + ], + "filament_type": [ + "ABS" + ] +} diff --git a/resources/profiles/Elegoo/filament/BASE/Generic ASA @base.json b/resources/profiles/Elegoo/filament/BASE/Generic ASA @base.json new file mode 100644 index 0000000000..d2f0c4672b --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Generic ASA @base.json @@ -0,0 +1,17 @@ +{ + "type": "filament", + "name": "Generic ASA @base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "GASAB00", + "instantiation": "false", + "filament_max_volumetric_speed": [ + "12" + ], + "filament_vendor": [ + "Generic" + ], + "filament_type": [ + "ASA" + ] +} diff --git a/resources/profiles/Elegoo/filament/BASE/Generic PA @base.json b/resources/profiles/Elegoo/filament/BASE/Generic PA @base.json new file mode 100644 index 0000000000..e130cbf2e2 --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Generic PA @base.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "Generic PA @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "GPAB00", + "instantiation": "false", + "chamber_temperatures": [ + "60" + ], + "fan_cooling_layer_time": [ + "65" + ], + "fan_max_speed": [ + "85" + ], + "fan_min_speed": [ + "40" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "95" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "3" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "filament_vendor": [ + "Generic" + ], + "filament_type": [ + "PA" + ] +} diff --git a/resources/profiles/Elegoo/filament/BASE/Generic PC @base.json b/resources/profiles/Elegoo/filament/BASE/Generic PC @base.json new file mode 100644 index 0000000000..71850f98a9 --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Generic PC @base.json @@ -0,0 +1,17 @@ +{ + "type": "filament", + "name": "Generic PC @base", + "inherits": "fdm_filament_pc", + "from": "system", + "filament_id": "GPCB00", + "instantiation": "false", + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "Generic" + ], + "filament_type": [ + "PC" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PETG @base.json b/resources/profiles/Elegoo/filament/BASE/Generic PET @base.json similarity index 55% rename from resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PETG @base.json rename to resources/profiles/Elegoo/filament/BASE/Generic PET @base.json index 61aa4f6714..61a6f03b96 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PETG @base.json +++ b/resources/profiles/Elegoo/filament/BASE/Generic PET @base.json @@ -1,51 +1,60 @@ { "type": "filament", - "name": "Elegoo Rapid PETG @base", + "name": "Generic PET @base", "inherits": "fdm_filament_pet", "from": "system", - "filament_id": "OGFE01", + "filament_id": "GPETB00", "instantiation": "false", - "filament_cost": [ - "13.99" + "filament_vendor": [ + "Generic" ], - "filament_density": [ - "1.28" + "filament_type": [ + "PET" ], - "filament_flow_ratio": [ - "0.98" + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" ], "filament_max_volumetric_speed": [ - "20" + "12" ], - "filament_retraction_length": [ - "0.8" + "hot_plate_temp": [ + "70" ], - "filament_retraction_speed": [ - "45" - ], - "filament_deretraction_speed": [ - "45" - ], - "filament_vendor": [ - "Elegoo" - ], - "nozzle_temperature": [ - "255" - ], - "nozzle_temperature_initial_layer": [ - "250" + "hot_plate_temp_initial_layer": [ + "70" ], "nozzle_temperature_range_high": [ "270" ], - "nozzle_temperature_range_low": [ - "240" + "overhang_fan_speed": [ + "90" ], - "hot_plate_temp": [ - "65" + "overhang_fan_threshold": [ + "10%" ], - "hot_plate_temp_initial_layer": [ - "65" + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" ], "textured_plate_temp": [ "70" @@ -53,22 +62,10 @@ "textured_plate_temp_initial_layer": [ "70" ], - "overhang_fan_speed": [ - "90" + "filament_start_gcode": [ + "; Filament start gcode\n" ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "20" - ], - "fan_cooling_layer_time": [ - "20" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" + "filament_end_gcode": [ + "; filament end gcode \n" ] } diff --git a/resources/profiles/Elegoo/filament/BASE/Generic PETG @base.json b/resources/profiles/Elegoo/filament/BASE/Generic PETG @base.json new file mode 100644 index 0000000000..046d0dab90 --- /dev/null +++ b/resources/profiles/Elegoo/filament/BASE/Generic PETG @base.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "Generic PETG @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "GPETGB00", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "12" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "filament_start_gcode": [ + "; Filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_vendor": [ + "Generic" + ], + "filament_type": [ + "PETG" + ] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @base.json b/resources/profiles/Elegoo/filament/BASE/Generic PLA @base.json similarity index 57% rename from resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @base.json rename to resources/profiles/Elegoo/filament/BASE/Generic PLA @base.json index 20062e9c39..b9b1b0299c 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @base.json +++ b/resources/profiles/Elegoo/filament/BASE/Generic PLA @base.json @@ -1,27 +1,21 @@ { "type": "filament", - "name": "Elegoo PLA Silk @base", + "name": "Generic PLA @base", "inherits": "fdm_filament_pla", "from": "system", - "filament_id": "EPLASB00", + "filament_id": "GPLAB00", "instantiation": "false", - "filament_cost": [ - "0" - ], "filament_density": [ - "1.32" - ], - "filament_vendor": [ - "Elegoo" + "1.25" ], "filament_max_volumetric_speed": [ "16" ], - "nozzle_temperature": [ - "230" + "filament_vendor": [ + "Generic" ], - "nozzle_temperature_initial_layer": [ - "230" + "filament_type": [ + "PLA" ], "filament_start_gcode": [ "; filament start gcode\n" diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo ABS @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo ABS @EC.json new file mode 100644 index 0000000000..f9dc2c1fbf --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo ABS @EC.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "Elegoo ABS @EC", + "inherits": "Elegoo ABS @base", + "from": "system", + "setting_id": "EABSEC", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo ASA @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo ASA @EC.json index b10be9fd9e..0ce8f444fc 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo ASA @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo ASA @EC.json @@ -15,6 +15,7 @@ "270" ], "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", "Elegoo Centauri 0.4 nozzle", "Elegoo Centauri 0.6 nozzle", "Elegoo Centauri 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PAHT-CF @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PAHT-CF @EC.json new file mode 100644 index 0000000000..9f0760d492 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PAHT-CF @EC.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "Elegoo PAHT-CF @EC", + "inherits": "Elegoo PAHT @base", + "from": "system", + "setting_id": "EPAHTCFEC", + "instantiation": "true", + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "pressure_advance": [ + "0.024" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PC @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PC @EC.json new file mode 100644 index 0000000000..82ec99e6a0 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PC @EC.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "Elegoo PC @EC", + "inherits": "Elegoo PC @base", + "from": "system", + "setting_id": "EPCEC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "10" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PC-FR @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PC-FR @EC.json new file mode 100644 index 0000000000..2bf1299fea --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PC-FR @EC.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "name": "Elegoo PC-FR @EC", + "inherits": "Elegoo PC @base", + "from": "system", + "setting_id": "EPCFREC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "slow_down_layer_time": [ + "10" + ], + "fan_max_speed": [ + "40" + ], + "filament_density": [ + "1.1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PETG @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PETG @EC.json new file mode 100644 index 0000000000..4c9c7ffadc --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PETG @EC.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "Elegoo PETG @EC", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGEC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "overhang_fan_threshold": [ + "50%" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "filament_max_volumetric_speed": [ + "11" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PETG PRO @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PETG PRO @EC.json index 8719208ea6..a9bc6b32ea 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo PETG PRO @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PETG PRO @EC.json @@ -1,14 +1,18 @@ { "type": "filament", "name": "Elegoo PETG PRO @EC", - "inherits": "Elegoo PETG PRO @base", + "inherits": "Elegoo PETG @base", "from": "system", "setting_id": "EPETGPROEC", "instantiation": "true", "pressure_advance": [ "0.024" ], + "overhang_fan_threshold": [ + "50%" + ], "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", "Elegoo Centauri 0.4 nozzle", "Elegoo Centauri 0.6 nozzle", "Elegoo Centauri 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PETG Translucent @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PETG Translucent @EC.json new file mode 100644 index 0000000000..8c4f9aa94d --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PETG Translucent @EC.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "Elegoo PETG Translucent @EC", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGTRANSEC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "fan_max_speed": [ + "35" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PETG-CF @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PETG-CF @EC.json new file mode 100644 index 0000000000..be07c0a6ac --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PETG-CF @EC.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Elegoo PETG-CF @EC", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGCFEC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PETG-GF @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PETG-GF @EC.json new file mode 100644 index 0000000000..1237af2f27 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PETG-GF @EC.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Elegoo PETG-GF @EC", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGFEC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PLA @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PLA @EC.json index c80383d1c5..7bb71e473a 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo PLA @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PLA @EC.json @@ -24,6 +24,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", "Elegoo Centauri 0.4 nozzle", "Elegoo Centauri 0.6 nozzle", "Elegoo Centauri 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PLA Basic @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Basic @EC.json new file mode 100644 index 0000000000..90d947c038 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Basic @EC.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "Elegoo PLA Basic @EC", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLABASICEC", + "instantiation": "true", + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PLA Galaxy @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Galaxy @EC.json new file mode 100644 index 0000000000..0aa51d0caf --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Galaxy @EC.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Elegoo PLA Galaxy @EC", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAGALAXYEC", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PLA Marble @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Marble @EC.json new file mode 100644 index 0000000000..47174d4fa3 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Marble @EC.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Elegoo PLA Marble @EC", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAMARBLEEC", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PLA Matte @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Matte @EC.json index 60226db181..3ae4399052 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo PLA Matte @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Matte @EC.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA Matte @EC", - "inherits": "Elegoo PLA Matte @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLAMEC", "instantiation": "true", @@ -35,10 +35,14 @@ "pressure_advance": [ "0.024" ], + "filament_density": [ + "1.25" + ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", "Elegoo Centauri 0.4 nozzle", "Elegoo Centauri 0.6 nozzle", "Elegoo Centauri 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PLA PRO @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PLA PRO @EC.json index 6b39f40ca9..0cc360b994 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo PLA PRO @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PLA PRO @EC.json @@ -18,6 +18,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", "Elegoo Centauri 0.4 nozzle", "Elegoo Centauri 0.6 nozzle", "Elegoo Centauri 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PLA Silk @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Silk @EC.json index 3ae634ea97..ad549484e3 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo PLA Silk @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Silk @EC.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA Silk @EC", - "inherits": "Elegoo PLA Silk @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLASEC", "instantiation": "true", @@ -32,10 +32,20 @@ "pressure_advance": [ "0.024" ], + "filament_density": [ + "1.32" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", "Elegoo Centauri 0.4 nozzle", "Elegoo Centauri 0.6 nozzle", "Elegoo Centauri 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PLA Sparkle @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Sparkle @EC.json new file mode 100644 index 0000000000..e261cfbd62 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Sparkle @EC.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Elegoo PLA Sparkle @EC", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLASPARKLEEC", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PLA Wood @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Wood @EC.json new file mode 100644 index 0000000000..bab8194d05 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PLA Wood @EC.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Elegoo PLA Wood @EC", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAWOODEC", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo PLA+ @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo PLA+ @EC.json index e37a5b261f..af2922966d 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo PLA+ @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo PLA+ @EC.json @@ -18,6 +18,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", "Elegoo Centauri 0.4 nozzle", "Elegoo Centauri 0.6 nozzle", "Elegoo Centauri 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PETG @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PETG @EC.json index 610751d621..f900f7b64b 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PETG @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PETG @EC.json @@ -2,14 +2,33 @@ "type": "filament", "name": "Elegoo Rapid PETG @EC", "renamed_from": "Elegoo RAPID PETG @EC", - "inherits": "Elegoo Rapid PETG @base", + "inherits": "Elegoo PETG @base", "from": "system", "setting_id": "ERPETGEC", "instantiation": "true", "pressure_advance": [ "0.024" ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.26" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", "Elegoo Centauri 0.4 nozzle", "Elegoo Centauri 0.6 nozzle", "Elegoo Centauri 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PLA+ @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PLA+ @EC.json index 2e7c4c9f83..72de307485 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PLA+ @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PLA+ @EC.json @@ -2,7 +2,7 @@ "type": "filament", "name": "Elegoo Rapid PLA+ @EC", "renamed_from": "Elegoo RAPID PLA+ @EC", - "inherits": "Elegoo Rapid PLA+ @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "ERPLAPLUSEC", "instantiation": "true", @@ -15,9 +15,6 @@ "fan_min_speed": [ "60" ], - "filament_max_volumetric_speed": [ - "21" - ], "hot_plate_temp": [ "60" ], @@ -36,10 +33,17 @@ "pressure_advance": [ "0.024" ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_density": [ + "1.25" + ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", "Elegoo Centauri 0.4 nozzle", "Elegoo Centauri 0.6 nozzle", "Elegoo Centauri 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo Rapid TPU 95A @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo Rapid TPU 95A @EC.json new file mode 100644 index 0000000000..18b7416471 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EC/Elegoo Rapid TPU 95A @EC.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "name": "Elegoo Rapid TPU 95A @EC", + "renamed_from": "Elegoo RAPID TPU 95A @EC", + "inherits": "Elegoo TPU @base", + "from": "system", + "setting_id": "ERTPU95AEC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo TPU 95A @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo TPU 95A @EC.json index 94d5c8c2af..815b8dbca1 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo TPU 95A @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo TPU 95A @EC.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo TPU 95A @EC", - "inherits": "Elegoo TPU 95A @base", + "inherits": "Elegoo TPU @base", "from": "system", "setting_id": "ETPU95AEC", "instantiation": "true", @@ -12,6 +12,7 @@ "0.024" ], "compatible_printers": [ + "Elegoo Centauri 0.2 nozzle", "Elegoo Centauri 0.4 nozzle", "Elegoo Centauri 0.6 nozzle", "Elegoo Centauri 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo ABS @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo ABS @ECC.json new file mode 100644 index 0000000000..919a4fb9dc --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo ABS @ECC.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "Elegoo ABS @ECC", + "inherits": "Elegoo ABS @base", + "from": "system", + "setting_id": "EABSECC", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo ASA @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo ASA @ECC.json index e12902f24c..a8d8d6c602 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo ASA @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo ASA @ECC.json @@ -15,6 +15,7 @@ "270" ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PAHT-CF @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PAHT-CF @ECC.json new file mode 100644 index 0000000000..369b51592c --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PAHT-CF @ECC.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "Elegoo PAHT-CF @ECC", + "inherits": "Elegoo PAHT @base", + "from": "system", + "setting_id": "EPAHTCFECC", + "instantiation": "true", + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "pressure_advance": [ + "0.024" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PC @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PC @ECC.json new file mode 100644 index 0000000000..feb0cbab66 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PC @ECC.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "Elegoo PC @ECC", + "inherits": "Elegoo PC @base", + "from": "system", + "setting_id": "EPCECC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "10" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PC-FR @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PC-FR @ECC.json new file mode 100644 index 0000000000..fff4c52299 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PC-FR @ECC.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "name": "Elegoo PC-FR @ECC", + "inherits": "Elegoo PC @base", + "from": "system", + "setting_id": "EPCFRSECC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "slow_down_layer_time": [ + "10" + ], + "fan_max_speed": [ + "40" + ], + "filament_density": [ + "1.1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PETG @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PETG @ECC.json new file mode 100644 index 0000000000..200d4ffac0 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PETG @ECC.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "Elegoo PETG @ECC", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGECC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "overhang_fan_threshold": [ + "50%" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "filament_max_volumetric_speed": [ + "11" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PETG PRO @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PETG PRO @ECC.json index 21df199cc9..64700f002f 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo PETG PRO @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PETG PRO @ECC.json @@ -1,14 +1,18 @@ { "type": "filament", "name": "Elegoo PETG PRO @ECC", - "inherits": "Elegoo PETG PRO @base", + "inherits": "Elegoo PETG @base", "from": "system", "setting_id": "EPETGPROECC", "instantiation": "true", "pressure_advance": [ "0.024" ], + "overhang_fan_threshold": [ + "50%" + ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PETG Translucent @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PETG Translucent @ECC.json new file mode 100644 index 0000000000..c9d7b2301a --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PETG Translucent @ECC.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "Elegoo PETG Translucent @ECC", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGTRANSECC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "fan_max_speed": [ + "35" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PETG-CF @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PETG-CF @ECC.json new file mode 100644 index 0000000000..1d046fdcc1 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PETG-CF @ECC.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Elegoo PETG-CF @ECC", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGCFECC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PETG-GF @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PETG-GF @ECC.json new file mode 100644 index 0000000000..4d9798fa0e --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PETG-GF @ECC.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Elegoo PETG-GF @ECC", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGFECC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA @ECC.json index c9b28a0b16..d8c24383e5 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA @ECC.json @@ -24,6 +24,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Basic @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Basic @ECC.json new file mode 100644 index 0000000000..24f95617d1 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Basic @ECC.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "Elegoo PLA Basic @ECC", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLABASICECC", + "instantiation": "true", + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Galaxy @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Galaxy @ECC.json new file mode 100644 index 0000000000..985b30cc8a --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Galaxy @ECC.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Elegoo PLA Galaxy @ECC", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAGALAXYECC", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Marble @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Marble @ECC.json new file mode 100644 index 0000000000..57987e1848 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Marble @ECC.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Elegoo PLA Marble @ECC", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAMARBLEECC", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Matte @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Matte @ECC.json index 7208c685d8..e6c86c3acc 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Matte @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Matte @ECC.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA Matte @ECC", - "inherits": "Elegoo PLA Matte @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLAMECC", "instantiation": "true", @@ -35,10 +35,14 @@ "pressure_advance": [ "0.024" ], + "filament_density": [ + "1.25" + ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA PRO @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA PRO @ECC.json index 364df460d6..7748b9ba68 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA PRO @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA PRO @ECC.json @@ -18,6 +18,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Silk @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Silk @ECC.json index 554ad02b38..632e7beceb 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Silk @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Silk @ECC.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA Silk @ECC", - "inherits": "Elegoo PLA Silk @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLASECC", "instantiation": "true", @@ -32,10 +32,20 @@ "pressure_advance": [ "0.024" ], + "filament_density": [ + "1.32" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Sparkle @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Sparkle @ECC.json new file mode 100644 index 0000000000..10ce75ed7f --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Sparkle @ECC.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Elegoo PLA Sparkle @ECC", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLASPARKLEECC", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Wood @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Wood @ECC.json new file mode 100644 index 0000000000..5b425257c1 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA Wood @ECC.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Elegoo PLA Wood @ECC", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAWOODECC", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA+ @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA+ @ECC.json index b1d24a5ddd..742e5e9b8e 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA+ @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA+ @ECC.json @@ -18,6 +18,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA-CF @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA-CF @ECC.json index a5ab11334b..fcde303333 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo PLA-CF @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo PLA-CF @ECC.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA-CF @ECC", - "inherits": "Elegoo PLA-CF @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLACFECC", "instantiation": "true", @@ -35,10 +35,26 @@ "pressure_advance": [ "0.024" ], + "additional_cooling_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "filament_density": [ + "1.21" + ], + "required_nozzle_HRC": [ + "40" + ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PETG @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PETG @ECC.json index 9fc44c3563..28a5b9054d 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PETG @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PETG @ECC.json @@ -2,14 +2,33 @@ "type": "filament", "name": "Elegoo Rapid PETG @ECC", "renamed_from": "Elegoo RAPID PETG @ECC", - "inherits": "Elegoo Rapid PETG @base", + "inherits": "Elegoo PETG @base", "from": "system", "setting_id": "ERPETGECC", "instantiation": "true", "pressure_advance": [ "0.024" ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.26" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PLA+ @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PLA+ @ECC.json index ae3ad160a0..9d052c69af 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PLA+ @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PLA+ @ECC.json @@ -2,7 +2,7 @@ "type": "filament", "name": "Elegoo Rapid PLA+ @ECC", "renamed_from": "Elegoo RAPID PLA+ @ECC", - "inherits": "Elegoo Rapid PLA+ @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "ERPLAPLUSECC", "instantiation": "true", @@ -15,9 +15,6 @@ "fan_min_speed": [ "60" ], - "filament_max_volumetric_speed": [ - "21" - ], "hot_plate_temp": [ "60" ], @@ -36,10 +33,17 @@ "pressure_advance": [ "0.024" ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_density": [ + "1.25" + ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid TPU 95A @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid TPU 95A @ECC.json new file mode 100644 index 0000000000..721646104a --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid TPU 95A @ECC.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "name": "Elegoo Rapid TPU 95A @ECC", + "renamed_from": "Elegoo RAPID TPU 95A @ECC", + "inherits": "Elegoo TPU @base", + "from": "system", + "setting_id": "ERTPU95AECC", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo TPU 95A @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo TPU 95A @ECC.json index 902c335bd9..1591f349de 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo TPU 95A @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo TPU 95A @ECC.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo TPU 95A @ECC", - "inherits": "Elegoo TPU 95A @base", + "inherits": "Elegoo TPU @base", "from": "system", "setting_id": "ETPU95AECC", "instantiation": "true", @@ -12,6 +12,7 @@ "0.024" ], "compatible_printers": [ + "Elegoo Centauri Carbon 0.2 nozzle", "Elegoo Centauri Carbon 0.4 nozzle", "Elegoo Centauri Carbon 0.6 nozzle", "Elegoo Centauri Carbon 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo ABS @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo ABS @ECC2.json index 4fed4b473f..f1b2d92f84 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo ABS @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo ABS @ECC2.json @@ -12,7 +12,10 @@ "18" ], "pressure_advance": [ - "0.024" + "0.04" + ], + "enable_pressure_advance": [ + "1" ], "nozzle_temperature": [ "270" @@ -21,6 +24,7 @@ "270" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo ASA @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo ASA @ECC2.json index 76be9c7991..16bf2c9783 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo ASA @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo ASA @ECC2.json @@ -6,7 +6,10 @@ "setting_id": "EASAECC2", "instantiation": "true", "pressure_advance": [ - "0.024" + "0.04" + ], + "enable_pressure_advance": [ + "1" ], "nozzle_temperature": [ "270" @@ -15,6 +18,7 @@ "270" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo ASA-CF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo ASA-CF @ECC2.json new file mode 100644 index 0000000000..70e62631ad --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo ASA-CF @ECC2.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Elegoo ASA-CF @ECC2", + "inherits": "Elegoo ASA @base", + "from": "system", + "setting_id": "EASACFECC2", + "instantiation": "true", + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "fan_max_speed": [ + "30" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PAHT-CF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PAHT-CF @ECC2.json index 1505e0c75d..01f9a78a39 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PAHT-CF @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PAHT-CF @ECC2.json @@ -21,7 +21,7 @@ "0.96" ], "filament_max_volumetric_speed": [ - "8" + "6" ], "nozzle_temperature": [ "290" @@ -57,12 +57,16 @@ "100" ], "pressure_advance": [ - "0.024" + "0.052" + ], + "enable_pressure_advance": [ + "1" ], "filament_start_gcode": [ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PC @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PC @ECC2.json index 642343e5a4..121ef6cc23 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PC @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PC @ECC2.json @@ -6,7 +6,10 @@ "setting_id": "EPCECC2", "instantiation": "true", "pressure_advance": [ - "0.024" + "0.052" + ], + "enable_pressure_advance": [ + "1" ], "nozzle_temperature": [ "270" @@ -48,6 +51,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PC-FR @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PC-FR @ECC2.json index ab4d459fe7..b33fa92dd8 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PC-FR @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PC-FR @ECC2.json @@ -6,7 +6,10 @@ "setting_id": "EPCFRECC2", "instantiation": "true", "pressure_advance": [ - "0.024" + "0.05" + ], + "enable_pressure_advance": [ + "1" ], "nozzle_temperature": [ "280" @@ -33,6 +36,7 @@ "18" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PET-CF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PET-CF @ECC2.json new file mode 100644 index 0000000000..a93f92a80c --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PET-CF @ECC2.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "name": "Elegoo PET-CF @ECC2", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETCFECC2", + "instantiation": "true", + "pressure_advance": [ + "0.05" + ], + "enable_pressure_advance": [ + "1" + ], + "fan_cooling_layer_time": [ + "5" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_type": [ + "PET-CF" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG @ECC2.json index fcee6ef7f0..86b59e05f2 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG @ECC2.json @@ -6,7 +6,10 @@ "setting_id": "EPETGECC2", "instantiation": "true", "pressure_advance": [ - "0.024" + "0.05" + ], + "enable_pressure_advance": [ + "1" ], "overhang_fan_threshold": [ "50%" @@ -21,6 +24,7 @@ "11" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG HF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG HF @ECC2.json new file mode 100644 index 0000000000..8b9a2424c7 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG HF @ECC2.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Elegoo PETG HF @ECC2", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "ERPETGHFECC2", + "instantiation": "true", + "pressure_advance": [ + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_flow_ratio": [ + "0.99" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.26" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "fan_max_speed": [ + "50" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "overhang_fan_speed": [ + "100" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG PRO @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG PRO @ECC2.json index 14d43704ec..870da6bc17 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG PRO @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG PRO @ECC2.json @@ -6,12 +6,19 @@ "setting_id": "EPETGPROECC2", "instantiation": "true", "pressure_advance": [ - "0.024" + "0.1" ], "overhang_fan_threshold": [ "50%" ], + "enable_pressure_advance": [ + "1" + ], + "filament_max_volumetric_speed": [ + "5" + ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG Translucent @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG Translucent @ECC2.json index 5c7f09a55c..f6e2415659 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG Translucent @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG Translucent @ECC2.json @@ -6,7 +6,10 @@ "setting_id": "EPETGTRANSECC2", "instantiation": "true", "pressure_advance": [ - "0.024" + "0.052" + ], + "enable_pressure_advance": [ + "1" ], "fan_max_speed": [ "35" @@ -21,6 +24,7 @@ "255" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-CF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-CF @ECC2.json index f7ff32fbbd..f20bd21e4a 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-CF @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-CF @ECC2.json @@ -6,7 +6,13 @@ "setting_id": "EPETGCFECC2", "instantiation": "true", "pressure_advance": [ - "0.024" + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_flow_ratio": [ + "0.99" ], "filament_density": [ "1.26" @@ -24,7 +30,7 @@ "5" ], "filament_max_volumetric_speed": [ - "15" + "12" ], "nozzle_temperature_range_low": [ "240" @@ -36,6 +42,7 @@ "6" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-GF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-GF @ECC2.json index f02df0da7c..2793ff9477 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-GF @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PETG-GF @ECC2.json @@ -6,7 +6,10 @@ "setting_id": "EPETGFECC2", "instantiation": "true", "pressure_advance": [ - "0.024" + "0.052" + ], + "enable_pressure_advance": [ + "1" ], "filament_density": [ "1.26" @@ -24,7 +27,7 @@ "5" ], "filament_max_volumetric_speed": [ - "12" + "10" ], "nozzle_temperature_range_low": [ "240" @@ -36,6 +39,7 @@ "6" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA @ECC2.json index 4038f77558..736498b463 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA @ECC2.json @@ -15,7 +15,10 @@ "210" ], "pressure_advance": [ - "0.024" + "0.04" + ], + "enable_pressure_advance": [ + "1" ], "slow_down_layer_time": [ "4" @@ -24,6 +27,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Basic @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Basic @ECC2.json index d183be3c8b..1e76fce7e2 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Basic @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Basic @ECC2.json @@ -18,7 +18,10 @@ "21" ], "pressure_advance": [ - "0.024" + "0.04" + ], + "enable_pressure_advance": [ + "1" ], "slow_down_layer_time": [ "4" @@ -27,6 +30,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Galaxy @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Galaxy @ECC2.json index d44860f7d1..cb355299a7 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Galaxy @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Galaxy @ECC2.json @@ -21,7 +21,10 @@ "220" ], "pressure_advance": [ - "0.024" + "0.04" + ], + "enable_pressure_advance": [ + "1" ], "slow_down_layer_time": [ "4" @@ -30,6 +33,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Glow @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Glow @ECC2.json new file mode 100644 index 0000000000..682525af9c --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Glow @ECC2.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "name": "Elegoo PLA Glow @ECC2", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAGLOWECC2", + "instantiation": "true", + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "fan_min_speed": [ + "100" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Marble @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Marble @ECC2.json index 18983d4300..52ad79f270 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Marble @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Marble @ECC2.json @@ -21,7 +21,10 @@ "220" ], "pressure_advance": [ - "0.024" + "0.052" + ], + "enable_pressure_advance": [ + "1" ], "slow_down_layer_time": [ "4" @@ -30,6 +33,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Matte @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Matte @ECC2.json index 2180b58746..525deb582e 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Matte @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Matte @ECC2.json @@ -33,10 +33,10 @@ "65" ], "pressure_advance": [ - "0.024" + "0.04" ], - "filament_cost": [ - "0" + "enable_pressure_advance": [ + "1" ], "filament_density": [ "1.25" @@ -45,6 +45,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA PRO @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA PRO @ECC2.json index 1ac239ac62..bff9ce802f 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA PRO @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA PRO @ECC2.json @@ -8,8 +8,14 @@ "filament_max_volumetric_speed": [ "20" ], + "enable_pressure_advance": [ + "1" + ], + "filament_flow_ratio": [ + "0.99" + ], "pressure_advance": [ - "0.024" + "0.032" ], "slow_down_layer_time": [ "6" @@ -18,6 +24,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Silk @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Silk @ECC2.json index 4e19036ec4..b56b658023 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Silk @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Silk @ECC2.json @@ -29,8 +29,11 @@ "textured_plate_temp_initial_layer": [ "65" ], + "enable_pressure_advance": [ + "1" + ], "pressure_advance": [ - "0.024" + "0.04" ], "filament_density": [ "1.32" @@ -45,6 +48,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Sparkle @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Sparkle @ECC2.json index 7cd31b7ace..30aa2989df 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Sparkle @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Sparkle @ECC2.json @@ -21,7 +21,13 @@ "220" ], "pressure_advance": [ - "0.024" + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_flow_ratio": [ + "0.99" ], "slow_down_layer_time": [ "4" @@ -30,6 +36,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Translucent2 @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Translucent2 @ECC2.json new file mode 100644 index 0000000000..e36ab37b49 --- /dev/null +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Translucent2 @ECC2.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Elegoo PLA Translucent2 @ECC2", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLATRA2ECC2", + "instantiation": "true", + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "fan_min_speed": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "0.4" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Wood @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Wood @ECC2.json index ccdbe6b8d6..7fc7061177 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Wood @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA Wood @ECC2.json @@ -9,7 +9,7 @@ "80" ], "filament_max_volumetric_speed": [ - "15" + "10" ], "nozzle_temperature": [ "220" @@ -21,7 +21,10 @@ "200" ], "pressure_advance": [ - "0.024" + "0.052" + ], + "enable_pressure_advance": [ + "1" ], "slow_down_layer_time": [ "4" @@ -30,6 +33,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA+ @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA+ @ECC2.json index daa5489962..2c5a5e545e 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA+ @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA+ @ECC2.json @@ -9,7 +9,10 @@ "20" ], "pressure_advance": [ - "0.024" + "0.04" + ], + "enable_pressure_advance": [ + "1" ], "slow_down_layer_time": [ "6" @@ -18,6 +21,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA-CF @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA-CF @ECC2.json index 8c251ab8d1..1a2e475550 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA-CF @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo PLA-CF @ECC2.json @@ -15,7 +15,7 @@ "60" ], "filament_max_volumetric_speed": [ - "21" + "16" ], "hot_plate_temp": [ "60" @@ -33,7 +33,10 @@ "65" ], "pressure_advance": [ - "0.024" + "0.032" + ], + "enable_pressure_advance": [ + "1" ], "additional_cooling_fan_speed": [ "0" @@ -54,6 +57,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PETG @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PETG @ECC2.json index 91cbceb2cc..d6db5dca46 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PETG @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PETG @ECC2.json @@ -7,7 +7,13 @@ "setting_id": "ERPETGECC2", "instantiation": "true", "pressure_advance": [ - "0.024" + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_flow_ratio": [ + "0.99" ], "fan_max_speed": [ "80" @@ -28,6 +34,7 @@ "250" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PLA+ @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PLA+ @ECC2.json index a41efc1c8e..8305cd4342 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PLA+ @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PLA+ @ECC2.json @@ -31,7 +31,10 @@ "60" ], "pressure_advance": [ - "0.024" + "0.04" + ], + "enable_pressure_advance": [ + "1" ], "filament_max_volumetric_speed": [ "21" @@ -43,6 +46,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json index c8ea469dd8..b94440f1b0 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json @@ -7,7 +7,10 @@ "setting_id": "ERTPU95AECC2", "instantiation": "true", "pressure_advance": [ - "0.024" + "0.1" + ], + "enable_pressure_advance": [ + "1" ], "nozzle_temperature": [ "230" @@ -22,6 +25,7 @@ "12" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo TPU 95A @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo TPU 95A @ECC2.json index 009e50dbeb..4325247c92 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo TPU 95A @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo TPU 95A @ECC2.json @@ -9,9 +9,13 @@ "3.2" ], "pressure_advance": [ - "0.024" + "0.1" + ], + "enable_pressure_advance": [ + "1" ], "compatible_printers": [ + "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Centauri Carbon 2 0.4 nozzle", "Elegoo Centauri Carbon 2 0.6 nozzle", "Elegoo Centauri Carbon 2 0.8 nozzle" diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo ASA.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo ASA.json deleted file mode 100644 index 210ee1fe30..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo ASA.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo ASA", - "inherits": "Elegoo ASA @base", - "from": "system", - "setting_id": "EASA00", - "instantiation": "true", - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG PRO.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG PRO.json deleted file mode 100644 index 19b22659ba..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG PRO.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo PETG PRO", - "inherits": "Elegoo PETG PRO @base", - "from": "system", - "setting_id": "EPETGPRO00", - "instantiation": "true", - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Matte.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Matte.json deleted file mode 100644 index d22d17e1cb..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Matte.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo PLA Matte", - "inherits": "Elegoo PLA Matte @base", - "from": "system", - "setting_id": "EPLAM00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA PRO.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA PRO.json deleted file mode 100644 index 35609d661b..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA PRO.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo PLA PRO", - "inherits": "Elegoo PLA @base", - "from": "system", - "setting_id": "EPLAPRO00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "16" - ], - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Silk.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Silk.json deleted file mode 100644 index cb47704ad3..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Silk.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo PLA Silk", - "inherits": "Elegoo PLA Silk @base", - "from": "system", - "setting_id": "EPLAS00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA+.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA+.json deleted file mode 100644 index d76577dba5..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA+.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo PLA+", - "inherits": "Elegoo PLA @base", - "from": "system", - "setting_id": "EPLAPLUS00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "16" - ], - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA-CF.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA-CF.json deleted file mode 100644 index 74423784f5..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA-CF.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo PLA-CF", - "inherits": "Elegoo PLA-CF @base", - "from": "system", - "setting_id": "EPLACF00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA.json deleted file mode 100644 index c4c802ce81..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo PLA", - "inherits": "Elegoo PLA @base", - "from": "system", - "setting_id": "EPLA00", - "instantiation": "true", - "filament_max_volumetric_speed": [ - "15" - ], - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG+.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG+.json deleted file mode 100644 index 608abcc7af..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG+.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo Rapid PETG+", - "renamed_from": "Elegoo RAPID PETG+", - "inherits": "Elegoo Rapid PETG @base", - "from": "system", - "setting_id": "ERPETGPLUS00", - "instantiation": "true", - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG.json deleted file mode 100644 index a8d2fdc67b..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo Rapid PETG", - "renamed_from": "Elegoo RAPID PETG", - "inherits": "Elegoo Rapid PETG @base", - "from": "system", - "setting_id": "ERPETG00", - "instantiation": "true", - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+.json deleted file mode 100644 index 59b5f3f768..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo Rapid PLA+", - "renamed_from": "Elegoo RAPID PLA+", - "inherits": "Elegoo Rapid PLA+ @base", - "from": "system", - "setting_id": "ERPLAPLUS00", - "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "21" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "slow_down_layer_time": [ - "6" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", - "Elegoo Neptune 2 0.4 nozzle", - "Elegoo Neptune 2S 0.4 nozzle", - "Elegoo Neptune 2D 0.4 nozzle", - "Elegoo Neptune 3 0.4 nozzle", - "Elegoo Neptune 3 Pro 0.4 nozzle", - "Elegoo Neptune 3 Plus 0.4 nozzle", - "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_common.json b/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_common.json deleted file mode 100644 index 23c6055155..0000000000 --- a/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_common.json +++ /dev/null @@ -1,160 +0,0 @@ -{ - "type": "filament", - "name": "fdm_elegoo_filament_common", - "from": "system", - "instantiation": "false", - "activate_air_filtration": [ - "0" - ], - "chamber_temperatures": [ - "0" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "complete_print_exhaust_fan_speed": [ - "70" - ], - "cool_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "during_print_exhaust_fan_speed": [ - "70" - ], - "eng_plate_temp": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "fan_cooling_layer_time": [ - "60" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "35" - ], - "filament_cost": [ - "0" - ], - "filament_density": [ - "0" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "1.75" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_is_support": [ - "0" - ], - "filament_max_volumetric_speed": [ - "1" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_settings_id": [ - "" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA" - ], - "filament_vendor": [ - "Elegoo" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "full_fan_speed_layer": [ - "0" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature": [ - "200" - ], - "nozzle_temperature_initial_layer": [ - "200" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "95%" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "required_nozzle_HRC": [ - "3" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "temperature_vitrification": [ - "100" - ], - "textured_plate_temp": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "compatible_printers": [], - "filament_start_gcode": [ - "; Filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo ABS @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo ABS @0.2 nozzle.json similarity index 85% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo ABS @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo ABS @0.2 nozzle.json index 4711fdef0a..30e9e2e6a8 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo ABS @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo ABS @0.2 nozzle.json @@ -21,9 +21,6 @@ "270" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo ASA @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo ASA @0.2 nozzle.json similarity index 81% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo ASA @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo ASA @0.2 nozzle.json index 79f3f1d5ce..44e4e04e3c 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo ASA @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo ASA @0.2 nozzle.json @@ -9,9 +9,6 @@ "3.2" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PC @0.2 nozzle.json similarity index 93% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PC @0.2 nozzle.json index f8504aa5f3..61352cbe95 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PC @0.2 nozzle.json @@ -48,9 +48,6 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC-FR @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PC-FR @0.2 nozzle.json similarity index 88% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC-FR @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PC-FR @0.2 nozzle.json index 87be6e537a..fa46890a50 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PC-FR @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PC-FR @0.2 nozzle.json @@ -33,9 +33,6 @@ "18" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PETG @0.2 nozzle.json similarity index 85% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PETG @0.2 nozzle.json index 4873edc9b2..156463b35e 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PETG @0.2 nozzle.json @@ -21,9 +21,6 @@ "11" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG PRO @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PETG PRO @0.2 nozzle.json similarity index 71% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG PRO @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PETG PRO @0.2 nozzle.json index c5acc3b949..d3494d3080 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG PRO @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PETG PRO @0.2 nozzle.json @@ -1,17 +1,14 @@ { "type": "filament", "name": "Elegoo PETG PRO @0.2 nozzle", - "inherits": "Elegoo PETG PRO @base", + "inherits": "Elegoo PETG @base", "from": "system", - "setting_id": "EGPETG00020", + "setting_id": "EPETGPRO00020", "instantiation": "true", "filament_max_volumetric_speed": [ "1" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG Translucent @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PETG Translucent @0.2 nozzle.json similarity index 85% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG Translucent @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PETG Translucent @0.2 nozzle.json index 56f76c5a22..6890ddb9a9 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PETG Translucent @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PETG Translucent @0.2 nozzle.json @@ -21,9 +21,6 @@ "255" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA @0.2 nozzle.json similarity index 81% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA @0.2 nozzle.json index 9a9d0a7a4f..bed4e50ce7 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA @0.2 nozzle.json @@ -1,17 +1,14 @@ { "type": "filament", "name": "Elegoo PLA @0.2 nozzle", - "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLA00020", "instantiation": "true", + "inherits": "Elegoo PLA @base", "filament_max_volumetric_speed": [ "3.2" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Basic @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA Basic @0.2 nozzle.json similarity index 91% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Basic @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA Basic @0.2 nozzle.json index 0bc42c3cf9..cfa1d70b64 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Basic @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA Basic @0.2 nozzle.json @@ -27,9 +27,6 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Matte @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA Matte @0.2 nozzle.json similarity index 83% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Matte @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA Matte @0.2 nozzle.json index ff1b59c187..04fb166a67 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Matte @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA Matte @0.2 nozzle.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA Matte @0.2 nozzle", - "inherits": "Elegoo PLA Matte @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLAM00020", "instantiation": "true", @@ -32,10 +32,10 @@ "textured_plate_temp_initial_layer": [ "65" ], + "filament_density": [ + "1.25" + ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA PRO @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA PRO @0.2 nozzle.json similarity index 81% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA PRO @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA PRO @0.2 nozzle.json index b3a5baba18..7cda893c0a 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA PRO @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA PRO @0.2 nozzle.json @@ -9,9 +9,6 @@ "3.2" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Silk @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA Silk @0.2 nozzle.json similarity index 83% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Silk @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA Silk @0.2 nozzle.json index 7ba7132d4f..bf907a05c7 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA Silk @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA Silk @0.2 nozzle.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA Silk @0.2 nozzle", - "inherits": "Elegoo PLA Silk @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "EPLAS00020", "instantiation": "true", @@ -32,10 +32,16 @@ "textured_plate_temp_initial_layer": [ "60" ], + "filament_density": [ + "1.32" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA+ @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA+ @0.2 nozzle.json similarity index 81% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA+ @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA+ @0.2 nozzle.json index 6499f4afff..11989fcb15 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo PLA+ @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo PLA+ @0.2 nozzle.json @@ -9,9 +9,6 @@ "3.2" ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo Rapid PETG @0.2 nozzle.json similarity index 70% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo Rapid PETG @0.2 nozzle.json index 03a6468556..ed9d38cd90 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo Rapid PETG @0.2 nozzle.json @@ -2,17 +2,29 @@ "type": "filament", "name": "Elegoo Rapid PETG @0.2 nozzle", "renamed_from": "Elegoo RAPID PETG @0.2 nozzle", - "inherits": "Elegoo Rapid PETG @base", + "inherits": "Elegoo PETG @base", "from": "system", "setting_id": "ERPETG00020", "instantiation": "true", "filament_max_volumetric_speed": [ "1" ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+ @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo Rapid PLA+ @0.2 nozzle.json similarity index 77% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+ @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo Rapid PLA+ @0.2 nozzle.json index 14e6e1c8cb..b031e6a3bb 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+ @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO_02_NOZZLE/Elegoo Rapid PLA+ @0.2 nozzle.json @@ -2,17 +2,17 @@ "type": "filament", "name": "Elegoo Rapid PLA+ @0.2 nozzle", "renamed_from": "Elegoo RAPID PLA+ @0.2 nozzle", - "inherits": "Elegoo Rapid PLA+ @base", + "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "ERPLAPLUS00020", "instantiation": "true", "filament_max_volumetric_speed": [ "3.2" ], + "filament_density": [ + "1.25" + ], "compatible_printers": [ - "Elegoo Centauri 0.2 nozzle", - "Elegoo Centauri Carbon 0.2 nozzle", - "Elegoo Centauri Carbon 2 0.2 nozzle", "Elegoo Neptune 4 0.2 nozzle", "Elegoo Neptune 4 Pro 0.2 nozzle", "Elegoo Neptune 4 Plus 0.2 nozzle", diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo ASA @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo ASA @EN2 Series.json new file mode 100644 index 0000000000..fbc0cd346e --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo ASA @EN2 Series.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "name": "Elegoo ASA @EN2 Series", + "inherits": "Elegoo ASA @base", + "from": "system", + "setting_id": "EASAEN2", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "8" + ], + "fan_max_speed": [ + "100" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG @EN2 Series.json new file mode 100644 index 0000000000..de9093ed44 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG @EN2 Series.json @@ -0,0 +1,43 @@ +{ + "type": "filament", + "name": "Elegoo PETG @EN2 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGEN2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "overhang_fan_threshold": [ + "50%" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "filament_max_volumetric_speed": [ + "11" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG PRO @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG PRO @EN2 Series.json new file mode 100644 index 0000000000..3d9f986811 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG PRO @EN2 Series.json @@ -0,0 +1,43 @@ +{ + "type": "filament", + "name": "Elegoo PETG PRO @EN2 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGPROEN2", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "50" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG Translucent @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG Translucent @EN2 Series.json new file mode 100644 index 0000000000..2dd0079603 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG Translucent @EN2 Series.json @@ -0,0 +1,43 @@ +{ + "type": "filament", + "name": "Elegoo PETG Translucent @EN2 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGTRANSEN2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "fan_max_speed": [ + "35" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG-CF @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG-CF @EN2 Series.json new file mode 100644 index 0000000000..eb61024e9d --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG-CF @EN2 Series.json @@ -0,0 +1,58 @@ +{ + "type": "filament", + "name": "Elegoo PETG-CF @EN2 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGCFEN2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG-GF @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG-GF @EN2 Series.json new file mode 100644 index 0000000000..471d0bb72f --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PETG-GF @EN2 Series.json @@ -0,0 +1,58 @@ +{ + "type": "filament", + "name": "Elegoo PETG-GF @EN2 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGFEN2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA @EN2 Series.json new file mode 100644 index 0000000000..1043b0ecca --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA @EN2 Series.json @@ -0,0 +1,46 @@ +{ + "type": "filament", + "name": "Elegoo PLA @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAEN2", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "9" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Basic @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Basic @EN2 Series.json new file mode 100644 index 0000000000..ab1a33a57c --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Basic @EN2 Series.json @@ -0,0 +1,49 @@ +{ + "type": "filament", + "name": "Elegoo PLA Basic @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLABASICEN2", + "instantiation": "true", + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Galaxy @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Galaxy @EN2 Series.json new file mode 100644 index 0000000000..1f42e7c028 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Galaxy @EN2 Series.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Elegoo PLA Galaxy @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAGALAXYEN2", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Marble @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Marble @EN2 Series.json new file mode 100644 index 0000000000..a2f3e55a16 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Marble @EN2 Series.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Elegoo PLA Marble @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAMARBLEEN2", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Matte @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Matte @EN2 Series.json new file mode 100644 index 0000000000..799e8181e4 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Matte @EN2 Series.json @@ -0,0 +1,61 @@ +{ + "type": "filament", + "name": "Elegoo PLA Matte @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAMEN2", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA PRO @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA PRO @EN2 Series.json new file mode 100644 index 0000000000..9e9e95e770 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA PRO @EN2 Series.json @@ -0,0 +1,46 @@ +{ + "type": "filament", + "name": "Elegoo PLA PRO @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAPROEN2", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Silk @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Silk @EN2 Series.json new file mode 100644 index 0000000000..f7319a958d --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Silk @EN2 Series.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Elegoo PLA Silk @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLASEN2", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "9" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "filament_density": [ + "1.32" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Sparkle @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Sparkle @EN2 Series.json new file mode 100644 index 0000000000..7fa37edb94 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Sparkle @EN2 Series.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Elegoo PLA Sparkle @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLASPARKLEEN2", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Wood @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Wood @EN2 Series.json new file mode 100644 index 0000000000..4c9153155a --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA Wood @EN2 Series.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Elegoo PLA Wood @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAWOODEN2", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA+ @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA+ @EN2 Series.json new file mode 100644 index 0000000000..e3f5a23d48 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA+ @EN2 Series.json @@ -0,0 +1,46 @@ +{ + "type": "filament", + "name": "Elegoo PLA+ @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAPLUSEN2", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA-CF @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA-CF @EN2 Series.json new file mode 100644 index 0000000000..902ef1c5d6 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo PLA-CF @EN2 Series.json @@ -0,0 +1,76 @@ +{ + "type": "filament", + "name": "Elegoo PLA-CF @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLACFEN2", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "filament_density": [ + "1.21" + ], + "required_nozzle_HRC": [ + "40" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid PETG @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid PETG @EN2 Series.json new file mode 100644 index 0000000000..41d095cf50 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid PETG @EN2 Series.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Elegoo Rapid PETG @EN2 Series", + "renamed_from": "Elegoo RAPID PETG @EN2 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "ERPETGEN2", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "50" + ], + "filament_density": [ + "1.26" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid PLA+ @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid PLA+ @EN2 Series.json new file mode 100644 index 0000000000..382ce0d8d5 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid PLA+ @EN2 Series.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "Elegoo Rapid PLA+ @EN2 Series", + "renamed_from": "Elegoo RAPID PLA+ @EN2 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "ERPLAPLUSEN2", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "filament_density": [ + "1.25" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid TPU 95A @EN2 Series.json b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid TPU 95A @EN2 Series.json new file mode 100644 index 0000000000..fd4d6e9652 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN2SERIES/Elegoo Rapid TPU 95A @EN2 Series.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "name": "Elegoo Rapid TPU 95A @EN2 Series", + "renamed_from": "Elegoo RAPID TPU 95A @EN2 Series", + "inherits": "Elegoo TPU @base", + "from": "system", + "setting_id": "ERTPU95AEN2", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Elegoo Neptune 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo ASA @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo ASA @EN3 Series.json new file mode 100644 index 0000000000..5de869a658 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo ASA @EN3 Series.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "name": "Elegoo ASA @EN3 Series", + "inherits": "Elegoo ASA @base", + "from": "system", + "setting_id": "EASAEN3", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "8" + ], + "fan_max_speed": [ + "100" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG @EN3 Series.json new file mode 100644 index 0000000000..781b808133 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG @EN3 Series.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "Elegoo PETG @EN3 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGEN3", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "overhang_fan_threshold": [ + "50%" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "filament_max_volumetric_speed": [ + "11" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG PRO @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG PRO @EN3 Series.json new file mode 100644 index 0000000000..c498f1e598 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG PRO @EN3 Series.json @@ -0,0 +1,40 @@ +{ + "type": "filament", + "name": "Elegoo PETG PRO @EN3 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGPROEN3", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "50%" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG Translucent @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG Translucent @EN3 Series.json new file mode 100644 index 0000000000..971d53656e --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG Translucent @EN3 Series.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "Elegoo PETG Translucent @EN3 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGTRANSEN3", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "fan_max_speed": [ + "35" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG-CF @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG-CF @EN3 Series.json new file mode 100644 index 0000000000..f98b403cdb --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG-CF @EN3 Series.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Elegoo PETG-CF @EN3 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGCFEN3", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG-GF @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG-GF @EN3 Series.json new file mode 100644 index 0000000000..ac76ce3147 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PETG-GF @EN3 Series.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Elegoo PETG-GF @EN3 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGFEN3", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA @EN3 Series.json new file mode 100644 index 0000000000..18c3eaf3ec --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA @EN3 Series.json @@ -0,0 +1,40 @@ +{ + "type": "filament", + "name": "Elegoo PLA @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAEN3", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "9" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Basic @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Basic @EN3 Series.json new file mode 100644 index 0000000000..143f339938 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Basic @EN3 Series.json @@ -0,0 +1,43 @@ +{ + "type": "filament", + "name": "Elegoo PLA Basic @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLABASICEN3", + "instantiation": "true", + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Galaxy @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Galaxy @EN3 Series.json new file mode 100644 index 0000000000..fbc88fdbf4 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Galaxy @EN3 Series.json @@ -0,0 +1,46 @@ +{ + "type": "filament", + "name": "Elegoo PLA Galaxy @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAGALAXYEN3", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Marble @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Marble @EN3 Series.json new file mode 100644 index 0000000000..62a101c268 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Marble @EN3 Series.json @@ -0,0 +1,46 @@ +{ + "type": "filament", + "name": "Elegoo PLA Marble @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAMARBLEEN3", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Matte @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Matte @EN3 Series.json new file mode 100644 index 0000000000..b67e97045d --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Matte @EN3 Series.json @@ -0,0 +1,55 @@ +{ + "type": "filament", + "name": "Elegoo PLA Matte @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAMEN3", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA PRO @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA PRO @EN3 Series.json new file mode 100644 index 0000000000..499675593e --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA PRO @EN3 Series.json @@ -0,0 +1,40 @@ +{ + "type": "filament", + "name": "Elegoo PLA PRO @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAPROEN3", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Silk @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Silk @EN3 Series.json new file mode 100644 index 0000000000..eee7f8f096 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Silk @EN3 Series.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "name": "Elegoo PLA Silk @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLASEN3", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "9" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "filament_density": [ + "1.32" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Sparkle @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Sparkle @EN3 Series.json new file mode 100644 index 0000000000..1e1cdb862d --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Sparkle @EN3 Series.json @@ -0,0 +1,46 @@ +{ + "type": "filament", + "name": "Elegoo PLA Sparkle @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLASPARKLEEN3", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Wood @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Wood @EN3 Series.json new file mode 100644 index 0000000000..9726bfddaf --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA Wood @EN3 Series.json @@ -0,0 +1,46 @@ +{ + "type": "filament", + "name": "Elegoo PLA Wood @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAWOODEN3", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA+ @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA+ @EN3 Series.json new file mode 100644 index 0000000000..d0b49cf32c --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA+ @EN3 Series.json @@ -0,0 +1,40 @@ +{ + "type": "filament", + "name": "Elegoo PLA+ @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAPLUSEN3", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "12" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA-CF @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA-CF @EN3 Series.json new file mode 100644 index 0000000000..d363ea7038 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo PLA-CF @EN3 Series.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Elegoo PLA-CF @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLACFEN3", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "filament_density": [ + "1.21" + ], + "required_nozzle_HRC": [ + "40" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid PETG @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid PETG @EN3 Series.json new file mode 100644 index 0000000000..485e909930 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid PETG @EN3 Series.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "name": "Elegoo Rapid PETG @EN3 Series", + "renamed_from": "Elegoo RAPID PETG @EN3 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "ERPETGEN3", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "50" + ], + "filament_density": [ + "1.26" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid PLA+ @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid PLA+ @EN3 Series.json new file mode 100644 index 0000000000..0f85ec1c3e --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid PLA+ @EN3 Series.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Elegoo Rapid PLA+ @EN3 Series", + "renamed_from": "Elegoo RAPID PLA+ @EN3 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "ERPLAPLUSEN3", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "filament_density": [ + "1.25" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid TPU 95A @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid TPU 95A @EN3 Series.json new file mode 100644 index 0000000000..8d6a32d069 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo Rapid TPU 95A @EN3 Series.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "name": "Elegoo Rapid TPU 95A @EN3 Series", + "renamed_from": "Elegoo RAPID TPU 95A @EN3 Series", + "inherits": "Elegoo TPU @base", + "from": "system", + "setting_id": "ERTPU95AEN3", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo TPU 95A @EN3 Series.json b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo TPU 95A @EN3 Series.json new file mode 100644 index 0000000000..6167f88389 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN3SERIES/Elegoo TPU 95A @EN3 Series.json @@ -0,0 +1,40 @@ +{ + "type": "filament", + "name": "Elegoo TPU 95A @EN3 Series", + "inherits": "Elegoo TPU @base", + "from": "system", + "setting_id": "ETPU95AEN3", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "3.2" + ], + "fan_min_speed": [ + "80" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "75%" + ], + "slow_down_min_speed": [ + "10" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo ASA @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo ASA @EN4 Series.json new file mode 100644 index 0000000000..957e1ba787 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo ASA @EN4 Series.json @@ -0,0 +1,32 @@ +{ + "type": "filament", + "name": "Elegoo ASA @EN4 Series", + "inherits": "Elegoo ASA @base", + "from": "system", + "setting_id": "EASAEN4", + "instantiation": "true", + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG @EN4 Series.json new file mode 100644 index 0000000000..e604194970 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG @EN4 Series.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "name": "Elegoo PETG @EN4 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGEN4", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "overhang_fan_threshold": [ + "50%" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "filament_max_volumetric_speed": [ + "11" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG PRO @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG PRO @EN4 Series.json new file mode 100644 index 0000000000..397889ae25 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG PRO @EN4 Series.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "name": "Elegoo PETG PRO @EN4 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGPROEN4", + "instantiation": "true", + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG Translucent @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG Translucent @EN4 Series.json new file mode 100644 index 0000000000..02eb8b4489 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG Translucent @EN4 Series.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "name": "Elegoo PETG Translucent @EN4 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGTRANSEN4", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "fan_max_speed": [ + "35" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG-CF @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG-CF @EN4 Series.json new file mode 100644 index 0000000000..fb99debce7 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG-CF @EN4 Series.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "Elegoo PETG-CF @EN4 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGCFEN4", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG-GF @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG-GF @EN4 Series.json new file mode 100644 index 0000000000..aa58c3fa8f --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PETG-GF @EN4 Series.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "name": "Elegoo PETG-GF @EN4 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGFEN4", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA @EN4 Series.json new file mode 100644 index 0000000000..7534fbb94c --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA @EN4 Series.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "Elegoo PLA @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAEN4", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "16" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_min_speed": [ + "100" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Basic @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Basic @EN4 Series.json new file mode 100644 index 0000000000..4567b161ad --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Basic @EN4 Series.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "Elegoo PLA Basic @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLABASICEN4", + "instantiation": "true", + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Galaxy @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Galaxy @EN4 Series.json new file mode 100644 index 0000000000..69484ece9c --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Galaxy @EN4 Series.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Elegoo PLA Galaxy @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAGALAXYEN4", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Marble @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Marble @EN4 Series.json new file mode 100644 index 0000000000..d344d74cde --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Marble @EN4 Series.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Elegoo PLA Marble @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAMARBLEEN4", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Matte @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Matte @EN4 Series.json new file mode 100644 index 0000000000..cf5145f8ba --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Matte @EN4 Series.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "Elegoo PLA Matte @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAMEN4", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA PRO @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA PRO @EN4 Series.json new file mode 100644 index 0000000000..bdf43eced6 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA PRO @EN4 Series.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "Elegoo PLA PRO @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAPROEN4", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "20" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Silk @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Silk @EN4 Series.json new file mode 100644 index 0000000000..45d08957df --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Silk @EN4 Series.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "name": "Elegoo PLA Silk @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLASEN4", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "filament_density": [ + "1.32" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Sparkle @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Sparkle @EN4 Series.json new file mode 100644 index 0000000000..4e53eb8608 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Sparkle @EN4 Series.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Elegoo PLA Sparkle @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLASPARKLEEN4", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Wood @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Wood @EN4 Series.json new file mode 100644 index 0000000000..9c604c79e5 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA Wood @EN4 Series.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "name": "Elegoo PLA Wood @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAWOODEN4", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA+ @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA+ @EN4 Series.json new file mode 100644 index 0000000000..2c66690792 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA+ @EN4 Series.json @@ -0,0 +1,35 @@ +{ + "type": "filament", + "name": "Elegoo PLA+ @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAPLUSEN4", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "20" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "25%" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA-CF @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA-CF @EN4 Series.json new file mode 100644 index 0000000000..f352877bd3 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo PLA-CF @EN4 Series.json @@ -0,0 +1,68 @@ +{ + "type": "filament", + "name": "Elegoo PLA-CF @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLACFEN4", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "filament_density": [ + "1.21" + ], + "required_nozzle_HRC": [ + "40" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid PETG @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid PETG @EN4 Series.json new file mode 100644 index 0000000000..3c58bc9f21 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid PETG @EN4 Series.json @@ -0,0 +1,45 @@ +{ + "type": "filament", + "name": "Elegoo Rapid PETG @EN4 Series", + "renamed_from": "Elegoo RAPID PETG @EN4 Series", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "ERPETGEN4", + "instantiation": "true", + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.26" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid PLA+ @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid PLA+ @EN4 Series.json new file mode 100644 index 0000000000..b12b80cd45 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid PLA+ @EN4 Series.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "name": "Elegoo Rapid PLA+ @EN4 Series", + "renamed_from": "Elegoo RAPID PLA+ @EN4 Series", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "ERPLAPLUSEN4", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "25%" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_density": [ + "1.25" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid TPU 95A @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid TPU 95A @EN4 Series.json new file mode 100644 index 0000000000..663b8fd090 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo Rapid TPU 95A @EN4 Series.json @@ -0,0 +1,42 @@ +{ + "type": "filament", + "name": "Elegoo Rapid TPU 95A @EN4 Series", + "renamed_from": "Elegoo RAPID TPU 95A @EN4 Series", + "inherits": "Elegoo TPU @base", + "from": "system", + "setting_id": "ERTPU95AEN4", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo TPU 95A @EN4 Series.json b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo TPU 95A @EN4 Series.json new file mode 100644 index 0000000000..c141a0a826 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EN4SERIES/Elegoo TPU 95A @EN4 Series.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "name": "Elegoo TPU 95A @EN4 Series", + "inherits": "Elegoo TPU @base", + "from": "system", + "setting_id": "ETPU95AEN4", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "3.2" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json index 14241f46a5..3573c79170 100644 --- a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json @@ -1,10 +1,9 @@ { "type": "filament", "name": "Elegoo ASA @Elegoo Giga", - "inherits": "Generic ASA @Elegoo", + "inherits": "Elegoo ASA @base", "from": "system", - "setting_id": "GFSA04", - "filament_id": "GFB98", + "setting_id": "EASAEOSG00", "instantiation": "true", "filament_max_volumetric_speed": [ "30" @@ -20,5 +19,6 @@ "Elegoo OrangeStorm Giga 0.6 nozzle", "Elegoo OrangeStorm Giga 0.8 nozzle", "Elegoo OrangeStorm Giga 1.0 nozzle" - ] + ], + "renamed_from": "Elegoo ASA @EOS Giga" } diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG @Elegoo Giga.json new file mode 100644 index 0000000000..51b98600e9 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG @Elegoo Giga.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "name": "Elegoo PETG @Elegoo Giga", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGEOSG00", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "overhang_fan_threshold": [ + "50%" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "filament_max_volumetric_speed": [ + "11" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ], + "renamed_from": "Elegoo PETG @EOS Giga" +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json index da0388abc4..cf29643e77 100644 --- a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json @@ -1,10 +1,9 @@ { "type": "filament", "name": "Elegoo PETG PRO @Elegoo Giga", - "inherits": "Generic PETG PRO @Elegoo", + "inherits": "Elegoo PETG @base", "from": "system", - "setting_id": "GFSG99", - "filament_id": "GFG99", + "setting_id": "EPETGPROEOSG00", "instantiation": "true", "filament_max_volumetric_speed": [ "21" @@ -14,5 +13,6 @@ "Elegoo OrangeStorm Giga 0.6 nozzle", "Elegoo OrangeStorm Giga 0.8 nozzle", "Elegoo OrangeStorm Giga 1.0 nozzle" - ] + ], + "renamed_from": "Elegoo PETG PRO @EOS Giga" } diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG Translucent @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG Translucent @Elegoo Giga.json new file mode 100644 index 0000000000..6270895584 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG Translucent @Elegoo Giga.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "name": "Elegoo PETG Translucent @Elegoo Giga", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGTRANSEOSG00", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "fan_max_speed": [ + "35" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ], + "renamed_from": "Elegoo PETG Translucent @EOS Giga" +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG-CF @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG-CF @Elegoo Giga.json new file mode 100644 index 0000000000..a7abae476e --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG-CF @Elegoo Giga.json @@ -0,0 +1,45 @@ +{ + "type": "filament", + "name": "Elegoo PETG-CF @Elegoo Giga", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGCFEOSG00", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ], + "renamed_from": "Elegoo PETG-CF @EOS Giga" +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG-GF @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG-GF @Elegoo Giga.json new file mode 100644 index 0000000000..acea7ef222 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PETG-GF @Elegoo Giga.json @@ -0,0 +1,45 @@ +{ + "type": "filament", + "name": "Elegoo PETG-GF @Elegoo Giga", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "EPETGFEOSG00", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ], + "renamed_from": "Elegoo PETG-GF @EOS Giga" +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA @Elegoo Giga.json index e3e5e029b8..a834953146 100644 --- a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA @Elegoo Giga.json +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA @Elegoo Giga.json @@ -1,10 +1,9 @@ { "type": "filament", "name": "Elegoo PLA @Elegoo Giga", - "inherits": "Generic PLA @Elegoo", + "inherits": "Elegoo PLA @base", "from": "system", - "setting_id": "GFSL99", - "filament_id": "GFL99", + "setting_id": "EPLAEOSG00", "instantiation": "true", "filament_max_volumetric_speed": [ "30" @@ -14,5 +13,6 @@ "Elegoo OrangeStorm Giga 0.6 nozzle", "Elegoo OrangeStorm Giga 0.8 nozzle", "Elegoo OrangeStorm Giga 1.0 nozzle" - ] + ], + "renamed_from": "Elegoo PLA @EOS Giga" } diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Basic @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Basic @Elegoo Giga.json new file mode 100644 index 0000000000..dd33bb73cb --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Basic @Elegoo Giga.json @@ -0,0 +1,33 @@ +{ + "type": "filament", + "name": "Elegoo PLA Basic @Elegoo Giga", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLABASICEOSG00", + "instantiation": "true", + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ], + "renamed_from": "Elegoo PLA Basic @EOS Giga" +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Galaxy @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Galaxy @Elegoo Giga.json new file mode 100644 index 0000000000..0355d60abf --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Galaxy @Elegoo Giga.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Elegoo PLA Galaxy @Elegoo Giga", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAGALAXYEOSG00", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ], + "renamed_from": "Elegoo PLA Galaxy @EOS Giga" +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Marble @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Marble @Elegoo Giga.json new file mode 100644 index 0000000000..3e65b89ee2 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Marble @Elegoo Giga.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Elegoo PLA Marble @Elegoo Giga", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAMARBLEEOSG00", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ], + "renamed_from": "Elegoo PLA Marble @EOS Giga" +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json index 91ad87bbe8..aa47d8b1f8 100644 --- a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json @@ -1,10 +1,9 @@ { "type": "filament", "name": "Elegoo PLA Matte @Elegoo Giga", - "inherits": "Generic PLA Matte @Elegoo", + "inherits": "Elegoo PLA @base", "from": "system", - "setting_id": "GFSL99", - "filament_id": "GFL99", + "setting_id": "EPLAMEOSG00", "instantiation": "true", "fan_cooling_layer_time": [ "80" @@ -38,5 +37,6 @@ "Elegoo OrangeStorm Giga 0.6 nozzle", "Elegoo OrangeStorm Giga 0.8 nozzle", "Elegoo OrangeStorm Giga 1.0 nozzle" - ] + ], + "renamed_from": "Elegoo PLA Matte @EOS Giga" } diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Sparkle @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Sparkle @Elegoo Giga.json new file mode 100644 index 0000000000..a05cdbfc97 --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Sparkle @Elegoo Giga.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Elegoo PLA Sparkle @Elegoo Giga", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLASPARKLEEOSG00", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ], + "renamed_from": "Elegoo PLA Sparkle @EOS Giga" +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Wood @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Wood @Elegoo Giga.json new file mode 100644 index 0000000000..ebb837679c --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo PLA Wood @Elegoo Giga.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Elegoo PLA Wood @Elegoo Giga", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "EPLAWOODEOSG00", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ], + "renamed_from": "Elegoo PLA Wood @EOS Giga" +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid PETG @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid PETG @Elegoo Giga.json new file mode 100644 index 0000000000..245d6b0cdf --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid PETG @Elegoo Giga.json @@ -0,0 +1,42 @@ +{ + "type": "filament", + "name": "Elegoo Rapid PETG @Elegoo Giga", + "renamed_from": "Elegoo RAPID PETG @Elegoo Giga;Elegoo Rapid PETG @EOS Giga", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "ERPETGEOSG00", + "instantiation": "true", + "enable_pressure_advance": [ + "1" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_flow_ratio": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "34" + ], + "nozzle_temperature": [ + "235" + ], + "nozzle_temperature_initial_layer": [ + "235" + ], + "pressure_advance": [ + "0.035" + ], + "filament_density": [ + "1.26" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid PLA+ @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid PLA+ @Elegoo Giga.json new file mode 100644 index 0000000000..b2c5318bdd --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid PLA+ @Elegoo Giga.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Elegoo Rapid PLA+ @Elegoo Giga", + "renamed_from": "Elegoo RAPID PLA+ @Elegoo Giga;Elegoo Rapid PLA+ @EOS Giga", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "ERPLAEOSG00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "30" + ], + "fan_min_speed": [ + "100" + ], + "filament_flow_ratio": [ + "1.12" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "overhang_fan_threshold": [ + "25%" + ], + "filament_density": [ + "1.25" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid TPU 95A @Elegoo Giga.json b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid TPU 95A @Elegoo Giga.json new file mode 100644 index 0000000000..42657eb4ae --- /dev/null +++ b/resources/profiles/Elegoo/filament/EOSGIGA/Elegoo Rapid TPU 95A @Elegoo Giga.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "name": "Elegoo Rapid TPU 95A @Elegoo Giga", + "renamed_from": "Elegoo RAPID TPU 95A @Elegoo Giga;Elegoo Rapid TPU 95A @EOS Giga", + "inherits": "Elegoo TPU @base", + "from": "system", + "setting_id": "ERTPU95AEOSG00", + "instantiation": "true", + "pressure_advance": [ + "0.024" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [ + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic ABS @Elegoo Centauri.json b/resources/profiles/Elegoo/filament/Generic/Generic ABS @Elegoo Centauri.json new file mode 100644 index 0000000000..1539420333 --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic ABS @Elegoo Centauri.json @@ -0,0 +1,19 @@ +{ + "type": "filament", + "name": "Generic ABS @Elegoo Centauri", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GABS00", + "instantiation": "true", + "compatible_printers": [ + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic ABS @Elegoo.json b/resources/profiles/Elegoo/filament/Generic/Generic ABS @Elegoo.json index 4fac75ed3f..5ca4dbc7d5 100644 --- a/resources/profiles/Elegoo/filament/Generic/Generic ABS @Elegoo.json +++ b/resources/profiles/Elegoo/filament/Generic/Generic ABS @Elegoo.json @@ -1,45 +1,204 @@ { "type": "filament", - "name": "Generic ABS @Elegoo", - "inherits": "fdm_filament_abs", - "from": "system", "setting_id": "GFSA04", - "filament_id": "GFB99", + "name": "Generic ABS @Elegoo", + "from": "system", "instantiation": "true", + "inherits": "Generic ABS @base", + "cool_plate_temp": [ + "100" + ], + "eng_plate_temp": [ + "100" + ], + "hot_plate_temp": [ + "100" + ], + "textured_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "30" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], "filament_flow_ratio": [ "0.926" ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.04" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], "filament_max_volumetric_speed": [ "12" ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "ABS" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], "nozzle_temperature_initial_layer": [ "245" ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "0" + ], + "fan_min_speed": [ + "0" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "3" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "245" + ], + "temperature_vitrification": [ + "110" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "245" + ], "compatible_printers": [ "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle", "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" ] } diff --git a/resources/profiles/Elegoo/filament/Generic/Generic ABS-CF @Elegoo Centauri.json b/resources/profiles/Elegoo/filament/Generic/Generic ABS-CF @Elegoo Centauri.json new file mode 100644 index 0000000000..00baf4dd4a --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic ABS-CF @Elegoo Centauri.json @@ -0,0 +1,43 @@ +{ + "type": "filament", + "name": "Generic ABS-CF @Elegoo Centauri", + "inherits": "Generic ABS @base", + "from": "system", + "setting_id": "GABSCF00", + "instantiation": "true", + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "4" + ], + "fan_cooling_layer_time": [ + "10" + ], + "fan_max_speed": [ + "30" + ], + "filament_type": [ + "ABS-CF" + ], + "compatible_printers": [ + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic ASA @Elegoo.json b/resources/profiles/Elegoo/filament/Generic/Generic ASA @Elegoo.json index 7260f49aaf..6aea31620f 100644 --- a/resources/profiles/Elegoo/filament/Generic/Generic ASA @Elegoo.json +++ b/resources/profiles/Elegoo/filament/Generic/Generic ASA @Elegoo.json @@ -1,45 +1,201 @@ { "type": "filament", - "name": "Generic ASA @Elegoo", - "inherits": "fdm_filament_asa", - "from": "system", "setting_id": "GFSA04", - "filament_id": "GFB98", + "name": "Generic ASA @Elegoo", + "from": "system", "instantiation": "true", - "filament_vendor": [ - "Elegoo" + "inherits": "Generic ASA @base", + "cool_plate_temp": [ + "0" + ], + "eng_plate_temp": [ + "90" + ], + "hot_plate_temp": [ + "90" + ], + "textured_plate_temp": [ + "90" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "80" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_cooling_layer_time": [ + "35" ], "filament_density": [ "1.1" ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], "filament_max_volumetric_speed": [ "12" ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "ASA" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "10" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "3" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "260" + ], + "temperature_vitrification": [ + "100" + ], + "activate_air_filtration": [ + "1" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "240" + ], "compatible_printers": [ "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle", "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" ] } diff --git a/resources/profiles/Elegoo/filament/Generic/Generic ASA-CF @Elegoo Centauri.json b/resources/profiles/Elegoo/filament/Generic/Generic ASA-CF @Elegoo Centauri.json new file mode 100644 index 0000000000..9dd8d483d3 --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic ASA-CF @Elegoo Centauri.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "name": "Generic ASA-CF @Elegoo Centauri", + "inherits": "Generic ASA @base", + "from": "system", + "setting_id": "GASACF00", + "instantiation": "true", + "filament_type": [ + "ASA-CF" + ], + "fan_cooling_layer_time": [ + "25" + ], + "fan_max_speed": [ + "60" + ], + "slow_down_layer_time": [ + "4" + ], + "compatible_printers": [ + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PA @Elegoo.json b/resources/profiles/Elegoo/filament/Generic/Generic PA @Elegoo.json new file mode 100644 index 0000000000..285c7f4f3c --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic PA @Elegoo.json @@ -0,0 +1,78 @@ +{ + "type": "filament", + "name": "Generic PA @Elegoo", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GPA00", + "instantiation": "true", + "activate_air_filtration": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "5" + ], + "fan_cooling_layer_time": [ + "60" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_flow_ratio": [ + "0.98" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_layer_time": [ + "12" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle", + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PA6-CF @Elegoo.json b/resources/profiles/Elegoo/filament/Generic/Generic PA6-CF @Elegoo.json new file mode 100644 index 0000000000..d85cfeb65b --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic PA6-CF @Elegoo.json @@ -0,0 +1,84 @@ +{ + "type": "filament", + "name": "Generic PA6-CF @Elegoo", + "inherits": "Generic PA @base", + "from": "system", + "setting_id": "GPA6CF00", + "instantiation": "true", + "fan_min_speed": [ + "10" + ], + "filament_type": [ + "PA6-CF" + ], + "full_fan_speed_layer": [ + "2" + ], + "temperature_vitrification": [ + "170" + ], + "activate_air_filtration": [ + "0" + ], + "fan_cooling_layer_time": [ + "8" + ], + "fan_max_speed": [ + "60" + ], + "filament_flow_ratio": [ + "0.95" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "10%" + ], + "slow_down_layer_time": [ + "3" + ], + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle", + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PC @Elegoo.json b/resources/profiles/Elegoo/filament/Generic/Generic PC @Elegoo.json new file mode 100644 index 0000000000..0ec151c97f --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic PC @Elegoo.json @@ -0,0 +1,63 @@ +{ + "type": "filament", + "name": "Generic PC @Elegoo", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GPC00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "35" + ], + "fan_min_speed": [ + "20" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "50" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle", + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PC-CF @Elegoo.json b/resources/profiles/Elegoo/filament/Generic/Generic PC-CF @Elegoo.json new file mode 100644 index 0000000000..5778e9a573 --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic PC-CF @Elegoo.json @@ -0,0 +1,84 @@ +{ + "type": "filament", + "name": "Generic PC-CF @Elegoo", + "inherits": "Generic PC @base", + "from": "system", + "setting_id": "GPCCF00", + "instantiation": "true", + "filament_type": [ + "PC-CF" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_min_speed": [ + "20" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Max 0.4 nozzle", + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle", + "Elegoo OrangeStorm Giga 0.4 nozzle", + "Elegoo OrangeStorm Giga 0.6 nozzle", + "Elegoo OrangeStorm Giga 0.8 nozzle", + "Elegoo OrangeStorm Giga 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PET @Elegoo Centauri.json b/resources/profiles/Elegoo/filament/Generic/Generic PET @Elegoo Centauri.json new file mode 100644 index 0000000000..b119f96e13 --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic PET @Elegoo Centauri.json @@ -0,0 +1,61 @@ +{ + "type": "filament", + "name": "Generic PET @Elegoo Centauri", + "inherits": "Generic PET @base", + "from": "system", + "setting_id": "GPET00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "8" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "filament_flow_ratio": [ + "1" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "4" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "compatible_printers": [ + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PET-CF @Elegoo Centauri.json b/resources/profiles/Elegoo/filament/Generic/Generic PET-CF @Elegoo Centauri.json new file mode 100644 index 0000000000..4f8870e259 --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic PET-CF @Elegoo Centauri.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "Generic PET-CF @Elegoo Centauri", + "inherits": "Generic PET @base", + "from": "system", + "setting_id": "GPETCF00", + "instantiation": "true", + "filament_type": [ + "PET-CF" + ], + "fan_cooling_layer_time": [ + "10" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "30" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "4" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_density": [ + "1.25" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "required_nozzle_HRC": [ + "40" + ], + "temperature_vitrification": [ + "70" + ], + "compatible_printers": [ + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PETG @Elegoo.json b/resources/profiles/Elegoo/filament/Generic/Generic PETG @Elegoo.json index 43492fd3c5..5fdd3b1e66 100644 --- a/resources/profiles/Elegoo/filament/Generic/Generic PETG @Elegoo.json +++ b/resources/profiles/Elegoo/filament/Generic/Generic PETG @Elegoo.json @@ -1,29 +1,124 @@ { "type": "filament", - "name": "Generic PETG @Elegoo", - "inherits": "fdm_filament_pet", - "from": "system", "setting_id": "GFSG99", - "filament_id": "GFG99", + "name": "Generic PETG @Elegoo", + "from": "system", "instantiation": "true", - "reduce_fan_stop_start_freq": [ - "1" + "inherits": "Generic PETG @base", + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "0" + ], + "hot_plate_temp": [ + "80" + ], + "textured_plate_temp": [ + "80" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "90" ], "slow_down_for_layer_cooling": [ "1" ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "0.95" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], "fan_cooling_layer_time": [ "30" ], - "overhang_fan_speed": [ - "90" + "filament_density": [ + "1.27" ], - "overhang_fan_threshold": [ - "25%" + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" ], "nozzle_temperature_initial_layer": [ "240" ], + "full_fan_speed_layer": [ + "0" + ], "fan_max_speed": [ "50" ], @@ -36,40 +131,71 @@ "slow_down_layer_time": [ "8" ], - "filament_flow_ratio": [ - "0.95" - ], - "filament_max_volumetric_speed": [ - "10" - ], "filament_start_gcode": [ "; filament start gcode\n" ], + "nozzle_temperature": [ + "240" + ], + "temperature_vitrification": [ + "70" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "220" + ], "compatible_printers": [ "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle", "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" ] } diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PETG PRO @Elegoo.json b/resources/profiles/Elegoo/filament/Generic/Generic PETG PRO @Elegoo.json index 83b42f1ee5..0943c9a4cb 100644 --- a/resources/profiles/Elegoo/filament/Generic/Generic PETG PRO @Elegoo.json +++ b/resources/profiles/Elegoo/filament/Generic/Generic PETG PRO @Elegoo.json @@ -1,48 +1,140 @@ { "type": "filament", - "name": "Generic PETG PRO @Elegoo", - "inherits": "fdm_filament_pet", - "from": "system", "setting_id": "GFSG99", - "filament_id": "GFG99", + "name": "Generic PETG PRO @Elegoo", + "from": "system", "instantiation": "true", + "inherits": "Generic PETG @base", "cool_plate_temp": [ "0" ], - "cool_plate_temp_initial_layer": [ - "0" - ], "eng_plate_temp": [ "70" ], + "hot_plate_temp": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], "eng_plate_temp_initial_layer": [ "70" ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "overhang_fan_speed": [ + "90" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], "fan_cooling_layer_time": [ "30" ], + "filament_density": [ + "1.25" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PETG" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "full_fan_speed_layer": [ + "0" + ], "fan_max_speed": [ "40" ], "fan_min_speed": [ "10" ], - "filament_cost": [ - "0" + "slow_down_min_speed": [ + "10" ], - "filament_density": [ - "1.25" + "slow_down_layer_time": [ + "12" ], - "filament_max_volumetric_speed": [ - "8" + "filament_start_gcode": [ + "; Filament start gcode\n" ], - "filament_vendor": [ - "Elegoo" + "nozzle_temperature": [ + "240" ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ + "temperature_vitrification": [ "70" ], "nozzle_temperature_range_high": [ @@ -51,58 +143,56 @@ "nozzle_temperature_range_low": [ "230" ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "slow_down_layer_time": [ - "12" - ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; Filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], "compatible_printers": [ "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle", "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" ] } diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PETG-CF @Elegoo Centauri.json b/resources/profiles/Elegoo/filament/Generic/Generic PETG-CF @Elegoo Centauri.json new file mode 100644 index 0000000000..6bd37edb40 --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic PETG-CF @Elegoo Centauri.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "Generic PETG-CF @Elegoo Centauri", + "inherits": "Generic PETG @base", + "from": "system", + "setting_id": "GPETGCF00", + "instantiation": "true", + "filament_type": [ + "PETG-CF" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "20" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "filament_density": [ + "1.25" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "overhang_fan_threshold": [ + "10%" + ], + "required_nozzle_HRC": [ + "40" + ], + "slow_down_layer_time": [ + "6" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "compatible_printers": [ + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PLA @Elegoo Centauri.json b/resources/profiles/Elegoo/filament/Generic/Generic PLA @Elegoo Centauri.json new file mode 100644 index 0000000000..6fd7df7a4c --- /dev/null +++ b/resources/profiles/Elegoo/filament/Generic/Generic PLA @Elegoo Centauri.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "name": "Generic PLA @Elegoo Centauri", + "inherits": "Generic PLA @base", + "from": "system", + "setting_id": "GPLA00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "21" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature": [ + "210" + ], + "pressure_advance": [ + "0.024" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [ + "Elegoo Centauri 0.4 nozzle", + "Elegoo Centauri 0.6 nozzle", + "Elegoo Centauri 0.8 nozzle", + "Elegoo Centauri Carbon 0.4 nozzle", + "Elegoo Centauri Carbon 0.6 nozzle", + "Elegoo Centauri Carbon 0.8 nozzle", + "Elegoo Centauri Carbon 2 0.4 nozzle", + "Elegoo Centauri Carbon 2 0.6 nozzle", + "Elegoo Centauri Carbon 2 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PLA @Elegoo.json b/resources/profiles/Elegoo/filament/Generic/Generic PLA @Elegoo.json index 44dd635a59..ca3e23847a 100644 --- a/resources/profiles/Elegoo/filament/Generic/Generic PLA @Elegoo.json +++ b/resources/profiles/Elegoo/filament/Generic/Generic PLA @Elegoo.json @@ -1,48 +1,207 @@ { "type": "filament", - "name": "Generic PLA @Elegoo", - "inherits": "fdm_filament_pla", - "from": "system", "setting_id": "GFSL99", - "filament_id": "GFL99", + "name": "Generic PLA @Elegoo", + "from": "system", "instantiation": "true", + "inherits": "Generic PLA @base", + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_threshold": [ + "50%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], "filament_flow_ratio": [ "0.98" ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_cooling_layer_time": [ + "100" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], "filament_max_volumetric_speed": [ "15" ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], "nozzle_temperature_initial_layer": [ "210" ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "slow_down_min_speed": [ + "10" + ], "slow_down_layer_time": [ "8" ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "nozzle_temperature": [ + "205" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "205" + ], + "nozzle_temperature_range_high": [ + "210" + ], + "additional_cooling_fan_speed": [ + "70" + ], "compatible_printers": [ "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle", "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" ] } diff --git a/resources/profiles/Elegoo/filament/Generic/Generic PLA Matte @Elegoo.json b/resources/profiles/Elegoo/filament/Generic/Generic PLA Matte @Elegoo.json index 268e21b90b..6292e28bc5 100644 --- a/resources/profiles/Elegoo/filament/Generic/Generic PLA Matte @Elegoo.json +++ b/resources/profiles/Elegoo/filament/Generic/Generic PLA Matte @Elegoo.json @@ -1,48 +1,201 @@ { "type": "filament", - "name": "Generic PLA Matte @Elegoo", - "inherits": "fdm_filament_pla", - "from": "system", "setting_id": "GFSL99", - "filament_id": "GFL99", + "name": "Generic PLA Matte @Elegoo", + "from": "system", "instantiation": "true", - "filament_cost": [ - "0" + "inherits": "Generic PLA @base", + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_threshold": [ + "50%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_cooling_layer_time": [ + "100" ], "filament_density": [ "1.25" ], - "filament_vendor": [ - "Elegoo" + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" ], "filament_start_gcode": [ "; filament start gcode\n" ], + "nozzle_temperature": [ + "215" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "205" + ], + "nozzle_temperature_range_high": [ + "215" + ], + "additional_cooling_fan_speed": [ + "70" + ], "compatible_printers": [ "Elegoo Neptune 0.4 nozzle", - "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune 0.6 nozzle", + "Elegoo Neptune 0.8 nozzle", "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 2 0.8 nozzle", "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune X 0.8 nozzle", "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune 3 0.8 nozzle", "Elegoo Neptune 3 Pro 0.4 nozzle", + "Elegoo Neptune 3 Pro 0.6 nozzle", + "Elegoo Neptune 3 Pro 0.8 nozzle", + "Elegoo Neptune 3 Pro 1.0 nozzle", "Elegoo Neptune 3 Plus 0.4 nozzle", + "Elegoo Neptune 3 Plus 0.6 nozzle", + "Elegoo Neptune 3 Plus 0.8 nozzle", + "Elegoo Neptune 3 Plus 1.0 nozzle", "Elegoo Neptune 3 Max 0.4 nozzle", - "Elegoo Neptune 4 (0.2 nozzle)", - "Elegoo Neptune 4 (0.4 nozzle)", - "Elegoo Neptune 4 (0.6 nozzle)", - "Elegoo Neptune 4 (0.8 nozzle)", - "Elegoo Neptune 4 Max (0.2 nozzle)", - "Elegoo Neptune 4 Max (0.4 nozzle)", - "Elegoo Neptune 4 Max (0.6 nozzle)", - "Elegoo Neptune 4 Max (0.8 nozzle)", - "Elegoo Neptune 4 Plus (0.2 nozzle)", - "Elegoo Neptune 4 Plus (0.4 nozzle)", - "Elegoo Neptune 4 Plus (0.6 nozzle)", - "Elegoo Neptune 4 Plus (0.8 nozzle)", - "Elegoo Neptune 4 Pro (0.2 nozzle)", - "Elegoo Neptune 4 Pro (0.4 nozzle)", - "Elegoo Neptune 4 Pro (0.6 nozzle)", - "Elegoo Neptune 4 Pro (0.8 nozzle)" + "Elegoo Neptune 3 Max 0.6 nozzle", + "Elegoo Neptune 3 Max 0.8 nozzle", + "Elegoo Neptune 3 Max 1.0 nozzle", + "Elegoo Neptune 4 0.2 nozzle", + "Elegoo Neptune 4 0.4 nozzle", + "Elegoo Neptune 4 0.6 nozzle", + "Elegoo Neptune 4 0.8 nozzle", + "Elegoo Neptune 4 1.0 nozzle", + "Elegoo Neptune 4 Max 0.2 nozzle", + "Elegoo Neptune 4 Pro 0.4 nozzle", + "Elegoo Neptune 4 Pro 0.6 nozzle", + "Elegoo Neptune 4 Pro 0.8 nozzle", + "Elegoo Neptune 4 Pro 1.0 nozzle", + "Elegoo Neptune 4 Plus 0.2 nozzle", + "Elegoo Neptune 4 Plus 0.4 nozzle", + "Elegoo Neptune 4 Plus 0.6 nozzle", + "Elegoo Neptune 4 Plus 0.8 nozzle", + "Elegoo Neptune 4 Plus 1.0 nozzle", + "Elegoo Neptune 4 Pro 0.2 nozzle", + "Elegoo Neptune 4 Max 0.4 nozzle", + "Elegoo Neptune 4 Max 0.6 nozzle", + "Elegoo Neptune 4 Max 0.8 nozzle", + "Elegoo Neptune 4 Max 1.0 nozzle" ] } diff --git a/resources/profiles/Elegoo/filament/fdm_filament_abs.json b/resources/profiles/Elegoo/filament/fdm_filament_abs.json index cd5484920a..facb0e9ab2 100644 --- a/resources/profiles/Elegoo/filament/fdm_filament_abs.json +++ b/resources/profiles/Elegoo/filament/fdm_filament_abs.json @@ -4,85 +4,82 @@ "inherits": "fdm_filament_common", "from": "system", "instantiation": "false", + "activate_air_filtration": [ + "0" + ], "cool_plate_temp": [ - "100" - ], - "eng_plate_temp": [ - "100" - ], - "hot_plate_temp": [ - "100" - ], - "textured_plate_temp": [ - "100" + "0" ], "cool_plate_temp_initial_layer": [ - "100" + "0" + ], + "eng_plate_temp": [ + "90" ], "eng_plate_temp_initial_layer": [ - "100" - ], - "hot_plate_temp_initial_layer": [ - "100" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "close_fan_the_first_x_layers": [ - "3" + "90" ], "fan_cooling_layer_time": [ "30" ], - "filament_max_volumetric_speed": [ - "11" + "fan_max_speed": [ + "80" ], - "filament_type": [ - "ABS" - ], - "filament_density": [ - "1.04" + "fan_min_speed": [ + "10" ], "filament_cost": [ "20" ], - "nozzle_temperature_initial_layer": [ - "180" + "filament_density": [ + "1.04" ], - "reduce_fan_stop_start_freq": [ - "1" + "filament_max_volumetric_speed": [ + "16" ], - "fan_max_speed": [ - "0" + "filament_type": [ + "ABS" ], - "fan_min_speed": [ - "0" + "hot_plate_temp": [ + "90" ], - "overhang_fan_threshold": [ - "25%" - ], - "overhang_fan_speed": [ - "30" + "hot_plate_temp_initial_layer": [ + "90" ], "nozzle_temperature": [ - "245" + "270" ], - "temperature_vitrification": [ - "110" + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "280" ], "nozzle_temperature_range_low": [ "240" ], - "nozzle_temperature_range_high": [ - "245" + "overhang_fan_speed": [ + "80" ], - "slow_down_min_speed": [ - "10" + "overhang_fan_threshold": [ + "25%" + ], + "reduce_fan_stop_start_freq": [ + "1" ], "slow_down_layer_time": [ "3" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_vendor": [ + "Generic" ] } diff --git a/resources/profiles/Elegoo/filament/fdm_filament_asa.json b/resources/profiles/Elegoo/filament/fdm_filament_asa.json index 1863a18d84..593d20682f 100644 --- a/resources/profiles/Elegoo/filament/fdm_filament_asa.json +++ b/resources/profiles/Elegoo/filament/fdm_filament_asa.json @@ -5,7 +5,7 @@ "from": "system", "instantiation": "false", "activate_air_filtration": [ - "1" + "0" ], "cool_plate_temp": [ "0" @@ -29,7 +29,7 @@ "10" ], "filament_cost": [ - "0" + "20" ], "filament_density": [ "1.04" @@ -78,5 +78,8 @@ ], "textured_plate_temp_initial_layer": [ "90" + ], + "filament_vendor": [ + "Generic" ] } diff --git a/resources/profiles/Elegoo/filament/fdm_filament_common.json b/resources/profiles/Elegoo/filament/fdm_filament_common.json index 9294e67f0f..2e9cde0406 100644 --- a/resources/profiles/Elegoo/filament/fdm_filament_common.json +++ b/resources/profiles/Elegoo/filament/fdm_filament_common.json @@ -3,54 +3,42 @@ "name": "fdm_filament_common", "from": "system", "instantiation": "false", + "activate_air_filtration": [ + "0" + ], + "chamber_temperatures": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "complete_print_exhaust_fan_speed": [ + "70" + ], "cool_plate_temp": [ "60" ], - "eng_plate_temp": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], "cool_plate_temp_initial_layer": [ "60" ], + "during_print_exhaust_fan_speed": [ + "70" + ], + "eng_plate_temp": [ + "60" + ], "eng_plate_temp_initial_layer": [ "60" ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "overhang_fan_threshold": [ - "95%" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "filament_flow_ratio": [ - "1" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], "fan_cooling_layer_time": [ "60" ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "35" + ], "filament_cost": [ "0" ], @@ -63,16 +51,22 @@ "filament_diameter": [ "1.75" ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_is_support": [ + "0" + ], "filament_max_volumetric_speed": [ "12" ], "filament_minimal_purge_on_wipe_tower": [ "15" ], - "filament_retraction_minimum_travel": [ + "filament_retract_before_wipe": [ "nil" ], - "filament_retract_before_wipe": [ + "filament_retract_restart_extra": [ "nil" ], "filament_retract_when_changing_layer": [ @@ -81,13 +75,7 @@ "filament_retraction_length": [ "nil" ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "filament_retract_restart_extra": [ + "filament_retraction_minimum_travel": [ "nil" ], "filament_retraction_speed": [ @@ -111,34 +99,62 @@ "filament_wipe_distance": [ "nil" ], - "bed_type": [ - "Cool Plate" + "filament_z_hop": [ + "nil" ], - "nozzle_temperature_initial_layer": [ - "200" + "filament_z_hop_types": [ + "nil" ], "full_fan_speed_layer": [ "0" ], - "fan_max_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "fan_min_speed": [ - "35" - ], - "slow_down_min_speed": [ - "10" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_start_gcode": [ - "; Filament gcode\n" + "hot_plate_temp_initial_layer": [ + "60" ], "nozzle_temperature": [ "200" ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "required_nozzle_HRC": [ + "3" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], "temperature_vitrification": [ "100" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "compatible_printers": [], + "filament_start_gcode": [ + "; Filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" ] } diff --git a/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_asa.json b/resources/profiles/Elegoo/filament/fdm_filament_hips.json similarity index 80% rename from resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_asa.json rename to resources/profiles/Elegoo/filament/fdm_filament_hips.json index 093da2e0f6..c6740f3b41 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_asa.json +++ b/resources/profiles/Elegoo/filament/fdm_filament_hips.json @@ -1,82 +1,82 @@ { "type": "filament", - "name": "fdm_elegoo_filament_asa", - "inherits": "fdm_elegoo_filament_common", + "name": "fdm_filament_hips", + "inherits": "fdm_filament_common", "from": "system", "instantiation": "false", - "activate_air_filtration": [ - "0" - ], "cool_plate_temp": [ "0" ], - "cool_plate_temp_initial_layer": [ - "0" - ], "eng_plate_temp": [ "90" ], - "eng_plate_temp_initial_layer": [ + "hot_plate_temp": [ "90" ], - "fan_cooling_layer_time": [ - "35" + "textured_plate_temp": [ + "90" ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "10" - ], - "filament_cost": [ + "cool_plate_temp_initial_layer": [ "0" ], - "filament_density": [ - "1.04" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_type": [ - "ASA" - ], - "hot_plate_temp": [ + "eng_plate_temp_initial_layer": [ "90" ], "hot_plate_temp_initial_layer": [ "90" ], - "nozzle_temperature": [ - "260" + "textured_plate_temp_initial_layer": [ + "90" + ], + "fan_cooling_layer_time": [ + "10" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_type": [ + "HIPS" + ], + "filament_density": [ + "1.06" + ], + "filament_cost": [ + "22.99" ], "nozzle_temperature_initial_layer": [ - "260" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "nozzle_temperature_range_low": [ "240" ], - "overhang_fan_speed": [ - "80" + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "0" ], "overhang_fan_threshold": [ "25%" ], - "reduce_fan_stop_start_freq": [ - "1" + "overhang_fan_speed": [ + "80" ], - "slow_down_layer_time": [ - "3" + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "270" ], "slow_down_min_speed": [ "20" ], - "textured_plate_temp": [ - "90" + "slow_down_layer_time": [ + "6" ], - "textured_plate_temp_initial_layer": [ - "90" + "additional_cooling_fan_speed": [ + "0" + ], + "filament_vendor": [ + "Generic" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @base.json b/resources/profiles/Elegoo/filament/fdm_filament_pa.json similarity index 59% rename from resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @base.json rename to resources/profiles/Elegoo/filament/fdm_filament_pa.json index 3e81c020fc..b8df8158a0 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @base.json +++ b/resources/profiles/Elegoo/filament/fdm_filament_pa.json @@ -1,74 +1,88 @@ { "type": "filament", - "name": "Elegoo PETG PRO @base", - "inherits": "fdm_filament_pet", + "name": "fdm_filament_pa", + "inherits": "fdm_filament_common", "from": "system", - "filament_id": "OGFE02", "instantiation": "false", - "filament_cost": [ - "12.49" - ], - "filament_density": [ - "1.27" - ], "filament_flow_ratio": [ - "0.98" + "0.96" ], - "filament_max_volumetric_speed": [ - "12" + "activate_air_filtration": [ + "1" ], - "filament_retraction_length": [ - "0.8" + "cool_plate_temp": [ + "0" ], - "filament_retraction_speed": [ - "45" + "cool_plate_temp_initial_layer": [ + "0" ], - "filament_deretraction_speed": [ - "45" + "eng_plate_temp": [ + "100" ], - "filament_vendor": [ - "Elegoo" - ], - "nozzle_temperature": [ - "245" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "75" - ], - "textured_plate_temp_initial_layer": [ - "75" - ], - "overhang_fan_speed": [ - "90" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "20" + "eng_plate_temp_initial_layer": [ + "100" ], "fan_cooling_layer_time": [ + "4" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ "20" ], + "filament_density": [ + "1.04" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_type": [ + "PA" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "30" + ], + "required_nozzle_HRC": [ + "40" + ], "slow_down_layer_time": [ - "10" + "2" ], "slow_down_min_speed": [ "20" + ], + "temperature_vitrification": [ + "108" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_vendor": [ + "Generic" ] } diff --git a/resources/profiles/Elegoo/filament/fdm_filament_pc.json b/resources/profiles/Elegoo/filament/fdm_filament_pc.json new file mode 100644 index 0000000000..84571e32c7 --- /dev/null +++ b/resources/profiles/Elegoo/filament/fdm_filament_pc.json @@ -0,0 +1,85 @@ +{ + "type": "filament", + "name": "fdm_filament_pc", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "cool_plate_temp": [ + "0" + ], + "eng_plate_temp": [ + "110" + ], + "hot_plate_temp": [ + "110" + ], + "textured_plate_temp": [ + "110" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "textured_plate_temp_initial_layer": [ + "110" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PC" + ], + "filament_vendor": [ + "Generic" + ], + "filament_density": [ + "1.04" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "10" + ], + "overhang_fan_threshold": [ + "25%" + ], + "overhang_fan_speed": [ + "60" + ], + "nozzle_temperature": [ + "280" + ], + "temperature_vitrification": [ + "120" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "slow_down_min_speed": [ + "20" + ], + "slow_down_layer_time": [ + "2" + ] +} diff --git a/resources/profiles/Elegoo/filament/fdm_filament_pet.json b/resources/profiles/Elegoo/filament/fdm_filament_pet.json index 67cf076aa5..45c6bf446c 100644 --- a/resources/profiles/Elegoo/filament/fdm_filament_pet.json +++ b/resources/profiles/Elegoo/filament/fdm_filament_pet.json @@ -17,7 +17,7 @@ "20" ], "filament_cost": [ - "0" + "30" ], "filament_density": [ "1.27" @@ -26,7 +26,7 @@ "12" ], "filament_type": [ - "PETG" + "PET" ], "hot_plate_temp": [ "80" @@ -63,5 +63,8 @@ ], "filament_end_gcode": [ "; filament end gcode \n" + ], + "filament_vendor": [ + "Generic" ] } diff --git a/resources/profiles/Elegoo/filament/fdm_filament_pla.json b/resources/profiles/Elegoo/filament/fdm_filament_pla.json index 50d263ac3a..c5f2ce54d0 100644 --- a/resources/profiles/Elegoo/filament/fdm_filament_pla.json +++ b/resources/profiles/Elegoo/filament/fdm_filament_pla.json @@ -4,11 +4,8 @@ "inherits": "fdm_filament_common", "from": "system", "instantiation": "false", - "fan_cooling_layer_time": [ - "100" - ], "filament_max_volumetric_speed": [ - "15" + "12" ], "filament_type": [ "PLA" @@ -20,47 +17,29 @@ "20" ], "cool_plate_temp": [ - "60" + "35" ], "eng_plate_temp": [ - "60" - ], - "hot_plate_temp": [ - "60" + "0" ], "textured_plate_temp": [ "60" ], "cool_plate_temp_initial_layer": [ - "60" + "35" ], "eng_plate_temp_initial_layer": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" + "0" ], "textured_plate_temp_initial_layer": [ "60" ], "nozzle_temperature_initial_layer": [ - "210" + "220" ], "reduce_fan_stop_start_freq": [ "1" ], - "slow_down_for_layer_cooling": [ - "1" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "overhang_fan_speed": [ - "100" - ], "overhang_fan_threshold": [ "50%" ], @@ -68,27 +47,45 @@ "1" ], "nozzle_temperature": [ - "205" + "220" ], "temperature_vitrification": [ - "60" + "45" ], "nozzle_temperature_range_low": [ - "205" + "190" ], "nozzle_temperature_range_high": [ - "210" + "240" ], "slow_down_min_speed": [ - "10" - ], - "slow_down_layer_time": [ - "4" + "20" ], "additional_cooling_fan_speed": [ - "70" + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" ], "filament_start_gcode": [ - "; filament start gcode\n" + "; Filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_vendor": [ + "Generic" ] } diff --git a/resources/profiles/Elegoo/filament/fdm_filament_ppa.json b/resources/profiles/Elegoo/filament/fdm_filament_ppa.json new file mode 100644 index 0000000000..929f63906d --- /dev/null +++ b/resources/profiles/Elegoo/filament/fdm_filament_ppa.json @@ -0,0 +1,88 @@ +{ + "type": "filament", + "name": "fdm_filament_ppa", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "activate_air_filtration": [ + "1" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_type": [ + "PPA" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "320" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "required_nozzle_HRC": [ + "40" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "210" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_vendor": [ + "Generic" + ] +} diff --git a/resources/profiles/Elegoo/filament/fdm_filament_pps.json b/resources/profiles/Elegoo/filament/fdm_filament_pps.json new file mode 100644 index 0000000000..7dbc998b1f --- /dev/null +++ b/resources/profiles/Elegoo/filament/fdm_filament_pps.json @@ -0,0 +1,79 @@ +{ + "type": "filament", + "name": "fdm_filament_pps", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "chamber_temperatures": [ + "60" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "110" + ], + "eng_plate_temp_initial_layer": [ + "110" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "0" + ], + "filament_density": [ + "1.36" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_type": [ + "PPS" + ], + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "nozzle_temperature": [ + "320" + ], + "nozzle_temperature_initial_layer": [ + "320" + ], + "nozzle_temperature_range_high": [ + "340" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_speed": [ + "30" + ], + "overhang_fan_threshold": [ + "0%" + ], + "slow_down_layer_time": [ + "2" + ], + "temperature_vitrification": [ + "125" + ], + "textured_plate_temp": [ + "110" + ], + "textured_plate_temp_initial_layer": [ + "110" + ], + "filament_vendor": [ + "Generic" + ] +} diff --git a/resources/profiles/Elegoo/filament/fdm_filament_pva.json b/resources/profiles/Elegoo/filament/fdm_filament_pva.json new file mode 100644 index 0000000000..c098c24760 --- /dev/null +++ b/resources/profiles/Elegoo/filament/fdm_filament_pva.json @@ -0,0 +1,97 @@ +{ + "type": "filament", + "name": "fdm_filament_pva", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "70" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_is_support": [ + "1" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_soluble": [ + "1" + ], + "filament_type": [ + "PVA" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "50" + ], + "temperature_vitrification": [ + "45" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "filament_start_gcode": [ + "; Filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_vendor": [ + "Generic" + ] +} diff --git a/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_tpu.json b/resources/profiles/Elegoo/filament/fdm_filament_tpu.json similarity index 91% rename from resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_tpu.json rename to resources/profiles/Elegoo/filament/fdm_filament_tpu.json index cb70511505..7c40075fef 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/fdm_elegoo_filament_tpu.json +++ b/resources/profiles/Elegoo/filament/fdm_filament_tpu.json @@ -1,7 +1,7 @@ { "type": "filament", - "name": "fdm_elegoo_filament_tpu", - "inherits": "fdm_elegoo_filament_common", + "name": "fdm_filament_tpu", + "inherits": "fdm_filament_common", "from": "system", "instantiation": "false", "filament_flow_ratio": [ @@ -32,7 +32,7 @@ "100" ], "filament_cost": [ - "0" + "20" ], "filament_density": [ "1.24" @@ -81,5 +81,8 @@ ], "filament_end_gcode": [ "; filament end gcode \n" + ], + "filament_vendor": [ + "Generic" ] } diff --git a/resources/profiles/Elegoo/machine/EC/Elegoo Centauri 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EC/Elegoo Centauri 0.4 nozzle.json index a304b9bb31..c98a5ecfb9 100644 --- a/resources/profiles/Elegoo/machine/EC/Elegoo Centauri 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EC/Elegoo Centauri 0.4 nozzle.json @@ -1,23 +1,24 @@ { "type": "machine", "name": "Elegoo Centauri 0.4 nozzle", - "inherits": "fdm_machine_ecc", + "inherits": "fdm_elegoo_3dp_001_common", "from": "system", "setting_id": "EC04", "instantiation": "true", "nozzle_diameter": [ "0.4" ], + "host_type": "elegoolink", "printer_model": "Elegoo Centauri", "printer_variant": "0.4", "auxiliary_fan": "1", "printable_area": [ "0x0", - "257x0", - "257x257", - "0x257" + "256x0", + "256x256", + "0x256" ], - "printable_height": "257", + "printable_height": "256", "retract_lift_below": [ "255" ], @@ -27,6 +28,12 @@ "256x20", "246x20" ], + "bed_texture_area": [ + "0x-10", + "256x-10", + "256x256", + "0x256" + ], "thumbnails": [ "144x144" ], @@ -49,10 +56,13 @@ "support_air_filtration": "1", "default_bed_type": "4", "upward_compatible_machine": [], + "manual_filament_change": "0", + "purge_in_prime_tower": "0", "gcode_flavor": "klipper", - "change_filament_gcode": "M600", - "layer_change_gcode": "SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}", + "change_filament_gcode": "", "machine_pause_gcode": "M600", - "machine_start_gcode": ";;===== date: 20240520 =====================\n;printer_model:[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type:{curr_bed_type}\nM400 ; wait for buffer to clear\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nM729 ;Clean Nozzle\nM106 P2 S255\nM190 S[bed_temperature_initial_layer_single]\nM106 P2 S0\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\n\n;enable_pressure_advance:{enable_pressure_advance[initial_extruder]}\n;This value is called if pressure advance is enabled\n{if enable_pressure_advance[initial_extruder] == \"true\"}\nSET_PRESSURE_ADVANCE ADVANCE=[pressure_advance] ;\nM400\n{endif}\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\n\n\nG1 X{print_bed_max[0]*0.5} Y-1.2 F20000\nG1 Z0.3 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 F{min(6000, max(900, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X-1.2 E10.156 ;Draw the first line\nG1 Y98.8 E7.934\nG1 X-0.5 Y100 E0.1\nG1 Y-0.3 E7.934\nG1 X{print_bed_max[0]*0.5-50} E6.284\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-10} E2\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+10} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+50} E2\n;End PA test.\n\n\nG3 I-1 J0 Z0.6 F1200.0 ;Move to side a little\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", - "machine_end_gcode": ";===== date: 20250109 =====================\nM400 ; wait for buffer to clear\nM140 S0 ;Turn-off bed\nM106 S255 ;Cooling nozzle\nM83\nG92 E0 ; zero the extruder\nG2 I1 J0 Z{max_layer_z+0.5} E-1 F3000 ; lower z a little\nG90\n{if max_layer_z > 50}G1 Z{min(max_layer_z+50, printable_height+0.5)} F20000{else}G1 Z100 F20000 {endif}; Move print head up \nM204 S5000\nM400\nM83\nG1 X202 F20000\nM400\nG1 Y250 F20000\nG1 Y264.5 F1200\nM400\nG92 E0\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM84 ;Disable all steppers" + "support_multi_filament": "0", + "layer_change_gcode": "SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}", + "machine_start_gcode": ";;===== date: 20251011 =====================\n;printer_model:[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type:{curr_bed_type}\n;bed_level_temp:[bed_temperature_initial_layer_single]\nM400 ; wait for buffer to clear\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nM729 ;Clean Nozzle\nM190 S[bed_temperature_initial_layer_single]\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\n\n;enable_pressure_advance:{enable_pressure_advance[initial_extruder]}\n;This value is called if pressure advance is enabled\n{if enable_pressure_advance[initial_extruder] == \"true\"}\nSET_PRESSURE_ADVANCE ADVANCE=[pressure_advance] ;\nM400\n{endif}\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\n\n\nG1 X{print_bed_max[0]*0.5} Y-1.2 F20000\nG1 Z0.3 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 F{min(6000, max(900, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X-1.2 E10.156 ;Draw the first line\nG1 Y98.8 E7.934\nG1 X-0.5 Y100 E0.1\nG1 Y-0.3 E7.934\nG1 X{print_bed_max[0]*0.5-50} E6.284\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-10} E2\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+10} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+50} E2\n;End PA test.\n\n\nG3 I-1 J0 Z0.6 F1200.0 ;Move to side a little\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", + "machine_end_gcode": ";===== date: 20250603 =====================\nM400 ; wait for buffer to clear\nM140 S0 ;Turn-off bed\nM106 S255 ;Cooling nozzle\nM83\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800\nG2 I1 J0 Z{max_layer_z+0.5} F3000 ; lower z a little\nG90\n{if max_layer_z > 100}G1 Z{min(max_layer_z+50, printable_height+0.5)} F20000{else}G1 Z100 F20000 {endif}; Move print head up \nM204 S5000\nM400\nM83\nG1 X202 F20000\nM400\nG1 Y250 F20000\nG1 Y264.5 F1200\nM400\nG92 E0\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM84 ;Disable all steppers" } diff --git a/resources/profiles/Elegoo/machine/EC/Elegoo Centauri.json b/resources/profiles/Elegoo/machine/EC/Elegoo Centauri.json index 9f4ca8a27a..4cf9db3163 100644 --- a/resources/profiles/Elegoo/machine/EC/Elegoo Centauri.json +++ b/resources/profiles/Elegoo/machine/EC/Elegoo Centauri.json @@ -8,5 +8,5 @@ "bed_model": "elegoo_centuri_buildplate_model.stl", "bed_texture": "elegoo_centuri_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EC;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EC;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EC;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EC;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EC;Elegoo PLA @EC;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EC;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EC;Elegoo Rapid PETG+;;Elegoo Rapid PLA+ @EC;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EC;Elegoo TPU 95A @EC" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EC;Elegoo PETG @0.2 nozzle;Elegoo PETG @EC;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EC;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EC;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EC;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EC;Elegoo PLA @EC;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EC;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EC;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EC;Elegoo TPU 95A @EC;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EC;Elegoo PLA Galaxy @EC;Elegoo PLA Marble @EC;Elegoo PLA Sparkle @EC;Elegoo PLA Wood @EC;Elegoo Rapid TPU 95A @EC;Elegoo ABS @0.2 nozzle;Elegoo ABS @EC;Elegoo PAHT-CF @EC;Elegoo PC @0.2 nozzle;Elegoo PC @EC;Elegoo PC-FR @0.2 nozzle;Elegoo PC-FR @EC;Elegoo PETG-CF @EC;Elegoo PETG-GF @EC;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EC" } diff --git a/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json b/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json index 7958cec019..8c8823856b 100644 --- a/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json @@ -1,23 +1,24 @@ { "type": "machine", "name": "Elegoo Centauri Carbon 0.4 nozzle", - "inherits": "fdm_machine_ecc", + "inherits": "fdm_elegoo_3dp_001_common", "from": "system", "setting_id": "ECC04", "instantiation": "true", "nozzle_diameter": [ "0.4" ], + "host_type": "elegoolink", "printer_model": "Elegoo Centauri Carbon", "printer_variant": "0.4", "auxiliary_fan": "1", "printable_area": [ "0x0", - "257x0", - "257x257", - "0x257" + "256x0", + "256x256", + "0x256" ], - "printable_height": "257", + "printable_height": "256", "retract_lift_below": [ "255" ], @@ -27,6 +28,12 @@ "256x20", "246x20" ], + "bed_texture_area": [ + "0x-10", + "256x-10", + "256x256", + "0x256" + ], "thumbnails": [ "144x144" ], @@ -42,6 +49,7 @@ "0x0" ], "default_bed_type": "4", + "auto_toolchange_command": "0", "fan_speedup_time": "0.5", "machine_load_filament_time": "29", "machine_unload_filament_time": "28", @@ -49,10 +57,13 @@ "scan_first_layer": "1", "support_air_filtration": "1", "upward_compatible_machine": [], + "manual_filament_change": "0", + "purge_in_prime_tower": "0", "gcode_flavor": "klipper", - "change_filament_gcode": "M600", - "layer_change_gcode": "SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}", + "change_filament_gcode": "\n;==========CC_CHANGE_FILAMENT_GCODE_CCB==========\n;===== date: 2025-12-04-001 =====================\nM106 S0\nM106 P2 S0\nG1 Z{min(max_layer_z+3, printable_height+0.5)} F1200\nM6211 T[next_extruder] L[flush_length] M{old_filament_e_feedrate} N{new_filament_e_feedrate} Q[old_filament_temp] R[nozzle_temperature_range_high] S[new_filament_temp]\nT[next_extruder]\n;==========CC_CHANGE_FILAMENT_GCODE_CCE==========", "machine_pause_gcode": "M600", - "machine_start_gcode": ";;===== date: 20240520 =====================\n;printer_model:[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type:{curr_bed_type}\nM400 ; wait for buffer to clear\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nM729 ;Clean Nozzle\nM106 P2 S255\nM190 S[bed_temperature_initial_layer_single]\nM106 P2 S0\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\n\n;enable_pressure_advance:{enable_pressure_advance[initial_extruder]}\n;This value is called if pressure advance is enabled\n{if enable_pressure_advance[initial_extruder] == \"true\"}\nSET_PRESSURE_ADVANCE ADVANCE=[pressure_advance] ;\nM400\n{endif}\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\n\n\nG1 X{print_bed_max[0]*0.5} Y-1.2 F20000\nG1 Z0.3 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 F{min(6000, max(900, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X-1.2 E10.156 ;Draw the first line\nG1 Y98.8 E7.934\nG1 X-0.5 Y100 E0.1\nG1 Y-0.3 E7.934\nG1 X{print_bed_max[0]*0.5-50} E6.284\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-10} E2\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+10} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+50} E2\n;End PA test.\n\n\nG3 I-1 J0 Z0.6 F1200.0 ;Move to side a little\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", - "machine_end_gcode": ";===== date: 20250109 =====================\nM400 ; wait for buffer to clear\nM140 S0 ;Turn-off bed\nM106 S255 ;Cooling nozzle\nM83\nG92 E0 ; zero the extruder\nG2 I1 J0 Z{max_layer_z+0.5} E-1 F3000 ; lower z a little\nG90\n{if max_layer_z > 50}G1 Z{min(max_layer_z+50, printable_height+0.5)} F20000{else}G1 Z100 F20000 {endif}; Move print head up \nM204 S5000\nM400\nM83\nG1 X202 F20000\nM400\nG1 Y250 F20000\nG1 Y264.5 F1200\nM400\nG92 E0\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM84 ;Disable all steppers" + "support_multi_filament": "1", + "layer_change_gcode": "SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}", + "machine_start_gcode": ";===== CC_START_GCODE ================\n;===== date: 2026-04-28-001 =====================\n;printer_model:[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type:{curr_bed_type}\n;bed_level_temp:[bed_temperature_initial_layer_single]\nM400 ; wait for buffer to clear\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nG90\nM83\nG28 ;home\nM729 ;Clean Nozzle\nM190 S[bed_temperature_initial_layer_single]\n\nM109 S[nozzle_temperature_initial_layer]\nM6211 A1 L200 T[initial_no_support_extruder] Q[nozzle_temperature_initial_layer] R[nozzle_temperature_initial_layer] S[nozzle_temperature_initial_layer]\nT[initial_no_support_extruder]\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\n\n;enable_pressure_advance:{enable_pressure_advance[initial_extruder]}\n;This value is called if pressure advance is enabled\n{if enable_pressure_advance[initial_extruder] == \"true\"}\nSET_PRESSURE_ADVANCE ADVANCE=[pressure_advance] ;\nM400\n{endif}\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\n\n\nG1 X{print_bed_max[0]*0.5} Y-1.2 F20000\nG1 Z0.3 F900\n\n\nG90\nM83\nG92 E0 ;Reset Extruder\nG1 F{min(6000, max(900, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X0 E10.156 ;Draw the first line\nG1 Y98.8 E7.934\nG1 X0.9 Y100 E0.1\nG1 Y-0.3 E7.934\nG1 X{print_bed_max[0]*0.5-50} E6.284\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-10} E2\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+10} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+50} E2\n;End PA test.\n\n\nG3 I-1 J0 Z0.6 F1200.0 ;Move to side a little\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", + "machine_end_gcode": ";===== CC_END_GCODE ================\n;===== date: 2025-12-04-001 =====================\nM400 ; wait for buffer to clear\nM140 S0 ;Turn-off bed\nM106 S255 ;Cooling nozzle\nM83\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800\nG2 I1 J0 Z{max_layer_z+0.5} F3000 ; lower z a little\nG90\n{if max_layer_z > 100}G1 Z{min(max_layer_z+50, printable_height+0.5)} F20000{else}G1 Z100 F20000 {endif}; Move print head up \nM204 S5000\nM749\nM204 S5000\nM400\nM83\nG1 X202 F20000\nM400\nG1 Y250 F20000\nG1 Y264.5 F1200\nM400\nG92 E0\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM84 ;Disable all steppers" } diff --git a/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon.json b/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon.json index 3a0ba38a7d..1b626bfa07 100644 --- a/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon.json +++ b/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon.json @@ -8,5 +8,5 @@ "bed_model": "elegoo_centuri_carbon_buildplate_model.stl", "bed_texture": "elegoo_centuri_carbon_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @ECC;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @ECC;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @ECC;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @ECC;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @ECC;Elegoo PLA-CF @ECC;Elegoo PLA @ECC;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @ECC;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @ECC;Elegoo Rapid PETG+;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @ECC;Elegoo TPU 95A @ECC" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @ECC;Elegoo PETG @0.2 nozzle;Elegoo PETG @ECC;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @ECC;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @ECC;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @ECC;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @ECC;Elegoo PLA-CF @ECC;Elegoo PLA @ECC;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @ECC;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @ECC;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @ECC;Elegoo TPU 95A @ECC;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @ECC;Elegoo PLA Galaxy @ECC;Elegoo PLA Marble @ECC;Elegoo PLA Sparkle @ECC;Elegoo PLA Wood @ECC;Elegoo Rapid TPU 95A @ECC;Elegoo ABS @0.2 nozzle;Elegoo ABS @ECC;Elegoo PAHT-CF @ECC;Elegoo PC @0.2 nozzle;Elegoo PC @ECC;Elegoo PC-FR @0.2 nozzle;Elegoo PC-FR @ECC;Elegoo PETG-CF @ECC;Elegoo PETG-GF @ECC;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @ECC" } diff --git a/resources/profiles/Elegoo/machine/ECC/fdm_machine_ecc.json b/resources/profiles/Elegoo/machine/ECC/fdm_machine_ecc.json deleted file mode 100644 index 17096c9646..0000000000 --- a/resources/profiles/Elegoo/machine/ECC/fdm_machine_ecc.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "type": "machine", - "name": "fdm_machine_ecc", - "inherits": "fdm_machine_ecc_common", - "from": "system", - "instantiation": "false", - "nozzle_diameter": [ - "0.4" - ], - "printer_variant": "0.4", - "printable_area": [ - "0x0", - "256x0", - "256x256", - "0x256" - ], - "auxiliary_fan": "1", - "bed_exclude_area": [ - "0x0" - ], - "default_filament_profile": [ - "Elegoo PLA" - ], - "default_print_profile": "0.20mm Standard @Elegoo CC 0.4 nozzle", - "extruder_colour": [ - "#018001" - ], - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "9000", - "9000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200" - ], - "machine_max_speed_e": [ - "30", - "30" - ], - "machine_max_speed_x": [ - "500", - "200" - ], - "machine_max_speed_y": [ - "500", - "200" - ], - "machine_max_speed_z": [ - "20", - "20" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9" - ], - "machine_max_jerk_z": [ - "3", - "3" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "retract_lift_below": [ - "249" - ], - "extruder_clearance_max_radius": "68", - "extruder_clearance_height_to_lid": "90", - "nozzle_volume": "107", - "printer_structure": "corexy", - "best_object_pos": "0.5x0.5", - "retraction_minimum_travel": [ - "0.8" - ], - "retract_before_wipe": [ - "0%" - ], - "wipe_distance": [ - "1.2" - ], - "retraction_length": [ - "0.8" - ], - "retract_length_toolchange": [ - "2" - ], - "z_hop": [ - "0.4" - ], - "retraction_speed": [ - "30" - ], - "deretraction_speed": [ - "30" - ], - "z_hop_types": [ - "Auto Lift" - ], - "thumbnails": [ - "320x320", - "160x160" - ], - "thumbnails_format": "PNG", - "nozzle_type": "brass", - "single_extruder_multi_material": "1", - "machine_end_gcode": ";===== date: 20240510 =====================\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG1 Z{max_layer_z + 0.5} F900 ; lower z a little\nG1 X65 Y245 F12000 ; move to safe pos \nG1 Y245 F3000\n\nG1 X65 Y245 F12000\nG1 Y245 F3000\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\n", - "layer_change_gcode": ";LAYER:{layer_num+1}\n", - "change_filament_gcode": "", - "machine_pause_gcode": "M600" -} diff --git a/resources/profiles/Elegoo/machine/ECC/fdm_machine_ecc_common.json b/resources/profiles/Elegoo/machine/ECC/fdm_machine_ecc_common.json deleted file mode 100644 index 8a79e8a07c..0000000000 --- a/resources/profiles/Elegoo/machine/ECC/fdm_machine_ecc_common.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "type": "machine", - "name": "fdm_machine_ecc_common", - "from": "system", - "instantiation": "false", - "nozzle_diameter": [ - "0.4" - ], - "printer_variant": "0.4", - "support_chamber_temp_control": "0", - "printer_technology": "FFF", - "printer_notes": "", - "deretraction_speed": [ - "40" - ], - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "gcode_flavor": "marlin", - "silent_mode": "0", - "machine_max_acceleration_e": [ - "5000" - ], - "machine_max_acceleration_extruding": [ - "10000" - ], - "machine_max_acceleration_retracting": [ - "1000" - ], - "machine_max_acceleration_x": [ - "10000" - ], - "machine_max_acceleration_y": [ - "10000" - ], - "machine_max_acceleration_z": [ - "100" - ], - "machine_max_speed_e": [ - "60" - ], - "machine_max_speed_x": [ - "500" - ], - "machine_max_speed_y": [ - "500" - ], - "machine_max_speed_z": [ - "10" - ], - "machine_max_jerk_e": [ - "5" - ], - "machine_max_jerk_x": [ - "8" - ], - "machine_max_jerk_y": [ - "8" - ], - "machine_max_jerk_z": [ - "3" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "max_layer_height": [ - "0.28" - ], - "min_layer_height": [ - "0.08" - ], - "printable_height": "250", - "extruder_clearance_radius": "65", - "extruder_clearance_height_to_rod": "36", - "extruder_clearance_height_to_lid": "140", - "printer_settings_id": "Elegoo", - "disable_m73": "1", - "retraction_minimum_travel": [ - "2" - ], - "retract_before_wipe": [ - "70%" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "5" - ], - "retract_length_toolchange": [ - "1" - ], - "z_hop": [ - "0" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retraction_speed": [ - "60" - ], - "cooling_tube_retraction": "90", - "parking_pos_retraction": "90", - "single_extruder_multi_material": "1", - "support_air_filtration": "0", - "wipe": [ - "1" - ], - "z_hop_types": [ - "Auto Lift" - ], - "default_filament_profile": [], - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", - "layer_change_gcode": "", - "machine_start_gcode": "", - "machine_end_gcode": "", - "change_filament_gcode": "", - "purge_in_prime_tower": "0", - "manual_filament_change": "1", - "enable_filament_ramming": "0" -} diff --git a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json index c75d4a18f8..a190c292c3 100644 --- a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json @@ -65,18 +65,30 @@ "bed_mesh_min": "10,10", "bed_mesh_probe_distance": "22,22", "disable_m73": "0", + "machine_max_acceleration_extruding": [ + "20000", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "1", + "1" + ], "machine_max_jerk_x": [ - "20", + "9", "9" ], "machine_max_jerk_y": [ - "20", + "9", "9" ], - "change_filament_gcode": "\n;==========CC2_CHANGE_FILAMENT_GCODE==========\n;===== date: 2025-10-16-001 =====================\nM106 S0\nM106 P2 S0\nG1 Z{min(max_layer_z+3, printable_height+0.5)} F1200\nM6211 T[next_extruder] L[flush_length] M{old_filament_e_feedrate} N{new_filament_e_feedrate} Q[old_filament_temp] R[nozzle_temperature_range_high] S[new_filament_temp]\nT[next_extruder]\n", - "layer_change_gcode": "M73 L{layer_num+1}\n;LAYER:{layer_num+1}\n", - "machine_end_gcode": ";===== CC&CC2_END_GCODE ================\n;===== date: 2025-10-16-001 =====================\n\nM104 S0\nM140 S0 ;Turn-off bed\nM83\nG92 E0 ; zero the extruder\nG1 E-1.5 F1800\nG2 I0 J1 Z{max_layer_z+0.5} F3000 ; lower z a little\nM106 S0\nM106 P2 S0\nG90\n{if max_layer_z > 75}G1 Z{min(max_layer_z+5, printable_height+0.5)} F20000{else}G1 Z80 F20000 {endif}; Move print head up \nG180 S9\nM84\n", - "machine_start_gcode": ";===== CC2_START_GCODE ================\n;===== date: 2025-11-06-001 =====================\n\nG90\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nM190 S[bed_temperature_initial_layer_single] A\nM106 S0\nBED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=0 ADAPTIVE_MARGIN=0 FROM_SLICER=1\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\nG28\nM109 S[nozzle_temperature_initial_layer]\nM6211 A1 L200 T[initial_no_support_extruder] Q[nozzle_temperature_initial_layer] R[nozzle_temperature_initial_layer] S[nozzle_temperature_initial_layer]\nT[initial_no_support_extruder]\n\n{if first_layer_print_min[1] > 0.5}\nG180 S7\nG1 X{print_bed_max[0]*0.5-1} Y-1.2 F20000\nG1 Z0.5 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 E6 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nM106 S200\nG1 X{print_bed_max[0]*0.5-41} E20 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nG1 F6000\nG1 X{print_bed_max[0]*0.5-46} E0.8\n{else}\nG1 E30 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))}\n{endif}\nM106 S0\nG180 S8\nG1 F20000\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", + "change_filament_gcode": "\n;==========CC2_CHANGE_FILAMENT_GCODE==========\n;===== date: 2026-01-16-001 =====================\nM106 S0\nM106 P2 S0\nG1 Z{min(max_layer_z+3, printable_height+0.5)} F1200\nM6211 T[next_extruder] L[flush_length] M{old_filament_e_feedrate} N{new_filament_e_feedrate} Q[old_filament_temp] R[nozzle_temperature_range_high] S[new_filament_temp]\nT[next_extruder]\n", + "layer_change_gcode": "M73 L{layer_num+1}\n;LAYER:{layer_num+1}\nSET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}", + "machine_end_gcode": ";===== CC2_END_GCODE ================\n;===== date: 2026-01-16-001 =====================\n\n\nM140 S0 ;Turn-off bed\nM83\nG92 E0 ; zero the extruder\nG1 E-1.5 F1800\nG2 I0 J1 Z{max_layer_z+0.5} F3000 ; lower z a little\nM106 S0\nM106 P2 S0\nG90\n{if max_layer_z > 75}G1 Z{min(max_layer_z+5, printable_height+0.5)} F20000{else}G1 Z80 F20000 {endif}; Move print head up \nG180 S9\nM104 S0\nM84\n", + "machine_start_gcode": ";===== CC2_START_GCODE ================\n;===== date: 2026-01-16-001 =====================\n\nG90\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nM190 S[bed_temperature_initial_layer_single] A\nM106 S0\nBED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=0 ADAPTIVE_MARGIN=0 FROM_SLICER=1\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\nG28\nM109 S[nozzle_temperature_initial_layer]\nM6211 A1 L200 T[initial_no_support_extruder] Q[nozzle_temperature_initial_layer] R[nozzle_temperature_initial_layer] S[nozzle_temperature_initial_layer]\nT[initial_no_support_extruder]\n\n{if first_layer_print_min[1] > 0.5}\nG180 S7\nG1 X{print_bed_max[0]*0.5-1} Y-1.2 F20000\nG1 Z0.5 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 E6 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nM106 S200\nG1 X{print_bed_max[0]*0.5-41} E20 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nG1 F6000\nG1 X{print_bed_max[0]*0.5-46} E0.8\n{else}\nG1 E30 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))}\n{endif}\nM106 S0\nG180 S8\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", "retract_restart_extra_toolchange": [ "0.5" ] diff --git a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json index d242425799..c31863032f 100644 --- a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json +++ b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json @@ -8,5 +8,5 @@ "bed_model": "elegoo_centuri_carbon_buildplate_model.stl", "bed_texture": "elegoo_centuri_carbon_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @ECC2;Elegoo PETG @0.2 nozzle;Elegoo PETG @ECC2;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @ECC2;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @ECC2;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @ECC2;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @ECC2;Elegoo PLA-CF @ECC2;Elegoo PLA @ECC2;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @ECC2;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @ECC2;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @ECC2;Elegoo TPU 95A @ECC2;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @ECC2;Elegoo PLA Galaxy @ECC2;Elegoo PLA Marble @ECC2; Elegoo PLA Sparkle @ECC2;Elegoo PLA Wood @ECC2;Elegoo Rapid TPU 95A @ECC2;Elegoo ABS @0.2 nozzle;Elegoo ABS @ECC2;Elegoo PAHT-CF @ECC2;Elegoo PC @0.2 nozzle;Elegoo PC @ECC2;Elegoo PC-FR @0.2 nozzle;Elegoo PC-FR @ECC2;Elegoo PETG-CF @ECC2;Elegoo PETG-GF @ECC2;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @ECC2" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @ECC2;Elegoo PETG @0.2 nozzle;Elegoo PETG @ECC2;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @ECC2;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @ECC2;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @ECC2;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @ECC2;Elegoo PLA-CF @ECC2;Elegoo PLA @ECC2;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @ECC2;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @ECC2;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @ECC2;Elegoo TPU 95A @ECC2;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @ECC2;Elegoo PLA Galaxy @ECC2;Elegoo PLA Marble @ECC2;Elegoo PLA Sparkle @ECC2;Elegoo PLA Wood @ECC2;Elegoo Rapid TPU 95A @ECC2;Elegoo ABS @0.2 nozzle;Elegoo ABS @ECC2;Elegoo PAHT-CF @ECC2;Elegoo PC @0.2 nozzle;Elegoo PC @ECC2;Elegoo PC-FR @0.2 nozzle;Elegoo PC-FR @ECC2;Elegoo PETG-CF @ECC2;Elegoo PETG-GF @ECC2;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @ECC2;Elegoo ASA-CF @ECC2;Elegoo PET-CF @ECC2;Elegoo PETG HF @ECC2;Elegoo PLA Glow @ECC2;Elegoo PLA Translucent2 @ECC2" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.4 nozzle.json index cc262b980e..0cc544c1b3 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.4 nozzle.json @@ -1,12 +1,13 @@ { "type": "machine", + "setting_id": "EN104", "name": "Elegoo Neptune 0.4 nozzle", - "inherits": "fdm_elegoo_common", "from": "system", - "setting_id": "GM001", "instantiation": "true", + "inherits": "Elegoo Neptune 2 0.4 nozzle", + "host_type": "elegoolink", "printer_model": "Elegoo Neptune", - "default_print_profile": "0.20mm Standard @Elegoo Neptune", + "default_print_profile": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", "nozzle_diameter": [ "0.4" ], @@ -16,99 +17,5 @@ "210x210", "0x210" ], - "printable_height": "200", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "machine_max_acceleration_extruding": [ - "500", - "500" - ], - "machine_max_acceleration_retracting": [ - "1000", - "1000" - ], - "machine_max_acceleration_travel": [ - "500", - "500" - ], - "machine_max_acceleration_x": [ - "500", - "500" - ], - "machine_max_acceleration_y": [ - "500", - "500" - ], - "machine_max_acceleration_z": [ - "100", - "100" - ], - "machine_max_speed_e": [ - "60", - "60" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "10", - "10" - ], - "machine_max_jerk_e": [ - "5", - "5" - ], - "machine_max_jerk_x": [ - "8", - "8" - ], - "machine_max_jerk_y": [ - "8", - "8" - ], - "machine_max_jerk_z": [ - "0.4", - "0.4" - ], - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "2" - ], - "retract_before_wipe": [ - "70%" - ], - "retraction_length": [ - "2.5" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "1" - ], - "deretraction_speed": [ - "40" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "", - "machine_pause_gcode": "M0", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", - "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" + "printable_height": "200" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.6 nozzle.json new file mode 100644 index 0000000000..871822ac52 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.6 nozzle.json @@ -0,0 +1,29 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 0.6 nozzle", + "inherits": "Elegoo Neptune 0.4 nozzle", + "from": "system", + "setting_id": "EN106", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.8 nozzle.json new file mode 100644 index 0000000000..05e4e9480a --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 0.8 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 0.8 nozzle", + "inherits": "Elegoo Neptune 0.4 nozzle", + "from": "system", + "setting_id": "EN108", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.4 nozzle.json index b32b3b84a3..21f1e4eacd 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.4 nozzle.json @@ -1,63 +1,63 @@ { "type": "machine", + "setting_id": "EN204", "name": "Elegoo Neptune 2 0.4 nozzle", - "inherits": "fdm_elegoo_common", "from": "system", - "setting_id": "GM001", "instantiation": "true", + "inherits": "fdm_elegoo_common", + "host_type": "elegoolink", "printer_model": "Elegoo Neptune 2", - "default_print_profile": "0.20mm Standard @Elegoo Neptune2", + "default_print_profile": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", "nozzle_diameter": [ "0.4" ], "printable_area": [ "0x0", - "220x0", - "220x220", - "0x220" + "235x0", + "235x235", + "0x235" ], "printable_height": "250", - "nozzle_type": "hardened_steel", "auxiliary_fan": "0", "machine_max_acceleration_extruding": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_retracting": [ "1000", "1000" ], "machine_max_acceleration_travel": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_x": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_y": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_z": [ "100", "100" ], "machine_max_speed_e": [ - "60", - "60" + "70", + "70" ], "machine_max_speed_x": [ - "500", - "500" + "300", + "300" ], "machine_max_speed_y": [ - "500", - "500" + "300", + "300" ], "machine_max_speed_z": [ - "10", - "10" + "20", + "20" ], "machine_max_jerk_e": [ "5", @@ -80,12 +80,11 @@ "0.4" ], "max_layer_height": [ - "0.32" + "0.28" ], "min_layer_height": [ "0.08" ], - "printer_settings_id": "Elegoo", "retraction_minimum_travel": [ "2" ], @@ -93,7 +92,7 @@ "70%" ], "retraction_length": [ - "2.5" + "5" ], "retraction_speed": [ "60" @@ -106,13 +105,11 @@ ], "single_extruder_multi_material": "1", "change_filament_gcode": "", - "machine_pause_gcode": "M0", + "machine_pause_gcode": "", "default_filament_profile": [ - "Generic PLA @Elegoo" + "Elegoo PLA @EN2 Series" ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": ";;===== date: 20240520 =====================\n;M413 S0 ; disable Power Loss Recovery\n;[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type={curr_bed_type}\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\n;\nG1 Z10 F300\nG1 X{print_bed_max[0]*0.5-50} Y0.5 F6000\nG1 Z0.4 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X{print_bed_max[0]*0.5+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.5+47} F3000\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0\n", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "scan_first_layer": "0" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.6 nozzle.json new file mode 100644 index 0000000000..289702899a --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.6 nozzle.json @@ -0,0 +1,29 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 2 0.6 nozzle", + "inherits": "Elegoo Neptune 2 0.4 nozzle", + "from": "system", + "setting_id": "EN206", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 2", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.8 nozzle.json new file mode 100644 index 0000000000..115eee6233 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2 0.8 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 2 0.8 nozzle", + "inherits": "Elegoo Neptune 2 0.4 nozzle", + "from": "system", + "setting_id": "EN208", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 2", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2.json index 85a1ec7827..44da4b0072 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune 2", - "model_id": "Elegoo-Neptune-2", - "nozzle_diameter": "0.4", + "model_id": "Elegoo-N2", + "nozzle_diameter": "0.4;0.6;0.8", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune2_buildplate_model.stl", "bed_texture": "elegoo_neptune2_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Elegoo;Generic PETG @Elegoo;Generic PLA @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN2 Series;Elegoo PETG @0.2 nozzle;Elegoo PETG @EN2 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN2 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN2 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN2 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN2 Series;Elegoo PLA-CF @EN2 Series;Elegoo PLA @EN2 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN2 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN2 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN2 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN2 Series;Elegoo PLA Galaxy @EN2 Series;Elegoo PLA Marble @EN2 Series;Elegoo PLA Sparkle @EN2 Series;Elegoo PLA Wood @EN2 Series;Elegoo Rapid TPU 95A @EN2 Series;Elegoo PETG-CF @EN2 Series;Elegoo PETG-GF @EN2 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN2 Series" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.4 nozzle.json index 021354d972..52cbbe6ad9 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.4 nozzle.json @@ -1,12 +1,13 @@ { "type": "machine", + "setting_id": "EN2D04", "name": "Elegoo Neptune 2D 0.4 nozzle", - "inherits": "fdm_elegoo_common", "from": "system", - "setting_id": "GM001", "instantiation": "true", + "inherits": "Elegoo Neptune 2 0.4 nozzle", + "host_type": "elegoolink", "printer_model": "Elegoo Neptune 2D", - "default_print_profile": "0.20mm Standard @Elegoo Neptune2D", + "default_print_profile": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", "extruder_colour": [ "#FCE94F", "#FCE94F" @@ -21,52 +22,51 @@ ], "printable_area": [ "0x0", - "220x0", - "220x220", - "0x220" + "235x0", + "235x235", + "0x235" ], "printable_height": "250", - "nozzle_type": "hardened_steel", "auxiliary_fan": "0", "machine_max_acceleration_extruding": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_retracting": [ "1000", "1000" ], "machine_max_acceleration_travel": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_x": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_y": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_z": [ "100", "100" ], "machine_max_speed_e": [ - "60", - "60" + "70", + "70" ], "machine_max_speed_x": [ - "500", - "500" + "300", + "300" ], "machine_max_speed_y": [ - "500", - "500" + "300", + "300" ], "machine_max_speed_z": [ - "10", - "10" + "20", + "20" ], "machine_max_jerk_e": [ "5", @@ -85,14 +85,13 @@ "0.4" ], "max_layer_height": [ - "0.32", - "0.32" + "0.28", + "0.28" ], "min_layer_height": [ "0.08", "0.08" ], - "printer_settings_id": "Elegoo", "retraction_minimum_travel": [ "2", "2" @@ -118,14 +117,11 @@ "40" ], "single_extruder_multi_material": "1", - "change_filament_gcode": "", - "machine_pause_gcode": "M0", "default_filament_profile": [ - "Generic PLA @Elegoo" + "Elegoo PLA @EN2 Series" ], - "machine_start_gcode": "T[initial_tool] ; set active extruder\nM413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; auto bed levelling - remove ; at beginning of line to enable\n;M420 S1 ; enable mesh - remove ; at beginning of line to enable\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240 ; move down to prime nozzle\nG92 E0 ; reset extruder\nG1 E90 ; load filament\nG92 E0 ; reset extruder\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000 ; move over for second prime line\nG92 E0 ; reset extruder\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0 ; reset extruder", - "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\nG1 E-80 F2000 ; unload filament\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_start_gcode": ";;===== date: 20240520 =====================\nT[initial_tool] ; set active extruder\n;M413 S0 ; disable Power Loss Recovery\n;[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type={curr_bed_type}\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nG90 \nM83 ; extruder relative mode\nG28 ; home all axis\n;G29 ; auto bed levelling - remove ; at beginning of line to enable\nM420 S1 ; enable mesh - remove ; at beginning of line to enable\n;\nG1 Z10 F300\nG1 X{print_bed_max[0]*0.5-50} Y0.5 F6000\nG1 Z0.4 F300\n;\nG92 E0 ; reset extruder\nG1 E90 F600 ; load filament\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\n;\nG1 X{print_bed_max[0]*0.5+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.5+47} F3000\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0\n;", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n;If prime tower is not enabled, perform the following refuelling G-Code.\n{if enable_prime_tower != true}G1 E-80 F2000 ; unload filament {endif}\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "change_filament_gcode": ";If prime tower is not enabled, perform the following refuelling G-Code.\n{if enable_prime_tower != true} \nM83\nG92 E0\nG1 E-5 Z{layer_z+0.4} F1200\nG1 E-85 F1200\nT[next_extruder]\nG93 E0\nG1 E90 F1200\n;\n{endif}", "scan_first_layer": "0" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.6 nozzle.json new file mode 100644 index 0000000000..80464a8485 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.6 nozzle.json @@ -0,0 +1,29 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 2D 0.6 nozzle", + "inherits": "Elegoo Neptune 2D 0.4 nozzle", + "from": "system", + "setting_id": "EN2D06", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 2D", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.8 nozzle.json new file mode 100644 index 0000000000..60649c1baa --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D 0.8 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 2D 0.8 nozzle", + "inherits": "Elegoo Neptune 2D 0.4 nozzle", + "from": "system", + "setting_id": "EN2D08", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 2D", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D.json index 7ff670044e..7ea1ac7ffc 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2D.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune 2D", - "model_id": "Elegoo-Neptune-2D", - "nozzle_diameter": "0.4", + "model_id": "Elegoo-N2D", + "nozzle_diameter": "0.4;0.6;0.8", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune2d_buildplate_model.stl", "bed_texture": "elegoo_neptune2d_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Elegoo;Generic PETG @Elegoo;Generic PLA @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN2 Series;Elegoo PETG @0.2 nozzle;Elegoo PETG @EN2 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN2 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN2 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN2 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN2 Series;Elegoo PLA-CF @EN2 Series;Elegoo PLA @EN2 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN2 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN2 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN2 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN2 Series;Elegoo PLA Galaxy @EN2 Series;Elegoo PLA Marble @EN2 Series;Elegoo PLA Sparkle @EN2 Series;Elegoo PLA Wood @EN2 Series;Elegoo Rapid TPU 95A @EN2 Series;Elegoo PETG-CF @EN2 Series;Elegoo PETG-GF @EN2 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN2 Series" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.4 nozzle.json index c07bfe08d0..78e407fbc6 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.4 nozzle.json @@ -1,114 +1,24 @@ { "type": "machine", + "setting_id": "EN2S04", "name": "Elegoo Neptune 2S 0.4 nozzle", - "inherits": "fdm_elegoo_common", "from": "system", - "setting_id": "GM001", "instantiation": "true", + "inherits": "fdm_elegoo_common", + "host_type": "elegoolink", "printer_model": "Elegoo Neptune 2S", - "default_print_profile": "0.20mm Standard @Elegoo Neptune2S", + "default_print_profile": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", "nozzle_diameter": [ "0.4" ], "printable_area": [ "0x0", - "220x0", - "220x220", - "0x220" + "235x0", + "235x235", + "0x235" ], "printable_height": "250", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "machine_max_acceleration_extruding": [ - "500", - "500" - ], - "machine_max_acceleration_retracting": [ - "1000", - "1000" - ], - "machine_max_acceleration_travel": [ - "500", - "500" - ], - "machine_max_acceleration_x": [ - "500", - "500" - ], - "machine_max_acceleration_y": [ - "500", - "500" - ], - "machine_max_acceleration_z": [ - "100", - "100" - ], - "machine_max_speed_e": [ - "60", - "60" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "10", - "10" - ], - "machine_max_jerk_e": [ - "5", - "5" - ], - "machine_max_jerk_x": [ - "8", - "8" - ], - "machine_max_jerk_y": [ - "8", - "8" - ], - "machine_max_jerk_z": [ - "0.4", - "0.4" - ], - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "2" - ], - "retract_before_wipe": [ - "70%" - ], - "retraction_length": [ - "2.5" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "1" - ], - "deretraction_speed": [ - "40" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "", - "machine_pause_gcode": "M0", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": ";;===== date: 20250227 =====================\n;M413 S0 ; disable Power Loss Recovery\n;[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type={curr_bed_type}\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\n;\nG1 Z10 F300\nG1 X{print_bed_max[0]*0.5-50} Y0.5 F6000\nG1 Z0.4 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X{print_bed_max[0]*0.5+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.5+47} F3000\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0\n", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "scan_first_layer": "0" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.6 nozzle.json new file mode 100644 index 0000000000..41a15f684f --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.6 nozzle.json @@ -0,0 +1,29 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 2S 0.6 nozzle", + "inherits": "Elegoo Neptune 2S 0.4 nozzle", + "from": "system", + "setting_id": "EN2S06", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 2S", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.8 nozzle.json new file mode 100644 index 0000000000..cb408ddafb --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S 0.8 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 2S 0.8 nozzle", + "inherits": "Elegoo Neptune 2S 0.4 nozzle", + "from": "system", + "setting_id": "EN2S08", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 2S", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S.json index 7e4307bbca..e1bc8090f7 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 2S.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune 2S", - "model_id": "Elegoo-Neptune-2S", - "nozzle_diameter": "0.4", + "model_id": "Elegoo-N2S", + "nozzle_diameter": "0.4;0.6;0.8", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune2s_buildplate_model.stl", "bed_texture": "elegoo_neptune2s_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Elegoo;Generic PETG @Elegoo;Generic PLA @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN2 Series;Elegoo PETG @0.2 nozzle;Elegoo PETG @EN2 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN2 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN2 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN2 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN2 Series;Elegoo PLA-CF @EN2 Series;Elegoo PLA @EN2 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN2 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN2 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN2 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN2 Series;Elegoo PLA Galaxy @EN2 Series;Elegoo PLA Marble @EN2 Series;Elegoo PLA Sparkle @EN2 Series;Elegoo PLA Wood @EN2 Series;Elegoo Rapid TPU 95A @EN2 Series;Elegoo PETG-CF @EN2 Series;Elegoo PETG-GF @EN2 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN2 Series" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.4 nozzle.json index d26cc02580..660b05104c 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.4 nozzle.json @@ -1,111 +1,21 @@ { "type": "machine", + "setting_id": "EN304", "name": "Elegoo Neptune 3 0.4 nozzle", - "inherits": "fdm_elegoo_common", "from": "system", - "setting_id": "GM001", "instantiation": "true", + "inherits": "Elegoo Neptune 2 0.4 nozzle", + "host_type": "elegoolink", "printer_model": "Elegoo Neptune 3", - "default_print_profile": "0.20mm Standard @Elegoo Neptune3", + "default_print_profile": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", "nozzle_diameter": [ "0.4" ], "printable_area": [ "0x0", - "220x0", - "220x220", - "0x220" + "235x0", + "235x235", + "0x235" ], - "printable_height": "280", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "machine_max_acceleration_extruding": [ - "500", - "500" - ], - "machine_max_acceleration_retracting": [ - "1000", - "1000" - ], - "machine_max_acceleration_travel": [ - "500", - "500" - ], - "machine_max_acceleration_x": [ - "500", - "500" - ], - "machine_max_acceleration_y": [ - "500", - "500" - ], - "machine_max_acceleration_z": [ - "100", - "100" - ], - "machine_max_speed_e": [ - "60", - "60" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "10", - "10" - ], - "machine_max_jerk_e": [ - "5", - "5" - ], - "machine_max_jerk_x": [ - "8", - "8" - ], - "machine_max_jerk_y": [ - "8", - "8" - ], - "machine_max_jerk_z": [ - "0.4", - "0.4" - ], - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "5" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "0" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "", - "machine_pause_gcode": "M0", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", - "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" + "printable_height": "280" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.6 nozzle.json new file mode 100644 index 0000000000..a2ed0f97a6 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.6 nozzle.json @@ -0,0 +1,29 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 0.6 nozzle", + "inherits": "Elegoo Neptune 3 0.4 nozzle", + "from": "system", + "setting_id": "EN306", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 3", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.8 nozzle.json new file mode 100644 index 0000000000..86894a6563 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3 0.8 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 0.8 nozzle", + "inherits": "Elegoo Neptune 3 0.4 nozzle", + "from": "system", + "setting_id": "EN308", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 3", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3.json index acc5234661..030c7b84c3 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune 3.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune 3", - "model_id": "Elegoo-Neptune-3", - "nozzle_diameter": "0.4", + "model_id": "Elegoo-N3", + "nozzle_diameter": "0.4;0.6;0.8", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune3_buildplate_model.stl", "bed_texture": "elegoo_neptune3_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Elegoo;Generic PETG @Elegoo;Generic PLA @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN2 Series;Elegoo PETG @0.2 nozzle;Elegoo PETG @EN2 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN2 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN2 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN2 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN2 Series;Elegoo PLA-CF @EN2 Series;Elegoo PLA @EN2 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN2 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN2 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN2 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN2 Series;Elegoo PLA Galaxy @EN2 Series;Elegoo PLA Marble @EN2 Series;Elegoo PLA Sparkle @EN2 Series;Elegoo PLA Wood @EN2 Series;Elegoo Rapid TPU 95A @EN2 Series;Elegoo PETG-CF @EN2 Series;Elegoo PETG-GF @EN2 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN2 Series" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.4 nozzle.json index 09e420af27..7b07b18a3f 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.4 nozzle.json @@ -1,114 +1,24 @@ { "type": "machine", + "setting_id": "ENX04", "name": "Elegoo Neptune X 0.4 nozzle", - "inherits": "fdm_elegoo_common", "from": "system", - "setting_id": "GM001", "instantiation": "true", + "inherits": "fdm_elegoo_common", + "host_type": "elegoolink", "printer_model": "Elegoo Neptune X", - "default_print_profile": "0.20mm Standard @Elegoo NeptuneX", + "default_print_profile": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", "nozzle_diameter": [ "0.4" ], "printable_area": [ "0x0", - "220x0", - "220x220", - "0x220" + "235x0", + "235x235", + "0x235" ], "printable_height": "300", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "machine_max_acceleration_extruding": [ - "500", - "500" - ], - "machine_max_acceleration_retracting": [ - "1000", - "1000" - ], - "machine_max_acceleration_travel": [ - "500", - "500" - ], - "machine_max_acceleration_x": [ - "500", - "500" - ], - "machine_max_acceleration_y": [ - "500", - "500" - ], - "machine_max_acceleration_z": [ - "100", - "100" - ], - "machine_max_speed_e": [ - "60", - "60" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "10", - "10" - ], - "machine_max_jerk_e": [ - "5", - "5" - ], - "machine_max_jerk_x": [ - "8", - "8" - ], - "machine_max_jerk_y": [ - "8", - "8" - ], - "machine_max_jerk_z": [ - "0.4", - "0.4" - ], - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "2" - ], - "retract_before_wipe": [ - "70%" - ], - "retraction_length": [ - "2.5" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "1" - ], - "deretraction_speed": [ - "40" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "", - "machine_pause_gcode": "M0", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_start_gcode": ";;===== date: 20250227 =====================\n;M413 S0 ; disable Power Loss Recovery\n;[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type={curr_bed_type}\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\n;\nG1 Z10 F300\nG1 X{print_bed_max[0]*0.5-50} Y0.5 F6000\nG1 Z0.4 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X{print_bed_max[0]*0.5+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.5+47} F3000\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0\n", "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "scan_first_layer": "0" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.6 nozzle.json new file mode 100644 index 0000000000..2a73103c66 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.6 nozzle.json @@ -0,0 +1,29 @@ +{ + "type": "machine", + "name": "Elegoo Neptune X 0.6 nozzle", + "inherits": "Elegoo Neptune X 0.4 nozzle", + "from": "system", + "setting_id": "ENX06", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune X", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.8 nozzle.json new file mode 100644 index 0000000000..5f21d5af22 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X 0.8 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune X 0.8 nozzle", + "inherits": "Elegoo Neptune X 0.4 nozzle", + "from": "system", + "setting_id": "ENX08", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune X", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN2 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X.json index c801b38001..cc81665e48 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune X.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune X", - "model_id": "Elegoo-Neptune-X", - "nozzle_diameter": "0.4", + "model_id": "Elegoo-NX", + "nozzle_diameter": "0.4;0.6;0.8", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptunex_buildplate_model.stl", "bed_texture": "elegoo_neptunex_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Elegoo;Generic PETG @Elegoo;Generic PLA @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN2 Series;Elegoo PETG @0.2 nozzle;Elegoo PETG @EN2 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN2 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN2 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN2 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN2 Series;Elegoo PLA-CF @EN2 Series;Elegoo PLA @EN2 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN2 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN2 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN2 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN2 Series;Elegoo PLA Galaxy @EN2 Series;Elegoo PLA Marble @EN2 Series;Elegoo PLA Sparkle @EN2 Series;Elegoo PLA Wood @EN2 Series;Elegoo Rapid TPU 95A @EN2 Series;Elegoo PETG-CF @EN2 Series;Elegoo PETG-GF @EN2 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN2 Series" } diff --git a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune.json b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune.json index 376e1520c6..e8f1dff64f 100644 --- a/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune.json +++ b/resources/profiles/Elegoo/machine/EN2SERIES/Elegoo Neptune.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune", - "model_id": "Elegoo-Neptune", - "nozzle_diameter": "0.4", + "model_id": "Elegoo-N1", + "nozzle_diameter": "0.4;0.6;0.8", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune_buildplate_model.stl", "bed_texture": "elegoo_neptune_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Elegoo;Generic PETG @Elegoo;Generic PLA @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN2 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN2 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN2 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN2 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN2 Series;Elegoo PLA-CF @EN2 Series;Elegoo PLA @EN2 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN2 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN2 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN2 Series" } diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.2 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.2 nozzle.json new file mode 100644 index 0000000000..8c9c238d1a --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.2 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Max 0.2 nozzle", + "inherits": "Elegoo Neptune 3 Max 0.4 nozzle", + "from": "system", + "setting_id": "EN3Max02", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Elegoo Neptune 3 Max", + "printer_variant": "0.2", + "default_filament_profile": [ + "Elegoo PLA @0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @Elegoo N3Max 0.2 nozzle", + "retraction_minimum_travel": [ + "0.4" + ], + "wipe_distance": [ + "0.8" + ], + "retraction_length": [ + "0.8" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.4 nozzle.json index 101d0aebca..af7fb0a2f7 100644 --- a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.4 nozzle.json @@ -1,114 +1,45 @@ { "type": "machine", + "setting_id": "EN3MAX04", "name": "Elegoo Neptune 3 Max 0.4 nozzle", - "inherits": "fdm_elegoo_common", "from": "system", - "setting_id": "GM001", "instantiation": "true", + "inherits": "Elegoo Neptune 3 Pro 0.4 nozzle", + "host_type": "elegoolink", "printer_model": "Elegoo Neptune 3 Max", - "default_print_profile": "0.20mm Standard @Elegoo Neptune3Max", + "default_print_profile": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", "nozzle_diameter": [ "0.4" ], "printable_area": [ "0x0", - "420x0", - "420x420", - "0x420" + "425x0", + "425x425", + "0x425" ], "printable_height": "500", - "nozzle_type": "hardened_steel", + "retract_lift_below": [ + "499" + ], "auxiliary_fan": "0", "machine_max_acceleration_extruding": [ - "500", - "500" + "700", + "700" ], "machine_max_acceleration_retracting": [ - "1000", - "1000" + "700", + "700" ], "machine_max_acceleration_travel": [ - "500", - "500" + "700", + "700" ], "machine_max_acceleration_x": [ - "500", - "500" + "700", + "700" ], "machine_max_acceleration_y": [ - "500", - "500" - ], - "machine_max_acceleration_z": [ - "100", - "100" - ], - "machine_max_speed_e": [ - "60", - "60" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "10", - "10" - ], - "machine_max_jerk_e": [ - "5", - "5" - ], - "machine_max_jerk_x": [ - "8", - "8" - ], - "machine_max_jerk_y": [ - "8", - "8" - ], - "machine_max_jerk_z": [ - "0.4", - "0.4" - ], - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "2.5" - ], - "retraction_speed": [ - "25" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "0" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "M600", - "machine_pause_gcode": "M0", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", - "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" + "700", + "700" + ] } diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.6 nozzle.json new file mode 100644 index 0000000000..f4e2f26013 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.6 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Max 0.6 nozzle", + "inherits": "Elegoo Neptune 3 Max 0.4 nozzle", + "from": "system", + "setting_id": "EN3Max06", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 3 Max", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN3 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo N3Max 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.5" + ], + "retraction_length": [ + "0.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.8 nozzle.json new file mode 100644 index 0000000000..e70dc91e88 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 0.8 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Max 0.8 nozzle", + "inherits": "Elegoo Neptune 3 Max 0.4 nozzle", + "from": "system", + "setting_id": "EN3Max08", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 3 Max", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN3 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo N3Max 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.6" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 1.0 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 1.0 nozzle.json new file mode 100644 index 0000000000..4003e68632 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max 1.0 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Max 1.0 nozzle", + "inherits": "Elegoo Neptune 3 Max 0.4 nozzle", + "from": "system", + "setting_id": "EN3Max10", + "instantiation": "true", + "nozzle_diameter": [ + "1.0" + ], + "printer_model": "Elegoo Neptune 3 Max", + "printer_variant": "1.0", + "default_filament_profile": [ + "Elegoo PLA @EN3 Series" + ], + "default_print_profile": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", + "retraction_minimum_travel": [ + "2.0" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "2.0" + ], + "max_layer_height": [ + "0.7" + ], + "min_layer_height": [ + "0.2" + ], + "retract_length_toolchange": [ + "3.5" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max.json index 1fe18647a6..178e92be61 100644 --- a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max.json +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Max.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune 3 Max", - "model_id": "Elegoo-Neptune-3-Max", - "nozzle_diameter": "0.4", + "model_id": "Elegoo-N3Max", + "nozzle_diameter": "0.4;0.2;0.6;0.8;1.0", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune3max_buildplate_model.stl", "bed_texture": "elegoo_neptune3max_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Elegoo;Generic PETG @Elegoo;Generic PLA @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN3 Series;Elegoo PETG @0.2 nozzle;Elegoo PETG @EN3 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN3 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN3 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN3 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN3 Series;Elegoo PLA-CF @EN3 Series;Elegoo PLA @EN3 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN3 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN3 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN3 Series;Elegoo TPU 95A @EN3 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN3 Series;Elegoo PLA Galaxy @EN3 Series;Elegoo PLA Marble @EN3 Series;Elegoo PLA Sparkle @EN3 Series;Elegoo PLA Wood @EN3 Series;Elegoo Rapid TPU 95A @EN3 Series;Elegoo PETG-CF @EN3 Series;Elegoo PETG-GF @EN3 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN3 Series" } diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.2 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.2 nozzle.json new file mode 100644 index 0000000000..153ec5735c --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.2 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Plus 0.2 nozzle", + "inherits": "Elegoo Neptune 3 Plus 0.4 nozzle", + "from": "system", + "setting_id": "EN3Plus02", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Elegoo Neptune 3 Plus", + "printer_variant": "0.2", + "default_filament_profile": [ + "Elegoo PLA @0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @Elegoo N3Plus 0.2 nozzle", + "retraction_minimum_travel": [ + "0.4" + ], + "wipe_distance": [ + "0.8" + ], + "retraction_length": [ + "0.8" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.4 nozzle.json index 727b11ed7d..bc1a298d62 100644 --- a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.4 nozzle.json @@ -1,114 +1,24 @@ { "type": "machine", + "setting_id": "EN3PLUS04", "name": "Elegoo Neptune 3 Plus 0.4 nozzle", - "inherits": "fdm_elegoo_common", "from": "system", - "setting_id": "GM001", "instantiation": "true", + "inherits": "Elegoo Neptune 3 Pro 0.4 nozzle", + "host_type": "elegoolink", "printer_model": "Elegoo Neptune 3 Plus", - "default_print_profile": "0.20mm Standard @Elegoo Neptune3Plus", + "default_print_profile": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", "nozzle_diameter": [ "0.4" ], "printable_area": [ "0x0", - "320x0", - "320x320", - "0x320" + "325x0", + "325x325", + "0x325" ], "printable_height": "400", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "machine_max_acceleration_extruding": [ - "500", - "500" - ], - "machine_max_acceleration_retracting": [ - "1000", - "1000" - ], - "machine_max_acceleration_travel": [ - "500", - "500" - ], - "machine_max_acceleration_x": [ - "500", - "500" - ], - "machine_max_acceleration_y": [ - "500", - "500" - ], - "machine_max_acceleration_z": [ - "100", - "100" - ], - "machine_max_speed_e": [ - "60", - "60" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "10", - "10" - ], - "machine_max_jerk_e": [ - "5", - "5" - ], - "machine_max_jerk_x": [ - "8", - "8" - ], - "machine_max_jerk_y": [ - "8", - "8" - ], - "machine_max_jerk_z": [ - "0.4", - "0.4" - ], - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "2.5" - ], - "retraction_speed": [ - "25" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "0" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "M600", - "machine_pause_gcode": "M0", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", - "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" + "retract_lift_below": [ + "399" + ] } diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.6 nozzle.json new file mode 100644 index 0000000000..ef8d74398e --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.6 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Plus 0.6 nozzle", + "inherits": "Elegoo Neptune 3 Plus 0.4 nozzle", + "from": "system", + "setting_id": "EN3Plus06", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 3 Plus", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN3 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo N3Plus 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "retraction_length": [ + "1.5" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.8 nozzle.json new file mode 100644 index 0000000000..4485f56347 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 0.8 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Plus 0.8 nozzle", + "inherits": "Elegoo Neptune 3 Plus 0.4 nozzle", + "from": "system", + "setting_id": "EN3Plus08", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 3 Plus", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN3 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo N3Plus 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.6" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 1.0 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 1.0 nozzle.json new file mode 100644 index 0000000000..34181afdd5 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus 1.0 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Plus 1.0 nozzle", + "inherits": "Elegoo Neptune 3 Plus 0.4 nozzle", + "from": "system", + "setting_id": "EN3Plus10", + "instantiation": "true", + "nozzle_diameter": [ + "1.0" + ], + "printer_model": "Elegoo Neptune 3 Plus", + "printer_variant": "1.0", + "default_filament_profile": [ + "Elegoo PLA @EN3 Series" + ], + "default_print_profile": "0.50mm Standard @Elegoo N3Plus 1.0 nozzle", + "retraction_minimum_travel": [ + "2.0" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "2.0" + ], + "max_layer_height": [ + "0.7" + ], + "min_layer_height": [ + "0.2" + ], + "retract_length_toolchange": [ + "3.5" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus.json index 0830277e96..d15d86cd9d 100644 --- a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus.json +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Plus.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune 3 Plus", - "model_id": "Elegoo-Neptune-3-Plus", - "nozzle_diameter": "0.4", + "model_id": "Elegoo-N3Plus", + "nozzle_diameter": "0.4;0.2;0.6;0.8;1.0", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune3plus_buildplate_model.stl", "bed_texture": "elegoo_neptune3plus_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Elegoo;Generic PETG @Elegoo;Generic PLA @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN3 Series;Elegoo PETG @0.2 nozzle;Elegoo PETG @EN3 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN3 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN3 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN3 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN3 Series;Elegoo PLA-CF @EN3 Series;Elegoo PLA @EN3 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN3 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN3 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN3 Series;Elegoo TPU 95A @EN3 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN3 Series;Elegoo PLA Galaxy @EN3 Series;Elegoo PLA Marble @EN3 Series;Elegoo PLA Sparkle @EN3 Series;Elegoo PLA Wood @EN3 Series;Elegoo Rapid TPU 95A @EN3 Series;Elegoo PETG-CF @EN3 Series;Elegoo PETG-GF @EN3 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN3 Series" } diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.2 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.2 nozzle.json new file mode 100644 index 0000000000..b1609d288d --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.2 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Pro 0.2 nozzle", + "inherits": "Elegoo Neptune 3 Pro 0.4 nozzle", + "from": "system", + "setting_id": "EN3Pro02", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Elegoo Neptune 3 Pro", + "printer_variant": "0.2", + "default_filament_profile": [ + "Elegoo PLA @0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @Elegoo N3Pro 0.2 nozzle", + "retraction_minimum_travel": [ + "0.4" + ], + "wipe_distance": [ + "0.8" + ], + "retraction_length": [ + "0.8" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.4 nozzle.json index 2c3696fa71..3b40ba184f 100644 --- a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.4 nozzle.json @@ -1,43 +1,46 @@ { "type": "machine", + "setting_id": "EN3PRO04", "name": "Elegoo Neptune 3 Pro 0.4 nozzle", - "inherits": "fdm_elegoo_common", "from": "system", - "setting_id": "GM001", "instantiation": "true", + "inherits": "fdm_elegoo_common", + "host_type": "elegoolink", "printer_model": "Elegoo Neptune 3 Pro", - "default_print_profile": "0.20mm Standard @Elegoo Neptune3Pro", + "default_print_profile": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", "nozzle_diameter": [ "0.4" ], "printable_area": [ "0x0", - "225x0", - "225x225", - "0x225" + "230x0", + "230x230", + "0x230" ], "printable_height": "280", - "nozzle_type": "hardened_steel", + "retract_lift_below": [ + "279" + ], "auxiliary_fan": "0", "machine_max_acceleration_extruding": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_retracting": [ "1000", "1000" ], "machine_max_acceleration_travel": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_x": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_y": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_z": [ "100", @@ -48,12 +51,12 @@ "60" ], "machine_max_speed_x": [ - "500", - "500" + "300", + "300" ], "machine_max_speed_y": [ - "500", - "500" + "300", + "300" ], "machine_max_speed_z": [ "10", @@ -76,12 +79,11 @@ "0.4" ], "max_layer_height": [ - "0.32" + "0.28" ], "min_layer_height": [ "0.08" ], - "printer_settings_id": "Elegoo", "retraction_minimum_travel": [ "1" ], @@ -89,26 +91,30 @@ "85%" ], "retraction_length": [ - "2.5" + "1.5" ], "retraction_speed": [ - "25" + "30" ], "retract_length_toolchange": [ "2" ], "deretraction_speed": [ - "0" + "30" ], + "thumbnails": [ + "200x200/COLPIC/#30394F", + "160x160/COLPIC/#30394F", + "160x160/PNG" + ], + "thumbnails_format": "COLPIC", "single_extruder_multi_material": "1", "change_filament_gcode": "M600", - "machine_pause_gcode": "M0", + "machine_pause_gcode": "M600", "default_filament_profile": [ - "Generic PLA @Elegoo" + "Elegoo PLA @EN3 Series" ], - "machine_start_gcode": "M413 S0 ; disable Power Loss Recovery\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[bed_temperature_initial_layer_single] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer_single] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", - "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{z_offset+min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{z_offset+min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_start_gcode": ";;===== date: 20240520 =====================\nM400 ; wait for buffer to clear\n;[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type={curr_bed_type}\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\n;G29 ; run abl mesh\nM420 S1 ; load mesh\nG1 Z10 F300\nG1 X{print_bed_max[0]*0.5-50} Y0.5 F6000\nG1 Z0.4 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X{print_bed_max[0]*0.5+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.5+47} F3000\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0\n", + "machine_end_gcode": ";PRINT_END\nG90 ;Absolute positionning\nM83 ; extruder relative mode\nG1 X10 Y{print_bed_max[1]*0.8} Z{min(max_layer_z+50, printable_height)} E-5 F{travel_speed*60} ; Move print head up\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", "scan_first_layer": "0" } diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.6 nozzle.json new file mode 100644 index 0000000000..271bbfa58a --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.6 nozzle.json @@ -0,0 +1,32 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Pro 0.6 nozzle", + "inherits": "Elegoo Neptune 3 Pro 0.4 nozzle", + "from": "system", + "setting_id": "EN3Pro06", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 3 Pro", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN3 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo N3Pro 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "retraction_length": [ + "1.5" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.8 nozzle.json new file mode 100644 index 0000000000..833bebd513 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 0.8 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Pro 0.8 nozzle", + "inherits": "Elegoo Neptune 3 Pro 0.4 nozzle", + "from": "system", + "setting_id": "EN3Pro08", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 3 Pro", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN3 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo N3Pro 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.6" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 1.0 nozzle.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 1.0 nozzle.json new file mode 100644 index 0000000000..d236bd37f2 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro 1.0 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 3 Pro 1.0 nozzle", + "inherits": "Elegoo Neptune 3 Pro 0.4 nozzle", + "from": "system", + "setting_id": "EN3Pro10", + "instantiation": "true", + "nozzle_diameter": [ + "1.0" + ], + "printer_model": "Elegoo Neptune 3 Pro", + "printer_variant": "1.0", + "default_filament_profile": [ + "Elegoo PLA @EN3 Series" + ], + "default_print_profile": "0.50mm Standard @Elegoo N3Pro 1.0 nozzle", + "retraction_minimum_travel": [ + "2.0" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "2.0" + ], + "max_layer_height": [ + "0.7" + ], + "min_layer_height": [ + "0.2" + ], + "retract_length_toolchange": [ + "3.5" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro.json b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro.json index ef0b165199..92efec5e85 100644 --- a/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro.json +++ b/resources/profiles/Elegoo/machine/EN3SERIES/Elegoo Neptune 3 Pro.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune 3 Pro", - "model_id": "Elegoo-Neptune-3-Pro", - "nozzle_diameter": "0.4", + "model_id": "Elegoo-N3Pro", + "nozzle_diameter": "0.4;0.2;0.6;0.8;1.0", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune3pro_buildplate_model.stl", "bed_texture": "elegoo_neptune3pro_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic ABS @Elegoo;Generic PETG @Elegoo;Generic PLA @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN3 Series;Elegoo PETG @0.2 nozzle;Elegoo PETG @EN3 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN3 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN3 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN3 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN3 Series;Elegoo PLA-CF @EN3 Series;Elegoo PLA @EN3 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN3 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN3 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN3 Series;Elegoo TPU 95A @EN3 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN3 Series;Elegoo PLA Galaxy @EN3 Series;Elegoo PLA Marble @EN3 Series;Elegoo PLA Sparkle @EN3 Series;Elegoo PLA Wood @EN3 Series;Elegoo Rapid TPU 95A @EN3 Series;Elegoo PETG-CF @EN3 Series;Elegoo PETG-GF @EN3 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN3 Series" } diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.2 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.2 nozzle).json deleted file mode 100644 index 0aecb7af54..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.2 nozzle).json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 (0.2 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4 (0.2 nozzle)", - "gcode_flavor": "klipper", - "nozzle_diameter": [ - "0.2" - ], - "printer_variant": "0.2", - "printable_area": [ - "0x0", - "225x0", - "225x225", - "0x225" - ], - "printable_height": "265", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "max_layer_height": [ - "0.16" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "0.8" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X67.5 Y0 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X67.5 Y0 Z0.4 F300 ;Move to start position\nG1 X167.5 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X162.5 F3000\nG92 E0 ;Reset Extruder\n", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y220 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.4 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.4 nozzle).json deleted file mode 100644 index 5a9014048e..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.4 nozzle).json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 (0.4 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4 (0.4 nozzle)", - "gcode_flavor": "klipper", - "nozzle_diameter": [ - "0.4" - ], - "printer_variant": "0.4", - "printable_area": [ - "0x0", - "225x0", - "225x225", - "0x225" - ], - "printable_height": "265", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "0.8" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X67.5 Y0 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X67.5 Y0 Z0.4 F300 ;Move to start position\nG1 X167.5 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X162.5 F3000\nG92 E0 ;Reset Extruder\n", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y220 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.6 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.6 nozzle).json deleted file mode 100644 index 8fd6153705..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.6 nozzle).json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 (0.6 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4 (0.6 nozzle)", - "gcode_flavor": "klipper", - "nozzle_diameter": [ - "0.6" - ], - "printer_variant": "0.6", - "printable_area": [ - "0x0", - "225x0", - "225x225", - "0x225" - ], - "printable_height": "265", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "max_layer_height": [ - "0.4" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "2.5" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X67.5 Y0 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X67.5 Y0 Z0.4 F300 ;Move to start position\nG1 X167.5 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X162.5 F3000\nG92 E0 ;Reset Extruder\n", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y220 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.8 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.8 nozzle).json deleted file mode 100644 index 75cfb7f4e6..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 (0.8 nozzle).json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 (0.8 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4 (0.8 nozzle)", - "gcode_flavor": "klipper", - "nozzle_diameter": [ - "0.8" - ], - "printer_variant": "0.8", - "printable_area": [ - "0x0", - "225x0", - "225x225", - "0x225" - ], - "printable_height": "265", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "max_layer_height": [ - "0.6" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "0.8" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X67.5 Y0 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X67.5 Y0 Z0.4 F300 ;Move to start position\nG1 X167.5 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X162.5 F3000\nG92 E0 ;Reset Extruder\n", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y220 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.2 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.2 nozzle.json new file mode 100644 index 0000000000..6fbeb9bc7c --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.2 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 0.2 nozzle", + "inherits": "Elegoo Neptune 4 0.4 nozzle", + "from": "system", + "setting_id": "EN402", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Elegoo Neptune 4", + "printer_variant": "0.2", + "default_filament_profile": [ + "Elegoo PLA @0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @Elegoo N4 0.2 nozzle", + "retraction_minimum_travel": [ + "0.4" + ], + "wipe_distance": [ + "0.8" + ], + "retraction_length": [ + "0.5" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "renamed_from": "Elegoo Neptune 4 (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.4 nozzle.json new file mode 100644 index 0000000000..20bd16ec6f --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.4 nozzle.json @@ -0,0 +1,119 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 0.4 nozzle", + "from": "system", + "setting_id": "EN404", + "instantiation": "true", + "inherits": "fdm_elegoo_3dp_001_common", + "host_type": "elegoolink", + "printer_model": "Elegoo Neptune 4", + "default_print_profile": "0.20mm Standard @Elegoo N4 0.4 nozzle", + "gcode_flavor": "klipper", + "nozzle_diameter": [ + "0.4" + ], + "printer_variant": "0.4", + "printable_area": [ + "0x0", + "230x0", + "230x230", + "0x230" + ], + "extruder_offset": [ + "-1x-2" + ], + "printable_height": "265", + "retract_lift_below": [ + "264" + ], + "machine_max_acceleration_extruding": [ + "10000", + "10000" + ], + "machine_max_acceleration_retracting": [ + "10000", + "10000" + ], + "machine_max_acceleration_x": [ + "10000", + "10000" + ], + "machine_max_acceleration_y": [ + "10000", + "10000" + ], + "machine_max_acceleration_z": [ + "300", + "300" + ], + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "10000", + "10000" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "20", + "20" + ], + "retraction_minimum_travel": [ + "0.8" + ], + "printer_structure": "i3", + "cooling_tube_length": "5", + "enable_filament_ramming": "1", + "nozzle_volume": "90", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "retract_before_wipe": [ + "0%" + ], + "retraction_length": [ + "0.8" + ], + "retraction_speed": [ + "60" + ], + "retract_length_toolchange": [ + "2" + ], + "scan_first_layer": "0", + "auxiliary_fan": "0", + "single_extruder_multi_material": "1", + "change_filament_gcode": "M600", + "machine_pause_gcode": "M600", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "extruder_clearance_radius": "47", + "extruder_clearance_height_to_rod": "34", + "extruder_clearance_height_to_lid": "34", + "printer_technology": "FFF", + "machine_start_gcode": ";;===== date: 20240520 =====================\nM400 ; wait for buffer to clear\n;[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type={curr_bed_type}\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X{print_bed_max[0]*0.5-50} Y0.5 F6000\nG1 Z0.4 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X{print_bed_max[0]*0.5+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.5+47} F3000\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0\n", + "machine_end_gcode": ";PRINT_END\nG90 ;Absolute positionning\nM83 ; extruder relative mode\nG92 E0 ; zero the extruder\nG1 E-1.5 F1800\nG2 I1 J0 Z{max_layer_z+0.5} F3000 ; lower z a little\nG90\nG1 X10 Y{print_bed_max[1]*0.8} Z{min(max_layer_z+50, printable_height)} E-5 F{travel_speed*60} ; Move print head up\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", + "thumbnails": [ + "320x320/COLPIC/#30394F", + "160x160/COLPIC/#30394F", + "160x160/PNG" + ], + "thumbnails_format": "COLPIC", + "renamed_from": "Elegoo Neptune 4 (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.6 nozzle.json new file mode 100644 index 0000000000..eea51da2b5 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.6 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 0.6 nozzle", + "inherits": "Elegoo Neptune 4 0.4 nozzle", + "from": "system", + "setting_id": "EN406", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 4", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo N4 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "retraction_length": [ + "0.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "renamed_from": "Elegoo Neptune 4 (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.8 nozzle.json new file mode 100644 index 0000000000..6e95538dac --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 0.8 nozzle.json @@ -0,0 +1,36 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 0.8 nozzle", + "inherits": "Elegoo Neptune 4 0.4 nozzle", + "from": "system", + "setting_id": "EN408", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 4", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo N4 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.2" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ], + "renamed_from": "Elegoo Neptune 4 (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 1.0 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 1.0 nozzle.json new file mode 100644 index 0000000000..945fa4de2c --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 1.0 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 1.0 nozzle", + "inherits": "Elegoo Neptune 4 0.4 nozzle", + "from": "system", + "setting_id": "EN410", + "instantiation": "true", + "nozzle_diameter": [ + "1.0" + ], + "printer_model": "Elegoo Neptune 4", + "printer_variant": "1.0", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.50mm Standard @Elegoo N4 1.0 nozzle", + "retraction_minimum_travel": [ + "2.0" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.5" + ], + "max_layer_height": [ + "0.7" + ], + "min_layer_height": [ + "0.2" + ], + "retract_length_toolchange": [ + "3.5" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.2 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.2 nozzle).json deleted file mode 100644 index c8274d0cdd..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.2 nozzle).json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Max (0.2 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Max", - "printer_notes": "", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle)", - "nozzle_diameter": [ - "0.2" - ], - "printer_variant": "0.2", - "printable_area": [ - "0x0", - "420x0", - "420x420", - "0x420" - ], - "machine_max_speed_x": [ - "300", - "300" - ], - "machine_max_speed_y": [ - "300", - "300" - ], - "printable_height": "480", - "nozzle_hrc": "0", - "nozzle_type": "brass", - "nozzle_volume": "0", - "cooling_tube_length": "5", - "cooling_tube_retraction": "91.5", - "enable_filament_ramming": "1", - "parking_pos_retraction": "92", - "auxiliary_fan": "1", - "extra_loading_move": "-2", - "extruder_clearance_height_to_lid": "34", - "extruder_clearance_height_to_rod": "34", - "extruder_clearance_radius": "47", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "gcode_flavor": "klipper", - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "max_layer_height": [ - "0.15" - ], - "min_layer_height": [ - "0.05" - ], - "printer_settings_id": "Elegoo", - "retract_before_wipe": [ - "85%" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "0" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.7" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "60" - ], - "use_firmwware_retraction": "0", - "single_extruder_multi_material": "1", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "1" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Normal Lift" - ], - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 MAX\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X165 Y0.5 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X165 Y0.5 Z0.4 F300 ;Move to start position\nG1 X265 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X260 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y400 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.4 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.4 nozzle).json deleted file mode 100644 index bfd18531cd..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.4 nozzle).json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Max (0.4 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Max", - "printer_notes": "", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle)", - "nozzle_diameter": [ - "0.4" - ], - "printer_variant": "0.4", - "printable_area": [ - "0x0", - "420x0", - "420x420", - "0x420" - ], - "printable_height": "480", - "nozzle_hrc": "0", - "nozzle_type": "brass", - "nozzle_volume": "0", - "cooling_tube_length": "5", - "cooling_tube_retraction": "91.5", - "enable_filament_ramming": "1", - "parking_pos_retraction": "92", - "auxiliary_fan": "1", - "extra_loading_move": "-2", - "extruder_clearance_height_to_lid": "34", - "extruder_clearance_height_to_rod": "34", - "extruder_clearance_radius": "47", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "gcode_flavor": "klipper", - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "machine_max_speed_x": [ - "300", - "300" - ], - "machine_max_speed_y": [ - "300", - "300" - ], - "printer_settings_id": "Elegoo", - "retract_before_wipe": [ - "85%" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "0" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.7" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "60" - ], - "use_firmwware_retraction": "0", - "single_extruder_multi_material": "1", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "1" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Normal Lift" - ], - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 MAX\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X165 Y0.5 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X165 Y0.5 Z0.4 F300 ;Move to start position\nG1 X265 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X260 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y400 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.6 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.6 nozzle).json deleted file mode 100644 index 713b951dd4..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.6 nozzle).json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Max (0.6 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Max", - "printer_notes": "", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle)", - "nozzle_diameter": [ - "0.6" - ], - "printer_variant": "0.6", - "printable_area": [ - "0x0", - "420x0", - "420x420", - "0x420" - ], - "machine_max_speed_x": [ - "300", - "300" - ], - "machine_max_speed_y": [ - "300", - "300" - ], - "printable_height": "480", - "nozzle_hrc": "0", - "nozzle_type": "brass", - "nozzle_volume": "0", - "cooling_tube_length": "5", - "cooling_tube_retraction": "91.5", - "enable_filament_ramming": "1", - "parking_pos_retraction": "92", - "auxiliary_fan": "1", - "extra_loading_move": "-2", - "extruder_clearance_height_to_lid": "34", - "extruder_clearance_height_to_rod": "34", - "extruder_clearance_radius": "47", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "gcode_flavor": "klipper", - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "max_layer_height": [ - "0.48" - ], - "min_layer_height": [ - "0.15" - ], - "printer_settings_id": "Elegoo", - "retract_before_wipe": [ - "85%" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "0" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.7" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "60" - ], - "use_firmwware_retraction": "0", - "single_extruder_multi_material": "1", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "1" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Normal Lift" - ], - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 MAX\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X165 Y0.5 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X165 Y0.5 Z0.4 F300 ;Move to start position\nG1 X265 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X260 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y400 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.8 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.8 nozzle).json deleted file mode 100644 index 0940a45dd5..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max (0.8 nozzle).json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Max (0.8 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Max", - "printer_notes": "", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle)", - "nozzle_diameter": [ - "0.8" - ], - "printer_variant": "0.8", - "printable_area": [ - "0x0", - "420x0", - "420x420", - "0x420" - ], - "printable_height": "480", - "nozzle_hrc": "0", - "nozzle_type": "brass", - "nozzle_volume": "0", - "cooling_tube_length": "5", - "cooling_tube_retraction": "91.5", - "enable_filament_ramming": "1", - "parking_pos_retraction": "92", - "auxiliary_fan": "1", - "extra_loading_move": "-2", - "extruder_clearance_height_to_lid": "34", - "extruder_clearance_height_to_rod": "34", - "extruder_clearance_radius": "47", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "gcode_flavor": "klipper", - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "max_layer_height": [ - "0.64" - ], - "min_layer_height": [ - "0.20" - ], - "machine_max_speed_x": [ - "300", - "300" - ], - "machine_max_speed_y": [ - "300", - "300" - ], - "printer_settings_id": "Elegoo", - "retract_before_wipe": [ - "85%" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "0" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.7" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "60" - ], - "use_firmwware_retraction": "0", - "single_extruder_multi_material": "1", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "1" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Normal Lift" - ], - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 MAX\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X165 Y0.5 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X165 Y0.5 Z0.4 F300 ;Move to start position\nG1 X265 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X260 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y400 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.2 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.2 nozzle.json new file mode 100644 index 0000000000..4cbff15b30 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.2 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Max 0.2 nozzle", + "inherits": "Elegoo Neptune 4 Max 0.4 nozzle", + "from": "system", + "setting_id": "EN4MAX02", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Elegoo Neptune 4 Max", + "printer_variant": "0.2", + "default_filament_profile": [ + "Elegoo PLA @0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @Elegoo N4Max 0.2 nozzle", + "retraction_minimum_travel": [ + "0.4" + ], + "wipe_distance": [ + "0.8" + ], + "retraction_length": [ + "0.5" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "renamed_from": "Elegoo Neptune 4 Max (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.4 nozzle.json new file mode 100644 index 0000000000..1c90f02a93 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.4 nozzle.json @@ -0,0 +1,85 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Max 0.4 nozzle", + "from": "system", + "setting_id": "EN4MAX04", + "instantiation": "true", + "inherits": "Elegoo Neptune 4 0.4 nozzle", + "host_type": "elegoolink", + "printer_model": "Elegoo Neptune 4 Max", + "default_print_profile": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", + "nozzle_diameter": [ + "0.4" + ], + "printer_variant": "0.4", + "printable_area": [ + "0x0", + "426x0", + "426x426", + "0x426" + ], + "bed_texture_area": [ + "0x-12.3", + "426x-12.3", + "426x423.6", + "0x423.6" + ], + "printable_height": "480", + "retract_lift_below": [ + "479" + ], + "extruder_offset": [ + "-1.5x2" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "300", + "300" + ], + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "20", + "20" + ], + "cooling_tube_length": "5", + "enable_filament_ramming": "1", + "nozzle_volume": "110", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "renamed_from": "Elegoo Neptune 4 Max (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.6 nozzle.json new file mode 100644 index 0000000000..3c7584cefc --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.6 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Max 0.6 nozzle", + "inherits": "Elegoo Neptune 4 Max 0.4 nozzle", + "from": "system", + "setting_id": "EN4MAX06", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 4 Max", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo N4Max 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "retraction_length": [ + "0.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "renamed_from": "Elegoo Neptune 4 Max (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.8 nozzle.json new file mode 100644 index 0000000000..bd60a815dd --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 0.8 nozzle.json @@ -0,0 +1,36 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Max 0.8 nozzle", + "inherits": "Elegoo Neptune 4 Max 0.4 nozzle", + "from": "system", + "setting_id": "EN4MAX08", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 4 Max", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo N4Max 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.2" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ], + "renamed_from": "Elegoo Neptune 4 Max (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 1.0 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 1.0 nozzle.json new file mode 100644 index 0000000000..d279ef05d0 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max 1.0 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Max 1.0 nozzle", + "inherits": "Elegoo Neptune 4 Max 0.4 nozzle", + "from": "system", + "setting_id": "EN4MAX10", + "instantiation": "true", + "nozzle_diameter": [ + "1.0" + ], + "printer_model": "Elegoo Neptune 4 Max", + "printer_variant": "1.0", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.50mm Standard @Elegoo N4Max 1.0 nozzle", + "retraction_minimum_travel": [ + "2.0" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.5" + ], + "max_layer_height": [ + "0.7" + ], + "min_layer_height": [ + "0.2" + ], + "retract_length_toolchange": [ + "3.5" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max.json index a44e040874..040af62fd9 100644 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max.json +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Max.json @@ -1,8 +1,8 @@ { "type": "machine_model", "name": "Elegoo Neptune 4 Max", - "model_id": "Elegoo-Neptune-4-Max", - "nozzle_diameter": "0.2;0.4;0.6;0.8", + "model_id": "Elegoo-N4Max", + "nozzle_diameter": "0.4;0.2;0.6;0.8;1.0", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune4max_buildplate_model.stl", @@ -11,5 +11,5 @@ "0x0" ], "hotend_model": "", - "default_materials": "Generic PLA @Elegoo;Generic PETG @Elegoo;Generic ABS @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN4 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN4 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN4 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN4 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN4 Series;Elegoo PLA-CF @EN4 Series;Elegoo PLA @EN4 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN4 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN4 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN4 Series;Elegoo TPU 95A @EN4 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN4 Series;Elegoo PLA Galaxy @EN4 Series;Elegoo PLA Marble @EN4 Series;Elegoo PLA Sparkle @EN4 Series;Elegoo PLA Wood @EN4 Series;Elegoo Rapid TPU 95A @EN4 Series;Elegoo PETG-CF @EN4 Series;Elegoo PETG-GF @EN4 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN4 Series" } diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.2 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.2 nozzle).json deleted file mode 100644 index 070491ddf2..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.2 nozzle).json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Plus (0.2 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Plus", - "printer_notes": "", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4 Plus (0.2 nozzle)", - "nozzle_diameter": [ - "0.2" - ], - "printer_variant": "0.2", - "printable_area": [ - "0x0", - "320x0", - "320x320", - "0x320" - ], - "printable_height": "385", - "nozzle_hrc": "0", - "nozzle_type": "brass", - "nozzle_volume": "0", - "cooling_tube_length": "5", - "cooling_tube_retraction": "91.5", - "enable_filament_ramming": "1", - "parking_pos_retraction": "92", - "auxiliary_fan": "1", - "extra_loading_move": "-2", - "extruder_clearance_height_to_lid": "380", - "extruder_clearance_height_to_rod": "10", - "extruder_clearance_radius": "60", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "gcode_flavor": "klipper", - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "7000", - "7000" - ], - "machine_max_acceleration_retracting": [ - "7000", - "7000" - ], - "machine_max_acceleration_travel": [ - "7000", - "7000" - ], - "machine_max_acceleration_x": [ - "7000", - "7000" - ], - "machine_max_acceleration_y": [ - "7000", - "7000" - ], - "machine_max_acceleration_z": [ - "300", - "300" - ], - "machine_max_speed_e": [ - "60", - "25" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "max_layer_height": [ - "0.15" - ], - "min_layer_height": [ - "0.05" - ], - "printer_settings_id": "Elegoo", - "retract_before_wipe": [ - "85%" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "0" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.5" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "45" - ], - "use_firmwware_retraction": "0", - "single_extruder_multi_material": "1", - "manual_filament_change": "1", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "1" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Normal Lift" - ], - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 PLUS\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X115 Y0.5 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X115 Y0.5 Z0.4 F300 ;Move to start position\nG1 X215.0 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X210 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y300 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.4 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.4 nozzle).json deleted file mode 100644 index 4edceb301c..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.4 nozzle).json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Plus (0.4 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Plus", - "printer_notes": "", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4 Plus (0.4 nozzle)", - "nozzle_diameter": [ - "0.4" - ], - "printer_variant": "0.4", - "printable_area": [ - "0x0", - "320x0", - "320x320", - "0x320" - ], - "printable_height": "385", - "nozzle_hrc": "0", - "nozzle_type": "brass", - "nozzle_volume": "0", - "cooling_tube_length": "5", - "cooling_tube_retraction": "91.5", - "enable_filament_ramming": "1", - "parking_pos_retraction": "92", - "auxiliary_fan": "1", - "extra_loading_move": "-2", - "extruder_clearance_height_to_lid": "380", - "extruder_clearance_height_to_rod": "10", - "extruder_clearance_radius": "60", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "gcode_flavor": "klipper", - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "7000", - "7000" - ], - "machine_max_acceleration_retracting": [ - "7000", - "7000" - ], - "machine_max_acceleration_travel": [ - "7000", - "7000" - ], - "machine_max_acceleration_x": [ - "7000", - "7000" - ], - "machine_max_acceleration_y": [ - "7000", - "7000" - ], - "machine_max_acceleration_z": [ - "300", - "300" - ], - "machine_max_speed_e": [ - "60", - "25" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "20", - "20" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retract_before_wipe": [ - "85%" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "0" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.5" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "45" - ], - "use_firmwware_retraction": "0", - "single_extruder_multi_material": "1", - "manual_filament_change": "1", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "1" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Normal Lift" - ], - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 PLUS\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X115 Y0.5 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X115 Y0.5 Z0.4 F300 ;Move to start position\nG1 X215.0 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X210 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y300 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.6 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.6 nozzle).json deleted file mode 100644 index 57361b4ce0..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.6 nozzle).json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Plus (0.6 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Plus", - "printer_notes": "", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4 Plus (0.6 nozzle)", - "nozzle_diameter": [ - "0.6" - ], - "printer_variant": "0.6", - "printable_area": [ - "0x0", - "320x0", - "320x320", - "0x320" - ], - "printable_height": "385", - "nozzle_hrc": "0", - "nozzle_type": "brass", - "nozzle_volume": "0", - "cooling_tube_length": "5", - "cooling_tube_retraction": "91.5", - "enable_filament_ramming": "1", - "parking_pos_retraction": "92", - "auxiliary_fan": "1", - "extra_loading_move": "-2", - "extruder_clearance_height_to_lid": "380", - "extruder_clearance_height_to_rod": "10", - "extruder_clearance_radius": "60", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "gcode_flavor": "klipper", - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "7000", - "7000" - ], - "machine_max_acceleration_retracting": [ - "7000", - "7000" - ], - "machine_max_acceleration_travel": [ - "7000", - "7000" - ], - "machine_max_acceleration_x": [ - "7000", - "7000" - ], - "machine_max_acceleration_y": [ - "7000", - "7000" - ], - "machine_max_acceleration_z": [ - "300", - "300" - ], - "machine_max_speed_e": [ - "60", - "25" - ], - "machine_max_speed_x": [ - "300", - "200" - ], - "machine_max_speed_y": [ - "300", - "200" - ], - "machine_max_speed_z": [ - "25", - "12" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "max_layer_height": [ - "0.48" - ], - "min_layer_height": [ - "0.15" - ], - "printer_settings_id": "Elegoo", - "retract_before_wipe": [ - "85%" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "0" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.5" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "45" - ], - "use_firmwware_retraction": "0", - "single_extruder_multi_material": "1", - "manual_filament_change": "1", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "1" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Normal Lift" - ], - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 PLUS\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X115 Y0.5 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X115 Y0.5 Z0.4 F300 ;Move to start position\nG1 X215.0 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X210 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y300 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.8 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.8 nozzle).json deleted file mode 100644 index 5367fcfa9e..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus (0.8 nozzle).json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Plus (0.8 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Plus", - "printer_notes": "", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4 Plus (0.8 nozzle)", - "nozzle_diameter": [ - "0.8" - ], - "printer_variant": "0.8", - "printable_area": [ - "0x0", - "320x0", - "320x320", - "0x320" - ], - "printable_height": "385", - "nozzle_hrc": "0", - "nozzle_type": "brass", - "nozzle_volume": "0", - "cooling_tube_length": "5", - "cooling_tube_retraction": "91.5", - "enable_filament_ramming": "1", - "parking_pos_retraction": "92", - "auxiliary_fan": "1", - "extra_loading_move": "-2", - "extruder_clearance_height_to_lid": "380", - "extruder_clearance_height_to_rod": "10", - "extruder_clearance_radius": "60", - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], - "fan_kickstart": "0", - "fan_speedup_overhangs": "1", - "fan_speedup_time": "0", - "gcode_flavor": "klipper", - "high_current_on_filament_swap": "0", - "host_type": "octoprint", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "7000", - "7000" - ], - "machine_max_acceleration_retracting": [ - "7000", - "7000" - ], - "machine_max_acceleration_travel": [ - "7000", - "7000" - ], - "machine_max_acceleration_x": [ - "7000", - "7000" - ], - "machine_max_acceleration_y": [ - "7000", - "7000" - ], - "machine_max_acceleration_z": [ - "300", - "300" - ], - "machine_max_speed_e": [ - "60", - "25" - ], - "machine_max_speed_x": [ - "300", - "200" - ], - "machine_max_speed_y": [ - "300", - "200" - ], - "machine_max_speed_z": [ - "25", - "12" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "max_layer_height": [ - "0.64" - ], - "min_layer_height": [ - "0.20" - ], - "printer_settings_id": "Elegoo", - "retract_before_wipe": [ - "85%" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "retract_lift_above": [ - "0" - ], - "retract_lift_below": [ - "0" - ], - "retract_lift_enforce": [ - "All Surfaces" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "0.5" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "45" - ], - "use_firmwware_retraction": "0", - "single_extruder_multi_material": "1", - "manual_filament_change": "1", - "use_relative_e_distances": "1", - "wipe": [ - "1" - ], - "wipe_distance": [ - "1" - ], - "z_hop": [ - "0.4" - ], - "z_hop_types": [ - "Normal Lift" - ], - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 PLUS\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X115 Y0.5 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X115 Y0.5 Z0.4 F300 ;Move to start position\nG1 X215.0 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X210 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT_END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y300 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.2 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.2 nozzle.json new file mode 100644 index 0000000000..012bbb778c --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.2 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Plus 0.2 nozzle", + "inherits": "Elegoo Neptune 4 Plus 0.4 nozzle", + "from": "system", + "setting_id": "EN4PLUS02", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Elegoo Neptune 4 Plus", + "printer_variant": "0.2", + "default_filament_profile": [ + "Elegoo PLA @0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @Elegoo N4Plus 0.2 nozzle", + "retraction_minimum_travel": [ + "0.4" + ], + "wipe_distance": [ + "0.8" + ], + "retraction_length": [ + "0.5" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "renamed_from": "Elegoo Neptune 4 Plus (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.4 nozzle.json new file mode 100644 index 0000000000..c5380ef2b2 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.4 nozzle.json @@ -0,0 +1,85 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Plus 0.4 nozzle", + "from": "system", + "setting_id": "EN4PLUS04", + "instantiation": "true", + "inherits": "Elegoo Neptune 4 0.4 nozzle", + "host_type": "elegoolink", + "printer_model": "Elegoo Neptune 4 Plus", + "default_print_profile": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", + "nozzle_diameter": [ + "0.4" + ], + "printer_variant": "0.4", + "printable_area": [ + "0x0", + "325x0", + "325x325", + "0x325" + ], + "bed_texture_area": [ + "0x-12.3", + "325x-12.3", + "325x321.5", + "0x321.5" + ], + "printable_height": "385", + "retract_lift_below": [ + "384" + ], + "extruder_offset": [ + "-2x-0" + ], + "machine_max_acceleration_extruding": [ + "8000", + "8000" + ], + "machine_max_acceleration_retracting": [ + "8000", + "8000" + ], + "machine_max_acceleration_x": [ + "8000", + "8000" + ], + "machine_max_acceleration_y": [ + "8000", + "8000" + ], + "machine_max_acceleration_z": [ + "300", + "300" + ], + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "8000", + "8000" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "20", + "20" + ], + "cooling_tube_length": "5", + "enable_filament_ramming": "1", + "nozzle_volume": "110", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "renamed_from": "Elegoo Neptune 4 Plus (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.6 nozzle.json new file mode 100644 index 0000000000..a2b5a6d14c --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.6 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Plus 0.6 nozzle", + "inherits": "Elegoo Neptune 4 Plus 0.4 nozzle", + "from": "system", + "setting_id": "EN4PLUS06", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 4 Plus", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo N4Plus 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "retraction_length": [ + "0.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "renamed_from": "Elegoo Neptune 4 Plus (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.8 nozzle.json new file mode 100644 index 0000000000..772b78ad21 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 0.8 nozzle.json @@ -0,0 +1,36 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Plus 0.8 nozzle", + "inherits": "Elegoo Neptune 4 Plus 0.4 nozzle", + "from": "system", + "setting_id": "EN4PLUS08", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 4 Plus", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo N4Plus 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.2" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ], + "renamed_from": "Elegoo Neptune 4 Plus (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 1.0 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 1.0 nozzle.json new file mode 100644 index 0000000000..f6e0797203 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus 1.0 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Plus 1.0 nozzle", + "inherits": "Elegoo Neptune 4 Plus 0.4 nozzle", + "from": "system", + "setting_id": "EN4PLUS10", + "instantiation": "true", + "nozzle_diameter": [ + "1.0" + ], + "printer_model": "Elegoo Neptune 4 Plus", + "printer_variant": "1.0", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.50mm Standard @Elegoo N4Plus 1.0 nozzle", + "retraction_minimum_travel": [ + "2.0" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.5" + ], + "max_layer_height": [ + "0.7" + ], + "min_layer_height": [ + "0.2" + ], + "retract_length_toolchange": [ + "3.5" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus.json index 31cf8f02e2..c6cbe7d2df 100644 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus.json +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Plus.json @@ -1,8 +1,8 @@ { "type": "machine_model", "name": "Elegoo Neptune 4 Plus", - "model_id": "Elegoo-Neptune-4-Plus", - "nozzle_diameter": "0.2;0.4;0.6;0.8", + "model_id": "Elegoo-N4Plus", + "nozzle_diameter": "0.4;0.2;0.6;0.8;1.0", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune4plus_buildplate_model.stl", @@ -11,5 +11,5 @@ "0x0" ], "hotend_model": "", - "default_materials": "Generic PLA @Elegoo;Generic PETG @Elegoo;Generic ABS @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN4 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN4 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN4 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN4 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN4 Series;Elegoo PLA-CF @EN4 Series;Elegoo PLA @EN4 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN4 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN4 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN4 Series;Elegoo TPU 95A @EN4 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN4 Series;Elegoo PLA Galaxy @EN4 Series;Elegoo PLA Marble @EN4 Series;Elegoo PLA Sparkle @EN4 Series;Elegoo PLA Wood @EN4 Series;Elegoo Rapid TPU 95A @EN4 Series;Elegoo PETG-CF @EN4 Series;Elegoo PETG-GF @EN4 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN4 Series" } diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.2 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.2 nozzle).json deleted file mode 100644 index 096a8cbd54..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.2 nozzle).json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Pro (0.2 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Pro", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle)", - "gcode_flavor": "klipper", - "nozzle_diameter": [ - "0.2" - ], - "printer_variant": "0.2", - "printable_area": [ - "0x0", - "235x0", - "235x230", - "0x230" - ], - "printable_height": "265", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "max_layer_height": [ - "0.16" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "0.8" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 PRO\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X67.5 Y0 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X67.5 Y0 Z0.4 F300 ;Move to start position\nG1 X167.5 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X162.5 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y220 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.4 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.4 nozzle).json deleted file mode 100644 index d9971006e1..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.4 nozzle).json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Pro (0.4 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Pro", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle)", - "gcode_flavor": "klipper", - "nozzle_diameter": [ - "0.4" - ], - "printer_variant": "0.4", - "printable_area": [ - "0x0", - "235x0", - "235x230", - "0x230" - ], - "printable_height": "265", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "0.8" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 PRO\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X67.5 Y0 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X67.5 Y0 Z0.4 F300 ;Move to start position\nG1 X167.5 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X162.5 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y220 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.6 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.6 nozzle).json deleted file mode 100644 index a818d429e6..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.6 nozzle).json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Pro (0.6 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Pro", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle)", - "gcode_flavor": "klipper", - "nozzle_diameter": [ - "0.6" - ], - "printer_variant": "0.6", - "printable_area": [ - "0x0", - "235x0", - "235x230", - "0x230" - ], - "printable_height": "265", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "max_layer_height": [ - "0.4" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "2.5" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 PRO\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X67.5 Y0 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X67.5 Y0 Z0.4 F300 ;Move to start position\nG1 X167.5 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X162.5 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y220 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.8 nozzle).json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.8 nozzle).json deleted file mode 100644 index f558f7d645..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro (0.8 nozzle).json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "type": "machine", - "name": "Elegoo Neptune 4 Pro (0.8 nozzle)", - "inherits": "fdm_neptune_4_common", - "from": "system", - "setting_id": "GM001", - "instantiation": "true", - "printer_model": "Elegoo Neptune 4 Pro", - "gcode_flavor": "klipper", - "default_print_profile": "0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle)", - "nozzle_diameter": [ - "0.8" - ], - "printer_variant": "0.8", - "printable_area": [ - "0x0", - "235x0", - "235x230", - "0x230" - ], - "printable_height": "265", - "nozzle_type": "hardened_steel", - "auxiliary_fan": "0", - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "20000", - "20000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "20000", - "20000" - ], - "machine_max_acceleration_x": [ - "20000", - "20000" - ], - "machine_max_acceleration_y": [ - "20000", - "20000" - ], - "machine_max_acceleration_z": [ - "500", - "200" - ], - "machine_max_speed_e": [ - "25", - "25" - ], - "machine_max_speed_x": [ - "500", - "200" - ], - "machine_max_speed_y": [ - "500", - "200" - ], - "machine_max_speed_z": [ - "12", - "12" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "12", - "12" - ], - "machine_max_jerk_y": [ - "12", - "12" - ], - "machine_max_jerk_z": [ - "0.2", - "0.4" - ], - "max_layer_height": [ - "0.6" - ], - "min_layer_height": [ - "0.08" - ], - "printer_settings_id": "Elegoo", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "85%" - ], - "retraction_length": [ - "0.8" - ], - "retraction_speed": [ - "60" - ], - "retract_length_toolchange": [ - "2" - ], - "deretraction_speed": [ - "45" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "machine_start_gcode": ";ELEGOO NEPTUNE 4 PRO\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM190 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nG1 Z10 F300\nG1 X67.5 Y0 F6000\nG1 Z0 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X67.5 Y0 Z0.4 F300 ;Move to start position\nG1 X167.5 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X162.5 F3000\nG92 E0 ;Reset Extruder", - "machine_end_gcode": ";PRINT END\nG91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X10 Y220 F6000;Finish print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "scan_first_layer": "0" -} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.2 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.2 nozzle.json new file mode 100644 index 0000000000..ee78238597 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.2 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Pro 0.2 nozzle", + "inherits": "Elegoo Neptune 4 Pro 0.4 nozzle", + "from": "system", + "setting_id": "EN4PRO02", + "instantiation": "true", + "nozzle_diameter": [ + "0.2" + ], + "printer_model": "Elegoo Neptune 4 Pro", + "printer_variant": "0.2", + "default_filament_profile": [ + "Elegoo PLA @0.2 nozzle" + ], + "default_print_profile": "0.10mm Standard @Elegoo N4Pro 0.2 nozzle", + "retraction_minimum_travel": [ + "0.4" + ], + "wipe_distance": [ + "0.8" + ], + "retraction_length": [ + "0.5" + ], + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "renamed_from": "Elegoo Neptune 4 Pro (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.4 nozzle.json new file mode 100644 index 0000000000..ad047c8003 --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.4 nozzle.json @@ -0,0 +1,40 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Pro 0.4 nozzle", + "from": "system", + "setting_id": "EN4PRO04", + "instantiation": "true", + "inherits": "Elegoo Neptune 4 0.4 nozzle", + "host_type": "elegoolink", + "printer_model": "Elegoo Neptune 4 Pro", + "default_print_profile": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", + "gcode_flavor": "klipper", + "nozzle_diameter": [ + "0.4" + ], + "printer_variant": "0.4", + "printable_area": [ + "0x0", + "230x0", + "230x230", + "0x230" + ], + "bed_texture_area": [ + "0x-12.5", + "230x-12.5", + "230x0", + "230x227.5" + ], + "printable_height": "265", + "retract_lift_below": [ + "264" + ], + "extruder_offset": [ + "-2.5x-3.5" + ], + "before_layer_change_gcode": ";[layer_z]\nG92 E0\n{if (first_layer_print_min[0]) > 57.5 && (first_layer_print_min[1]) > 57.5 &&(first_layer_print_max[0]) < 177.5 && (first_layer_print_max[1]) < 177.5 && layer_num < 4 && bed_temperature_initial_layer_single < 71}\nM141 S0\n{endif}", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "renamed_from": "Elegoo Neptune 4 Pro (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.6 nozzle.json new file mode 100644 index 0000000000..e84b383dac --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.6 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Pro 0.6 nozzle", + "inherits": "Elegoo Neptune 4 Pro 0.4 nozzle", + "from": "system", + "setting_id": "EN4PRO06", + "instantiation": "true", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "Elegoo Neptune 4 Pro", + "printer_variant": "0.6", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.30mm Standard @Elegoo N4Pro 0.6 nozzle", + "retraction_minimum_travel": [ + "1.2" + ], + "wipe_distance": [ + "1.8" + ], + "retraction_length": [ + "0.8" + ], + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.12" + ], + "renamed_from": "Elegoo Neptune 4 Pro (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.8 nozzle.json new file mode 100644 index 0000000000..9ee76903bb --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 0.8 nozzle.json @@ -0,0 +1,36 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Pro 0.8 nozzle", + "inherits": "Elegoo Neptune 4 Pro 0.4 nozzle", + "from": "system", + "setting_id": "EN4PRO08", + "instantiation": "true", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "Elegoo Neptune 4 Pro", + "printer_variant": "0.8", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.40mm Standard @Elegoo N4Pro 0.8 nozzle", + "retraction_minimum_travel": [ + "1.6" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.2" + ], + "max_layer_height": [ + "0.56" + ], + "min_layer_height": [ + "0.16" + ], + "retract_length_toolchange": [ + "3" + ], + "renamed_from": "Elegoo Neptune 4 Pro (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 1.0 nozzle.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 1.0 nozzle.json new file mode 100644 index 0000000000..24dc8e0dad --- /dev/null +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro 1.0 nozzle.json @@ -0,0 +1,35 @@ +{ + "type": "machine", + "name": "Elegoo Neptune 4 Pro 1.0 nozzle", + "inherits": "Elegoo Neptune 4 Pro 0.4 nozzle", + "from": "system", + "setting_id": "EN4PRO10", + "instantiation": "true", + "nozzle_diameter": [ + "1.0" + ], + "printer_model": "Elegoo Neptune 4 Pro", + "printer_variant": "1.0", + "default_filament_profile": [ + "Elegoo PLA @EN4 Series" + ], + "default_print_profile": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", + "retraction_minimum_travel": [ + "2.0" + ], + "wipe_distance": [ + "2.0" + ], + "retraction_length": [ + "1.5" + ], + "max_layer_height": [ + "0.7" + ], + "min_layer_height": [ + "0.2" + ], + "retract_length_toolchange": [ + "3.5" + ] +} diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro.json index 8e432eecb7..30fd3fba52 100644 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro.json +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4 Pro.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune 4 Pro", - "model_id": "Elegoo-Neptune-4-Pro", - "nozzle_diameter": "0.2;0.4;0.6;0.8", + "model_id": "Elegoo-N4Pro", + "nozzle_diameter": "0.4;0.2;0.6;0.8;1.0", "machine_tech": "FFF", "family": "Elegoo", "bed_model": "elegoo_neptune4pro_buildplate_model.stl", "bed_texture": "elegoo_neptune4pro_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic PLA @Elegoo;Generic PETG @Elegoo;Generic ABS @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN4 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN4 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN4 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN4 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN4 Series;Elegoo PLA-CF @EN4 Series;Elegoo PLA @EN4 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN4 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN4 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN4 Series;Elegoo TPU 95A @EN4 Series;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @EN4 Series;Elegoo PLA Galaxy @EN4 Series;Elegoo PLA Marble @EN4 Series;Elegoo PLA Sparkle @EN4 Series;Elegoo PLA Wood @EN4 Series;Elegoo Rapid TPU 95A @EN4 Series;Elegoo PETG-CF @EN4 Series;Elegoo PETG-GF @EN4 Series;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @EN4 Series" } diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4.json b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4.json index 2f08221ed7..cfe1b9fc2f 100644 --- a/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4.json +++ b/resources/profiles/Elegoo/machine/EN4SERIES/Elegoo Neptune 4.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo Neptune 4", - "model_id": "Elegoo-Neptune-4", - "nozzle_diameter": "0.2;0.4;0.6;0.8", + "model_id": "Elegoo-N4", + "nozzle_diameter": "0.4;0.2;0.6;0.8;1.0", "machine_tech": "FFF", "family": "Elegoo", - "bed_model": "elegoo_neptune4_buildplate_model.stl", - "bed_texture": "elegoo_neptune4_buildplate_texture.svg", + "bed_model": "elegoo_neptune_pro_buildplate_model.stl", + "bed_texture": "elegoo_neptune_buildplate_texture.svg", "hotend_model": "", - "default_materials": "Generic PLA @Elegoo;Generic PETG @Elegoo;Generic ABS @Elegoo" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EN4 Series;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EN4 Series;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EN4 Series;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EN4 Series;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EN4 Series;Elegoo PLA-CF @EN4 Series;Elegoo PLA @EN4 Series;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EN4 Series;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EN4 Series;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EN4 Series;Elegoo TPU 95A @EN4 Series" } diff --git a/resources/profiles/Elegoo/machine/EN4SERIES/fdm_neptune_4_common.json b/resources/profiles/Elegoo/machine/EN4SERIES/fdm_neptune_4_common.json deleted file mode 100644 index b8e8461d38..0000000000 --- a/resources/profiles/Elegoo/machine/EN4SERIES/fdm_neptune_4_common.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "type": "machine", - "name": "fdm_neptune_4_common", - "inherits": "fdm_elegoo_common", - "from": "system", - "instantiation": "false", - "gcode_flavor": "klipper", - "machine_max_acceleration_extruding": [ - "10000", - "10000" - ], - "machine_max_acceleration_retracting": [ - "10000", - "10000" - ], - "machine_max_acceleration_x": [ - "10000", - "10000" - ], - "machine_max_acceleration_y": [ - "10000", - "10000" - ], - "machine_max_speed_z": [ - "12", - "12" - ], - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "10000", - "10000" - ], - "machine_max_jerk_x": [ - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9" - ], - "machine_max_acceleration_z": [ - "500", - "500" - ], - "machine_max_speed_e": [ - "60", - "60" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_jerk_e": [ - "5", - "5" - ], - "machine_max_jerk_z": [ - "0.4", - "0.4" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.08" - ], - "printable_height": "280", - "extruder_clearance_radius": "47", - "extruder_clearance_height_to_rod": "34", - "extruder_clearance_height_to_lid": "34", - "printer_settings_id": "", - "printer_technology": "FFF", - "printer_variant": "0.4", - "retraction_minimum_travel": [ - "2" - ], - "retract_before_wipe": [ - "70%" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "5" - ], - "retract_length_toolchange": [ - "2" - ], - "z_hop": [ - "0.4" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retraction_speed": [ - "60" - ], - "deretraction_speed": [ - "40" - ], - "silent_mode": "0", - "single_extruder_multi_material": "1", - "change_filament_gcode": "", - "machine_pause_gcode": "M25 ;pause print", - "wipe": [ - "1" - ], - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "default_print_profile": "", - "bed_exclude_area": [ - "0x0" - ], - "machine_start_gcode": "", - "machine_end_gcode": "", - "layer_change_gcode": "", - "scan_first_layer": "0", - "nozzle_type": "undefine", - "auxiliary_fan": "0", - "thumbnails": [ - "320x320/PNG", - "32x32/COLPIC", - "160x160/COLPIC" - ], - "thumbnails_format": "PNG" -} diff --git a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json index a5a8c3d788..773a0e39fc 100644 --- a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json @@ -5,9 +5,8 @@ "from": "system", "setting_id": "EOSG04", "instantiation": "true", + "host_type": "elegoolink", "printer_model": "Elegoo OrangeStorm Giga", - "printer_variant": "0.4", - "printer_structure": "i3", "default_print_profile": "0.20mm Standard @Elegoo Giga 0.4 nozzle", "nozzle_diameter": [ "0.4" @@ -18,16 +17,17 @@ "810x805", "0x805" ], - "printable_height": [ - "1010" - ], + "printable_height": "1010", "retract_lift_below": [ "1010" ], + "printer_variant": "0.4", "auxiliary_fan": "0", + "bed_exclude_area": [], "default_filament_profile": [ "Elegoo PLA @Elegoo Giga" ], + "head_wrap_detect_zone": [], "machine_load_filament_time": "25", "machine_max_acceleration_extruding": [ "5000", @@ -49,6 +49,14 @@ "5000", "5000" ], + "machine_max_speed_x": [ + "300", + "200" + ], + "machine_max_speed_y": [ + "300", + "200" + ], "machine_max_jerk_e": [ "3", "3" @@ -72,21 +80,24 @@ "extruder_clearance_height_to_rod": "65", "extruder_clearance_radius": "65", "fan_speedup_time": "0.5", - "thumbnails_format": "COLPIC", "thumbnails": [ "400x400/COLPIC", "114x114/COLPIC", "160x160/PNG" ], + "thumbnails_format": "COLPIC", "machine_unload_filament_time": "29", "nozzle_height": "4.76", "nozzle_volume": "125", + "printer_structure": "i3", "scan_first_layer": "0", "time_lapse_gcode": "", "gcode_flavor": "klipper", + "use_relative_e_distances": "0", "change_filament_gcode": "M600", - "machine_pause_gcode": "PAUSE", - "machine_start_gcode": ";;===== date: 20240520 =====================\n;Machine_use_extruders:1\n;TIME:\nM400 ; wait for buffer to clear\n;[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type={curr_bed_type}\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\n;Giga zoned hot bed control\n;Case 1\nM140 S0\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\nG90\nG28 ;home\nG1 Z10 F300\nG1 X{print_bed_max[0]*0.75-50} Y0.5 F6000\n;\n;Giga zoned hot bed control\n;Case 1\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM190 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM190 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM190 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM190 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM190 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\nG1 Z0.4 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\nG1 X{print_bed_max[0]*0.75+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.75+47} F3000\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", + "machine_pause_gcode": "M600", + "machine_start_gcode": ";===== START GCODE BEGIN =====\n;===== date: 20251231 =====================\n;Machine_use_extruders:{number_of_giga_printheads}\n;TIME:\nM400 ; wait for buffer to clear\n;[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type={curr_bed_type}\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\n;Giga zoned hot bed control\nM140 S0\n\n{if number_of_giga_printheads == 1}\n;Case 1\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n{if number_of_giga_printheads > 1}\n;Heat all 4 bed zones for multi-printhead\nM140 T0 S[bed_temperature_initial_layer_single]\nM140 T1 S[bed_temperature_initial_layer_single]\nM140 T2 S[bed_temperature_initial_layer_single]\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n\nG90\nG28 ;home\nG1 Z10 F300\n\n{if number_of_giga_printheads == 1}\nG1 X{print_bed_max[0]*0.75-50} Y0.5 F6000\n{endif}\n\n{if number_of_giga_printheads == 2}\nG1 X{print_bed_max[0]*0.25-50} Y0.5 F6000\n{endif}\n\n{if number_of_giga_printheads > 2}\nG1 X{print_bed_max[0]*0.125-50} Y0.5 F6000\n{endif}\n\n;\n;Giga zoned hot bed control\n{if number_of_giga_printheads == 1}\n;Case 1\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM190 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM190 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM190 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM190 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM190 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n{if number_of_giga_printheads > 1}\n;Wait for all 4 bed zones to reach temperature\nM190 T0 S[bed_temperature_initial_layer_single]\nM190 T1 S[bed_temperature_initial_layer_single]\nM190 T2 S[bed_temperature_initial_layer_single]\nM190 T3 S[bed_temperature_initial_layer_single]\n{endif}\nG1 Z0.4 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\n\n{if number_of_giga_printheads == 1}\nG1 X{print_bed_max[0]*0.75+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.75+47} F3000\n{endif}\n\n{if number_of_giga_printheads == 2}\nG1 X{print_bed_max[0]*0.25+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.25+47} F3000\n{endif}\n\n{if number_of_giga_printheads > 2}\nG1 X{print_bed_max[0]*0.125+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.125+47} F3000\n{endif}\n\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0\n", "machine_end_gcode": ";PRINT_END\nG90 ;Absolute positionning\nM83 ; extruder relative mode\nG1 X30 Y30 Z{min(max_layer_z+200, printable_height)} E-5 F{travel_speed*60} ; Move print head up\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", - "layer_change_gcode": ";LAYER:{layer_num+1}\n{if layer_num > 0 and layer_num < 3}\n;Giga zoned hot bed control\n;Case 1\nM140 S0\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n\n{endif}" + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n", + "layer_change_gcode": ";===== LAYER CHANGE GCODE BEGIN =====\n;===== date: 20251230 =====================\n;LAYER:{layer_num+1}\n{if layer_num > 0 and layer_num < 3}\n;Giga zoned hot bed control\nM140 S0\n\n{if number_of_giga_printheads == 1}\n;Case 1\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n{if number_of_giga_printheads > 1}\n;Heat all 4 bed zones for multi-printhead\nM140 T0 S[bed_temperature_initial_layer_single]\nM140 T1 S[bed_temperature_initial_layer_single]\nM140 T2 S[bed_temperature_initial_layer_single]\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n\n{endif}" } diff --git a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.6 nozzle.json b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.6 nozzle.json index b73513d887..9947dc3027 100644 --- a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.6 nozzle.json @@ -28,5 +28,6 @@ ], "min_layer_height": [ "0.12" - ] + ], + "upward_compatible_machine": [] } diff --git a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.8 nozzle.json b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.8 nozzle.json index 7d4823cafa..606387e0cb 100644 --- a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.8 nozzle.json @@ -28,5 +28,6 @@ ], "min_layer_height": [ "0.16" - ] + ], + "upward_compatible_machine": [] } diff --git a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 1.0 nozzle.json b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 1.0 nozzle.json index 3216598ab1..078533436c 100644 --- a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 1.0 nozzle.json +++ b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 1.0 nozzle.json @@ -28,5 +28,6 @@ ], "min_layer_height": [ "0.2" - ] + ], + "upward_compatible_machine": [] } diff --git a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga.json b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga.json index f43ce6ffd3..98d916c8c3 100644 --- a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga.json +++ b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga.json @@ -1,12 +1,12 @@ { "type": "machine_model", "name": "Elegoo OrangeStorm Giga", - "model_id": "Elegoo-OrangeStorm-Giga", - "nozzle_diameter": "0.4;0.6;0.8;1.0", + "model_id": "Elegoo-OS-Giga", + "nozzle_diameter": "0.6;0.4;0.8;1.0", "bed_model": "elegoo_orangestorm_giga_buildplate_model.stl", "bed_texture": "elegoo_orangestorm_giga_buildplate_texture.svg", "machine_tech": "FFF", "family": "Elegoo", "hotend_model": "", - "default_materials": "Elegoo PLA @Elegoo Giga;Elegoo PETG PRO @Elegoo Giga;Elegoo PLA Silk" + "default_materials": "Elegoo PLA @Elegoo Giga;Elegoo PETG PRO @Elegoo Giga;Elegoo ASA @Elegoo Giga;Elegoo PLA Matte @Elegoo Giga;Elegoo Rapid PETG @Elegoo Giga;Elegoo Rapid PLA+ @Elegoo Giga;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @Elegoo Giga;Elegoo PLA Galaxy @Elegoo Giga;Elegoo PLA Marble @Elegoo Giga;Elegoo PLA Sparkle @Elegoo Giga;Elegoo PLA Wood @Elegoo Giga;Elegoo Rapid TPU 95A @Elegoo Giga;Elegoo PETG-CF @Elegoo Giga;Elegoo PETG-GF @Elegoo Giga;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @Elegoo Giga" } diff --git a/resources/profiles/Elegoo/machine/fdm_elegoo_3dp_001_common.json b/resources/profiles/Elegoo/machine/fdm_elegoo_3dp_001_common.json index f1398ce101..70f792f6f9 100644 --- a/resources/profiles/Elegoo/machine/fdm_elegoo_3dp_001_common.json +++ b/resources/profiles/Elegoo/machine/fdm_elegoo_3dp_001_common.json @@ -21,6 +21,7 @@ "default_filament_profile": [ "Generic PLA @Elegoo" ], + "default_print_profile": "0.20mm Standard @Elegoo CC 0.4 nozzle", "extruder_colour": [ "#018001" ], diff --git a/resources/profiles/Elegoo/machine/fdm_elegoo_common.json b/resources/profiles/Elegoo/machine/fdm_elegoo_common.json index 9eafa2efa8..fffd18ea44 100644 --- a/resources/profiles/Elegoo/machine/fdm_elegoo_common.json +++ b/resources/profiles/Elegoo/machine/fdm_elegoo_common.json @@ -1,69 +1,91 @@ { "type": "machine", "name": "fdm_elegoo_common", - "inherits": "fdm_machine_common", "from": "system", "instantiation": "false", + "inherits": "fdm_machine_common", "gcode_flavor": "marlin", + "printer_technology": "FFF", + "nozzle_diameter": [ + "0.4" + ], + "printer_variant": "0.4", + "printable_area": [ + "0x0", + "235x0", + "235x235", + "0x235" + ], + "auxiliary_fan": "0", + "bed_exclude_area": [ + "0x0" + ], + "default_filament_profile": [ + "Generic PLA @Elegoo" + ], + "default_print_profile": "", + "extruder_colour": [ + "#018001" + ], "machine_max_acceleration_e": [ - "5000", - "5000" + "1000", + "1000" ], "machine_max_acceleration_extruding": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_retracting": [ "1000", "1000" ], "machine_max_acceleration_travel": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_x": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_y": [ - "500", - "500" + "1000", + "1000" ], "machine_max_acceleration_z": [ - "200", - "200" + "100", + "100" ], "machine_max_speed_e": [ - "60", - "60" + "70", + "70" ], "machine_max_speed_x": [ - "500", - "500" + "300", + "300" ], "machine_max_speed_y": [ - "500", - "500" + "300", + "300" ], "machine_max_speed_z": [ - "10", - "10" + "20", + "20" ], "machine_max_jerk_e": [ - "5", - "5" + "2.5", + "2.5" ], "machine_max_jerk_x": [ - "8", - "8" + "9", + "9" ], "machine_max_jerk_y": [ - "8", - "8" + "9", + "9" ], "machine_max_jerk_z": [ - "0.4", - "0.4" + "3", + "3" ], "machine_min_extruding_rate": [ "0", @@ -73,28 +95,27 @@ "0", "0" ], - "max_layer_height": [ - "0.32" + "printable_height": "250", + "retract_lift_below": [ + "249" ], - "min_layer_height": [ - "0.08" - ], - "printable_height": "280", - "extruder_clearance_radius": "47", + "extruder_clearance_max_radius": "68", "extruder_clearance_height_to_rod": "34", "extruder_clearance_height_to_lid": "34", - "printer_settings_id": "", - "printer_technology": "FFF", - "printer_variant": "0.4", + "nozzle_volume": "90", + "best_object_pos": "0.5x0.5", "retraction_minimum_travel": [ - "2" + "0.8" ], "retract_before_wipe": [ - "70%" + "0%" ], "retract_when_changing_layer": [ "1" ], + "wipe_distance": [ + "1.2" + ], "retraction_length": [ "5" ], @@ -104,36 +125,30 @@ "z_hop": [ "0.4" ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], "retraction_speed": [ "60" ], "deretraction_speed": [ - "40" + "60" ], + "z_hop_types": [ + "Auto Lift" + ], + "thumbnails": [ + "320x320", + "160x160" + ], + "thumbnails_format": "PNG", + "nozzle_type": "brass", + "machine_end_gcode": "G90 ;Absolute positionning\nM83 ; extruder relative mode\nG1 X10 Y{print_bed_max[1]*0.8} Z{min(max_layer_z+100, printable_height)} E-8 F{travel_speed*60} ; Move print head up\nG1 Z{min(max_layer_z+100, printable_height-2)} F600\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM106 S0 ; turn off fan\nM84 ;Disable all steppers", "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "", - "machine_pause_gcode": "M25 ;pause print", + "machine_pause_gcode": "M600", "wipe": [ "1" ], - "default_filament_profile": [ - "Generic PLA @Elegoo" - ], - "default_print_profile": "", - "bed_exclude_area": [ - "0x0" - ], - "machine_start_gcode": "", - "machine_end_gcode": "", - "layer_change_gcode": "", - "scan_first_layer": "0", - "nozzle_type": "undefine", - "auxiliary_fan": "0" + "machine_start_gcode": "\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0\n", + "layer_change_gcode": ";LAYER:{layer_num+1}\n", + "scan_first_layer": "0" } diff --git a/resources/profiles/Elegoo/machine/fdm_machine_common.json b/resources/profiles/Elegoo/machine/fdm_machine_common.json index 57dfda5322..249e760920 100644 --- a/resources/profiles/Elegoo/machine/fdm_machine_common.json +++ b/resources/profiles/Elegoo/machine/fdm_machine_common.json @@ -3,7 +3,13 @@ "name": "fdm_machine_common", "from": "system", "instantiation": "false", + "nozzle_diameter": [ + "0.4" + ], + "printer_variant": "0.4", + "support_chamber_temp_control": "0", "printer_technology": "FFF", + "printer_notes": "", "deretraction_speed": [ "40" ], @@ -19,19 +25,19 @@ "5000" ], "machine_max_acceleration_extruding": [ - "500" + "10000" ], "machine_max_acceleration_retracting": [ "1000" ], "machine_max_acceleration_x": [ - "500" + "10000" ], "machine_max_acceleration_y": [ - "500" + "10000" ], "machine_max_acceleration_z": [ - "500" + "100" ], "machine_max_speed_e": [ "60" @@ -55,7 +61,7 @@ "8" ], "machine_max_jerk_z": [ - "0.4" + "3" ], "machine_min_extruding_rate": [ "0" @@ -64,31 +70,28 @@ "0" ], "max_layer_height": [ - "0.3" + "0.28" ], "min_layer_height": [ - "0.07" + "0.08" ], "printable_height": "250", "extruder_clearance_radius": "65", "extruder_clearance_height_to_rod": "36", "extruder_clearance_height_to_lid": "140", - "nozzle_diameter": [ - "0.4" - ], - "printer_settings_id": "", - "printer_variant": "0.4", + "printer_settings_id": "Elegoo", + "disable_m73": "0", "retraction_minimum_travel": [ - "1" + "2" ], "retract_before_wipe": [ - "0%" + "70%" ], "retract_when_changing_layer": [ "1" ], "retraction_length": [ - "1" + "5" ], "retract_length_toolchange": [ "1" @@ -103,16 +106,25 @@ "0" ], "retraction_speed": [ - "35" + "60" ], + "cooling_tube_retraction": "90", + "parking_pos_retraction": "90", "single_extruder_multi_material": "1", - "change_filament_gcode": "", + "support_air_filtration": "0", "wipe": [ "1" ], - "z_lift_type": "NormalLift", - "default_print_profile": "", + "z_hop_types": [ + "Auto Lift" + ], + "default_filament_profile": [], "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "layer_change_gcode": ";LAYER:{layer_num+1}\n", "machine_start_gcode": "", - "machine_end_gcode": "" + "machine_end_gcode": "", + "change_filament_gcode": "", + "purge_in_prime_tower": "0", + "manual_filament_change": "1", + "enable_filament_ramming": "0" } diff --git a/resources/profiles/Elegoo/process/EC/0.08mm Optimal @Elegoo C 0.2 nozzle.json b/resources/profiles/Elegoo/process/EC/0.08mm Optimal @Elegoo C 0.2 nozzle.json index cc14785dd6..645aee11ec 100644 --- a/resources/profiles/Elegoo/process/EC/0.08mm Optimal @Elegoo C 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.08mm Optimal @Elegoo C 0.2 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.08mm Optimal @Elegoo C 0.2 nozzle", - "inherits": "0.10mm Standard @Elegoo C 0.2 nozzle", - "instantiation": "true", "elefant_foot_compensation": "0.05", - "layer_height": "0.08" + "inherits": "0.10mm Standard @Elegoo C 0.2 nozzle", + "layer_height": "0.08", + "name": "0.08mm Optimal @Elegoo C 0.2 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.10mm Standard @Elegoo C 0.2 nozzle.json b/resources/profiles/Elegoo/process/EC/0.10mm Standard @Elegoo C 0.2 nozzle.json index faaf803841..190f105fa6 100644 --- a/resources/profiles/Elegoo/process/EC/0.10mm Standard @Elegoo C 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.10mm Standard @Elegoo C 0.2 nozzle.json @@ -1,13 +1,15 @@ { "type": "process", "name": "0.10mm Standard @Elegoo C 0.2 nozzle", - "inherits": "fdm_process_ecc_02010", + "inherits": "fdm_process_elegoo_02010", "from": "system", "setting_id": "PEC02010", "instantiation": "true", "sparse_infill_pattern": "zig-zag", - "filename_format": "EC_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "EC_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "min_width_top_surface": "50%", "elefant_foot_compensation": "0.15", + "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri 0.2 nozzle" ] diff --git a/resources/profiles/Elegoo/process/EC/0.12mm Draft @Elegoo C 0.2 nozzle.json b/resources/profiles/Elegoo/process/EC/0.12mm Draft @Elegoo C 0.2 nozzle.json index e3c1d0da09..9eeaa6a6dc 100644 --- a/resources/profiles/Elegoo/process/EC/0.12mm Draft @Elegoo C 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.12mm Draft @Elegoo C 0.2 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.12mm Draft @Elegoo C 0.2 nozzle", "inherits": "0.10mm Standard @Elegoo C 0.2 nozzle", - "instantiation": "true", - "layer_height": "0.12" + "layer_height": "0.12", + "name": "0.12mm Draft @Elegoo C 0.2 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.12mm Fine @Elegoo C 0.4 nozzle.json b/resources/profiles/Elegoo/process/EC/0.12mm Fine @Elegoo C 0.4 nozzle.json index b624eac380..cd3f12eb2d 100644 --- a/resources/profiles/Elegoo/process/EC/0.12mm Fine @Elegoo C 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.12mm Fine @Elegoo C 0.4 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.12mm Fine @Elegoo C 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo C 0.4 nozzle", - "instantiation": "true", "layer_height": "0.12", - "wall_loops": "3" + "name": "0.12mm Fine @Elegoo C 0.4 nozzle", + "wall_loops": "3", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.14mm Extra Draft @Elegoo C 0.2 nozzle.json b/resources/profiles/Elegoo/process/EC/0.14mm Extra Draft @Elegoo C 0.2 nozzle.json index 14a82ac693..7c32b7b5cc 100644 --- a/resources/profiles/Elegoo/process/EC/0.14mm Extra Draft @Elegoo C 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.14mm Extra Draft @Elegoo C 0.2 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.14mm Extra Draft @Elegoo C 0.2 nozzle", "inherits": "0.10mm Standard @Elegoo C 0.2 nozzle", - "instantiation": "true", - "layer_height": "0.14" + "layer_height": "0.14", + "name": "0.14mm Extra Draft @Elegoo C 0.2 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.16mm Extra Fine @Elegoo C 0.8 nozzle.json b/resources/profiles/Elegoo/process/EC/0.16mm Extra Fine @Elegoo C 0.8 nozzle.json index f77fad63e0..25edde6abe 100644 --- a/resources/profiles/Elegoo/process/EC/0.16mm Extra Fine @Elegoo C 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.16mm Extra Fine @Elegoo C 0.8 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.16mm Extra Fine @Elegoo C 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo C 0.8 nozzle", - "instantiation": "true", "initial_layer_print_height": "0.3", - "layer_height": "0.16" + "layer_height": "0.16", + "name": "0.16mm Extra Fine @Elegoo C 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.16mm Optimal @Elegoo C 0.4 nozzle.json b/resources/profiles/Elegoo/process/EC/0.16mm Optimal @Elegoo C 0.4 nozzle.json index 7c6535522c..9f7f769c68 100644 --- a/resources/profiles/Elegoo/process/EC/0.16mm Optimal @Elegoo C 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.16mm Optimal @Elegoo C 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.16mm Optimal @Elegoo C 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo C 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.16" + "layer_height": "0.16", + "name": "0.16mm Optimal @Elegoo C 0.4 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.18mm Fine @Elegoo C 0.6 nozzle.json b/resources/profiles/Elegoo/process/EC/0.18mm Fine @Elegoo C 0.6 nozzle.json index e0444d5763..b1afd755ce 100644 --- a/resources/profiles/Elegoo/process/EC/0.18mm Fine @Elegoo C 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.18mm Fine @Elegoo C 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.18mm Fine @Elegoo C 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo C 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.18" + "layer_height": "0.18", + "name": "0.18mm Fine @Elegoo C 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.20mm Standard @Elegoo C 0.4 nozzle.json b/resources/profiles/Elegoo/process/EC/0.20mm Standard @Elegoo C 0.4 nozzle.json index 9946508483..a96282125a 100644 --- a/resources/profiles/Elegoo/process/EC/0.20mm Standard @Elegoo C 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.20mm Standard @Elegoo C 0.4 nozzle.json @@ -1,14 +1,16 @@ { "type": "process", "name": "0.20mm Standard @Elegoo C 0.4 nozzle", - "inherits": "fdm_process_ecc_04020", + "inherits": "fdm_process_elegoo_04020", "from": "system", "setting_id": "PEC04020", "instantiation": "true", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", "sparse_infill_pattern": "zig-zag", - "filename_format": "EC_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "EC_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "min_width_top_surface": "50%", + "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri 0.4 nozzle" ] diff --git a/resources/profiles/Elegoo/process/EC/0.20mm Strength @Elegoo C 0.4 nozzle.json b/resources/profiles/Elegoo/process/EC/0.20mm Strength @Elegoo C 0.4 nozzle.json index aff71badc7..abd085ba76 100644 --- a/resources/profiles/Elegoo/process/EC/0.20mm Strength @Elegoo C 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.20mm Strength @Elegoo C 0.4 nozzle.json @@ -1,13 +1,13 @@ { - "type": "process", - "name": "0.20mm Strength @Elegoo C 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo C 0.4 nozzle", - "instantiation": "true", + "name": "0.20mm Strength @Elegoo C 0.4 nozzle", "wall_sequence": "inner-outer-inner wall", "reduce_crossing_wall": "1", "bottom_shell_layers": "5", "outer_wall_speed": "120", + "print_flow_ratio": "0.95", "sparse_infill_density": "20%", "top_shell_layers": "6", - "wall_loops": "6" + "wall_loops": "6", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.24mm Draft @Elegoo C 0.4 nozzle.json b/resources/profiles/Elegoo/process/EC/0.24mm Draft @Elegoo C 0.4 nozzle.json index 59a3befe7a..5871ab00d2 100644 --- a/resources/profiles/Elegoo/process/EC/0.24mm Draft @Elegoo C 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.24mm Draft @Elegoo C 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Draft @Elegoo C 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo C 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Draft @Elegoo C 0.4 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.24mm Fine @Elegoo C 0.8 nozzle.json b/resources/profiles/Elegoo/process/EC/0.24mm Fine @Elegoo C 0.8 nozzle.json index 339c0cc077..15db46e115 100644 --- a/resources/profiles/Elegoo/process/EC/0.24mm Fine @Elegoo C 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.24mm Fine @Elegoo C 0.8 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.24mm Fine @Elegoo C 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo C 0.8 nozzle", - "instantiation": "true", "initial_layer_print_height": "0.3", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Fine @Elegoo C 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.24mm Optimal @Elegoo C 0.6 nozzle.json b/resources/profiles/Elegoo/process/EC/0.24mm Optimal @Elegoo C 0.6 nozzle.json index dff12b04cc..e7301fe397 100644 --- a/resources/profiles/Elegoo/process/EC/0.24mm Optimal @Elegoo C 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.24mm Optimal @Elegoo C 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Optimal @Elegoo C 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo C 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Optimal @Elegoo C 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.28mm Extra Draft @Elegoo C 0.4 nozzle.json b/resources/profiles/Elegoo/process/EC/0.28mm Extra Draft @Elegoo C 0.4 nozzle.json index f03f6de89e..5bbd3dba82 100644 --- a/resources/profiles/Elegoo/process/EC/0.28mm Extra Draft @Elegoo C 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.28mm Extra Draft @Elegoo C 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.28mm Extra Draft @Elegoo C 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo C 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.28" + "layer_height": "0.28", + "name": "0.28mm Extra Draft @Elegoo C 0.4 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.30mm Standard @Elegoo C 0.6 nozzle.json b/resources/profiles/Elegoo/process/EC/0.30mm Standard @Elegoo C 0.6 nozzle.json index 808a49c201..9b593203fa 100644 --- a/resources/profiles/Elegoo/process/EC/0.30mm Standard @Elegoo C 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.30mm Standard @Elegoo C 0.6 nozzle.json @@ -1,12 +1,14 @@ { "type": "process", "name": "0.30mm Standard @Elegoo C 0.6 nozzle", - "inherits": "fdm_process_ecc_06030", + "inherits": "fdm_process_elegoo_06030", "from": "system", "setting_id": "PEC06030", "instantiation": "true", "sparse_infill_pattern": "zig-zag", - "filename_format": "EC_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "EC_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "min_width_top_surface": "50%", + "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri 0.6 nozzle" ] diff --git a/resources/profiles/Elegoo/process/EC/0.30mm Strength @Elegoo C 0.6 nozzle.json b/resources/profiles/Elegoo/process/EC/0.30mm Strength @Elegoo C 0.6 nozzle.json index 5830c7c202..29330e3863 100644 --- a/resources/profiles/Elegoo/process/EC/0.30mm Strength @Elegoo C 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.30mm Strength @Elegoo C 0.6 nozzle.json @@ -1,13 +1,12 @@ { - "type": "process", - "name": "0.30mm Strength @Elegoo C 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo C 0.6 nozzle", - "instantiation": "true", "inner_wall_speed": "120", + "name": "0.30mm Strength @Elegoo C 0.6 nozzle", "wall_sequence": "inner-outer-inner wall", "reduce_crossing_wall": "1", "outer_wall_speed": "80", "sparse_infill_density": "15%", "top_surface_speed": "120", - "wall_loops": "4" + "wall_loops": "4", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.32mm Optimal @Elegoo C 0.8 nozzle.json b/resources/profiles/Elegoo/process/EC/0.32mm Optimal @Elegoo C 0.8 nozzle.json index 3195fe2c3b..f886db3500 100644 --- a/resources/profiles/Elegoo/process/EC/0.32mm Optimal @Elegoo C 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.32mm Optimal @Elegoo C 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.32mm Optimal @Elegoo C 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo C 0.8 nozzle", - "instantiation": "true", - "layer_height": "0.32" + "layer_height": "0.32", + "name": "0.32mm Optimal @Elegoo C 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.36mm Draft @Elegoo C 0.6 nozzle.json b/resources/profiles/Elegoo/process/EC/0.36mm Draft @Elegoo C 0.6 nozzle.json index 8a16a2c666..395feb9966 100644 --- a/resources/profiles/Elegoo/process/EC/0.36mm Draft @Elegoo C 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.36mm Draft @Elegoo C 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.36mm Draft @Elegoo C 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo C 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.36" + "layer_height": "0.36", + "name": "0.36mm Draft @Elegoo C 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.40mm Standard @Elegoo C 0.8 nozzle.json b/resources/profiles/Elegoo/process/EC/0.40mm Standard @Elegoo C 0.8 nozzle.json index 12e46cd76a..b8fc2c3663 100644 --- a/resources/profiles/Elegoo/process/EC/0.40mm Standard @Elegoo C 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.40mm Standard @Elegoo C 0.8 nozzle.json @@ -1,12 +1,14 @@ { "type": "process", "name": "0.40mm Standard @Elegoo C 0.8 nozzle", - "inherits": "fdm_process_ecc_08040", + "inherits": "fdm_process_elegoo_08040", "from": "system", "setting_id": "PEC08040", "instantiation": "true", "sparse_infill_pattern": "zig-zag", - "filename_format": "EC_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "EC_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "min_width_top_surface": "50%", + "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri 0.8 nozzle" ] diff --git a/resources/profiles/Elegoo/process/EC/0.42mm Extra Draft @Elegoo C 0.6 nozzle.json b/resources/profiles/Elegoo/process/EC/0.42mm Extra Draft @Elegoo C 0.6 nozzle.json index 52a518cca8..7e1bd9e925 100644 --- a/resources/profiles/Elegoo/process/EC/0.42mm Extra Draft @Elegoo C 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.42mm Extra Draft @Elegoo C 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.42mm Extra Draft @Elegoo C 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo C 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.42" + "layer_height": "0.42", + "name": "0.42mm Extra Draft @Elegoo C 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EC/0.48mm Draft @Elegoo C 0.8 nozzle.json b/resources/profiles/Elegoo/process/EC/0.48mm Draft @Elegoo C 0.8 nozzle.json index 9ff0dc5ca1..3bb63c20a1 100644 --- a/resources/profiles/Elegoo/process/EC/0.48mm Draft @Elegoo C 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EC/0.48mm Draft @Elegoo C 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.48mm Draft @Elegoo C 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo C 0.8 nozzle", - "instantiation": "true", - "layer_height": "0.48" + "layer_height": "0.48", + "name": "0.48mm Draft @Elegoo C 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.08mm Optimal @Elegoo CC 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.08mm Optimal @Elegoo CC 0.2 nozzle.json index 1714c2f66d..929f237de9 100644 --- a/resources/profiles/Elegoo/process/ECC/0.08mm Optimal @Elegoo CC 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.08mm Optimal @Elegoo CC 0.2 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.08mm Optimal @Elegoo CC 0.2 nozzle", - "inherits": "0.10mm Standard @Elegoo CC 0.2 nozzle", - "instantiation": "true", "elefant_foot_compensation": "0.05", - "layer_height": "0.08" + "inherits": "0.10mm Standard @Elegoo CC 0.2 nozzle", + "layer_height": "0.08", + "name": "0.08mm Optimal @Elegoo CC 0.2 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.10mm Standard @Elegoo CC 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.10mm Standard @Elegoo CC 0.2 nozzle.json index ebd2317716..11ec27a706 100644 --- a/resources/profiles/Elegoo/process/ECC/0.10mm Standard @Elegoo CC 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.10mm Standard @Elegoo CC 0.2 nozzle.json @@ -1,13 +1,15 @@ { "type": "process", "name": "0.10mm Standard @Elegoo CC 0.2 nozzle", - "inherits": "fdm_process_ecc_02010", + "inherits": "fdm_process_elegoo_02010", "from": "system", "setting_id": "PECC02010", "instantiation": "true", "sparse_infill_pattern": "zig-zag", - "filename_format": "ECC_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "ECC_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "min_width_top_surface": "50%", "elefant_foot_compensation": "0.15", + "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri Carbon 0.2 nozzle" ] diff --git a/resources/profiles/Elegoo/process/ECC/0.12mm Draft @Elegoo CC 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.12mm Draft @Elegoo CC 0.2 nozzle.json index 7736e59460..3ca5415c10 100644 --- a/resources/profiles/Elegoo/process/ECC/0.12mm Draft @Elegoo CC 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.12mm Draft @Elegoo CC 0.2 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.12mm Draft @Elegoo CC 0.2 nozzle", "inherits": "0.10mm Standard @Elegoo CC 0.2 nozzle", - "instantiation": "true", - "layer_height": "0.12" + "layer_height": "0.12", + "name": "0.12mm Draft @Elegoo CC 0.2 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.12mm Fine @Elegoo CC 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.12mm Fine @Elegoo CC 0.4 nozzle.json index 77e6231148..2065f51caf 100644 --- a/resources/profiles/Elegoo/process/ECC/0.12mm Fine @Elegoo CC 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.12mm Fine @Elegoo CC 0.4 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.12mm Fine @Elegoo CC 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC 0.4 nozzle", - "instantiation": "true", "layer_height": "0.12", - "wall_loops": "3" + "name": "0.12mm Fine @Elegoo CC 0.4 nozzle", + "wall_loops": "3", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.14mm Extra Draft @Elegoo CC 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.14mm Extra Draft @Elegoo CC 0.2 nozzle.json index 76122bf5e3..aa1907bb0c 100644 --- a/resources/profiles/Elegoo/process/ECC/0.14mm Extra Draft @Elegoo CC 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.14mm Extra Draft @Elegoo CC 0.2 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.14mm Extra Draft @Elegoo CC 0.2 nozzle", "inherits": "0.10mm Standard @Elegoo CC 0.2 nozzle", - "instantiation": "true", - "layer_height": "0.14" + "layer_height": "0.14", + "name": "0.14mm Extra Draft @Elegoo CC 0.2 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.16mm Extra Fine @Elegoo CC 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.16mm Extra Fine @Elegoo CC 0.8 nozzle.json index 409124dc06..ab58f4e18e 100644 --- a/resources/profiles/Elegoo/process/ECC/0.16mm Extra Fine @Elegoo CC 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.16mm Extra Fine @Elegoo CC 0.8 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.16mm Extra Fine @Elegoo CC 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC 0.8 nozzle", - "instantiation": "true", "initial_layer_print_height": "0.3", - "layer_height": "0.16" + "layer_height": "0.16", + "name": "0.16mm Extra Fine @Elegoo CC 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.16mm Optimal @Elegoo CC 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.16mm Optimal @Elegoo CC 0.4 nozzle.json index 26507a3685..fe0636d0b7 100644 --- a/resources/profiles/Elegoo/process/ECC/0.16mm Optimal @Elegoo CC 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.16mm Optimal @Elegoo CC 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.16mm Optimal @Elegoo CC 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.16" + "layer_height": "0.16", + "name": "0.16mm Optimal @Elegoo CC 0.4 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.18mm Fine @Elegoo CC 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.18mm Fine @Elegoo CC 0.6 nozzle.json index 7baa9c491c..1d95474e64 100644 --- a/resources/profiles/Elegoo/process/ECC/0.18mm Fine @Elegoo CC 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.18mm Fine @Elegoo CC 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.18mm Fine @Elegoo CC 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.18" + "layer_height": "0.18", + "name": "0.18mm Fine @Elegoo CC 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.20mm Standard @Elegoo CC 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.20mm Standard @Elegoo CC 0.4 nozzle.json index c5a59e503e..9824d302fa 100644 --- a/resources/profiles/Elegoo/process/ECC/0.20mm Standard @Elegoo CC 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.20mm Standard @Elegoo CC 0.4 nozzle.json @@ -1,14 +1,16 @@ { "type": "process", "name": "0.20mm Standard @Elegoo CC 0.4 nozzle", - "inherits": "fdm_process_ecc_04020", + "inherits": "fdm_process_elegoo_04020", "from": "system", "setting_id": "PECC04020", "instantiation": "true", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", "sparse_infill_pattern": "zig-zag", - "filename_format": "ECC_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "ECC_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "min_width_top_surface": "50%", + "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri Carbon 0.4 nozzle" ] diff --git a/resources/profiles/Elegoo/process/ECC/0.20mm Strength @Elegoo CC 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.20mm Strength @Elegoo CC 0.4 nozzle.json index f2a3075931..d4dd40e93e 100644 --- a/resources/profiles/Elegoo/process/ECC/0.20mm Strength @Elegoo CC 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.20mm Strength @Elegoo CC 0.4 nozzle.json @@ -1,13 +1,13 @@ { - "type": "process", - "name": "0.20mm Strength @Elegoo CC 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC 0.4 nozzle", - "instantiation": "true", + "name": "0.20mm Strength @Elegoo CC 0.4 nozzle", "wall_sequence": "inner-outer-inner wall", "reduce_crossing_wall": "1", "bottom_shell_layers": "5", "outer_wall_speed": "120", + "print_flow_ratio": "0.95", "sparse_infill_density": "20%", "top_shell_layers": "6", - "wall_loops": "6" + "wall_loops": "6", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.24mm Draft @Elegoo CC 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.24mm Draft @Elegoo CC 0.4 nozzle.json index 57d8f69edc..f3e97e62d6 100644 --- a/resources/profiles/Elegoo/process/ECC/0.24mm Draft @Elegoo CC 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.24mm Draft @Elegoo CC 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Draft @Elegoo CC 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Draft @Elegoo CC 0.4 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.24mm Fine @Elegoo CC 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.24mm Fine @Elegoo CC 0.8 nozzle.json index 2ed9503df6..57a006097a 100644 --- a/resources/profiles/Elegoo/process/ECC/0.24mm Fine @Elegoo CC 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.24mm Fine @Elegoo CC 0.8 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.24mm Fine @Elegoo CC 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC 0.8 nozzle", - "instantiation": "true", "initial_layer_print_height": "0.3", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Fine @Elegoo CC 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.24mm Optimal @Elegoo CC 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.24mm Optimal @Elegoo CC 0.6 nozzle.json index 5648884c9a..73b931e41a 100644 --- a/resources/profiles/Elegoo/process/ECC/0.24mm Optimal @Elegoo CC 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.24mm Optimal @Elegoo CC 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Optimal @Elegoo CC 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Optimal @Elegoo CC 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.28mm Extra Draft @Elegoo CC 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.28mm Extra Draft @Elegoo CC 0.4 nozzle.json index 28884ba53c..ec438b26d5 100644 --- a/resources/profiles/Elegoo/process/ECC/0.28mm Extra Draft @Elegoo CC 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.28mm Extra Draft @Elegoo CC 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.28mm Extra Draft @Elegoo CC 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.28" + "layer_height": "0.28", + "name": "0.28mm Extra Draft @Elegoo CC 0.4 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.30mm Standard @Elegoo CC 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.30mm Standard @Elegoo CC 0.6 nozzle.json index da64090e4e..49892afec7 100644 --- a/resources/profiles/Elegoo/process/ECC/0.30mm Standard @Elegoo CC 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.30mm Standard @Elegoo CC 0.6 nozzle.json @@ -1,12 +1,14 @@ { "type": "process", "name": "0.30mm Standard @Elegoo CC 0.6 nozzle", - "inherits": "fdm_process_ecc_06030", + "inherits": "fdm_process_elegoo_06030", "from": "system", "setting_id": "PECC06030", "instantiation": "true", "sparse_infill_pattern": "zig-zag", - "filename_format": "ECC_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "ECC_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "min_width_top_surface": "50%", + "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri Carbon 0.6 nozzle" ] diff --git a/resources/profiles/Elegoo/process/ECC/0.30mm Strength @Elegoo CC 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.30mm Strength @Elegoo CC 0.6 nozzle.json index a722535b7c..448f7064f2 100644 --- a/resources/profiles/Elegoo/process/ECC/0.30mm Strength @Elegoo CC 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.30mm Strength @Elegoo CC 0.6 nozzle.json @@ -1,13 +1,12 @@ { - "type": "process", - "name": "0.30mm Strength @Elegoo CC 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC 0.6 nozzle", - "instantiation": "true", "inner_wall_speed": "120", + "name": "0.30mm Strength @Elegoo CC 0.6 nozzle", "wall_sequence": "inner-outer-inner wall", "reduce_crossing_wall": "1", "outer_wall_speed": "80", "sparse_infill_density": "15%", "top_surface_speed": "120", - "wall_loops": "4" + "wall_loops": "4", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.32mm Optimal @Elegoo CC 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.32mm Optimal @Elegoo CC 0.8 nozzle.json index 864c2cd39c..2a369c8dfa 100644 --- a/resources/profiles/Elegoo/process/ECC/0.32mm Optimal @Elegoo CC 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.32mm Optimal @Elegoo CC 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.32mm Optimal @Elegoo CC 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC 0.8 nozzle", - "instantiation": "true", - "layer_height": "0.32" + "layer_height": "0.32", + "name": "0.32mm Optimal @Elegoo CC 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.36mm Draft @Elegoo CC 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.36mm Draft @Elegoo CC 0.6 nozzle.json index 4f542a2964..a9eadfaad4 100644 --- a/resources/profiles/Elegoo/process/ECC/0.36mm Draft @Elegoo CC 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.36mm Draft @Elegoo CC 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.36mm Draft @Elegoo CC 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.36" + "layer_height": "0.36", + "name": "0.36mm Draft @Elegoo CC 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.40mm Standard @Elegoo CC 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.40mm Standard @Elegoo CC 0.8 nozzle.json index 8dc0b9b96c..d6197b0696 100644 --- a/resources/profiles/Elegoo/process/ECC/0.40mm Standard @Elegoo CC 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.40mm Standard @Elegoo CC 0.8 nozzle.json @@ -1,12 +1,14 @@ { "type": "process", "name": "0.40mm Standard @Elegoo CC 0.8 nozzle", - "inherits": "fdm_process_ecc_08040", + "inherits": "fdm_process_elegoo_08040", "from": "system", "setting_id": "PECC08040", "instantiation": "true", "sparse_infill_pattern": "zig-zag", - "filename_format": "ECC_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "ECC_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "min_width_top_surface": "50%", + "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri Carbon 0.8 nozzle" ] diff --git a/resources/profiles/Elegoo/process/ECC/0.42mm Extra Draft @Elegoo CC 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.42mm Extra Draft @Elegoo CC 0.6 nozzle.json index 69ec9b14fd..08d85a026a 100644 --- a/resources/profiles/Elegoo/process/ECC/0.42mm Extra Draft @Elegoo CC 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.42mm Extra Draft @Elegoo CC 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.42mm Extra Draft @Elegoo CC 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.42" + "layer_height": "0.42", + "name": "0.42mm Extra Draft @Elegoo CC 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/0.48mm Draft @Elegoo CC 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC/0.48mm Draft @Elegoo CC 0.8 nozzle.json index fdab41c542..6938bbf98c 100644 --- a/resources/profiles/Elegoo/process/ECC/0.48mm Draft @Elegoo CC 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC/0.48mm Draft @Elegoo CC 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.48mm Draft @Elegoo CC 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC 0.8 nozzle", - "instantiation": "true", - "layer_height": "0.48" + "layer_height": "0.48", + "name": "0.48mm Draft @Elegoo CC 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc.json b/resources/profiles/Elegoo/process/ECC/fdm_process_ecc.json deleted file mode 100644 index 5daab5a5c9..0000000000 --- a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "type": "process", - "name": "fdm_process_ecc", - "inherits": "fdm_process_ecc_common", - "from": "system", - "instantiation": "false", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bridge_speed": "50", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.05", - "enable_arc_fitting": "1", - "outer_wall_acceleration": "5000", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.42", - "internal_bridge_support_thickness": "0.8", - "initial_layer_acceleration": "500", - "initial_layer_line_width": "0.5", - "initial_layer_speed": "30", - "gap_infill_speed": "50", - "sparse_infill_speed": "250", - "ironing_flow": "10%", - "ironing_spacing": "0.15", - "ironing_speed": "30", - "ironing_type": "no ironing", - "layer_height": "0.2", - "filename_format": "{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "10", - "only_one_wall_top": "1", - "inner_wall_speed": "150", - "seam_position": "aligned", - "skirt_height": "1", - "skirt_loops": "0", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "cubic", - "top_bottom_infill_wall_overlap": "5%", - "infill_anchor": "400%", - "infill_anchor_max": "40", - "minimum_sparse_infill_area": "15", - "internal_solid_infill_line_width": "0.42", - "internal_solid_infill_speed": "150", - "initial_layer_infill_speed": "60", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_top_z_distance": "0.2", - "support_bottom_z_distance": "0.2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.5", - "support_expansion": "0", - "support_base_pattern_spacing": "2.5", - "support_speed": "150", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_diameter": "2", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "top_surface_pattern": "monotonicline", - "top_surface_acceleration": "2000", - "top_surface_speed": "200", - "top_shell_layers": "3", - "travel_speed": "500", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "35", - "wall_generator": "classic", - "compatible_printers": [], - "detect_narrow_internal_solid_infill": "1", - "extra_perimeters_on_overhangs": "0", - "seam_slope_conditional": "1", - "seam_slope_inner_walls": "1", - "accel_to_decel_enable": "0", - "precise_outer_wall": "0", - "seam_slope_min_length": "0", - "bridge_flow": "0.95", - "internal_bridge_flow": "0.95", - "role_based_wipe_speed": "0", - "seam_slope_type": "none", - "wipe_on_loops": "0", - "gcode_label_objects": "0", - "staggered_inner_seams": "0", - "wipe_before_external_loop": "0", - "exclude_object": "1", - "wipe_speed": "100%", - "print_flow_ratio": "1.0", - "wall_sequence": "inner wall/outer wall" -} diff --git a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_02010.json b/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_02010.json deleted file mode 100644 index 8dd60ed923..0000000000 --- a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_02010.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "process", - "name": "fdm_process_ecc_02010", - "inherits": "fdm_process_ecc", - "from": "system", - "instantiation": "false", - "layer_height": "0.1", - "initial_layer_print_height": "0.15", - "elefant_foot_compensation": "0.05", - "wall_loops": "4", - "bottom_shell_layers": "5", - "top_shell_layers": "7", - "bridge_flow": "1", - "line_width": "0.22", - "outer_wall_line_width": "0.22", - "initial_layer_line_width": "0.3", - "sparse_infill_line_width": "0.25", - "inner_wall_line_width": "0.22", - "internal_solid_infill_line_width": "0.22", - "support_line_width": "0.22", - "top_surface_line_width": "0.22", - "initial_layer_speed": "35", - "initial_layer_infill_speed": "60", - "sparse_infill_speed": "100", - "inner_wall_speed": "100", - "internal_solid_infill_speed": "100", - "outer_wall_speed": "60", - "top_surface_speed": "80" -} diff --git a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_04020.json b/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_04020.json deleted file mode 100644 index b24c94f99a..0000000000 --- a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_04020.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "process", - "name": "fdm_process_ecc_04020", - "inherits": "fdm_process_ecc", - "from": "system", - "instantiation": "false", - "elefant_foot_compensation": "0.1", - "top_shell_thickness": "1.0", - "bridge_flow": "1", - "initial_layer_speed": "50", - "initial_layer_infill_speed": "105", - "outer_wall_speed": "160", - "inner_wall_speed": "200", - "sparse_infill_speed": "200", - "internal_solid_infill_speed": "250", - "gap_infill_speed": "250", - "top_shell_layers": "5" -} diff --git a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_06030.json b/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_06030.json deleted file mode 100644 index 53f0de9f8d..0000000000 --- a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_06030.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "fdm_process_ecc_06030", - "inherits": "fdm_process_ecc", - "from": "system", - "instantiation": "false", - "layer_height": "0.3", - "initial_layer_print_height": "0.3", - "elefant_foot_compensation": "0.15", - "bridge_flow": "1", - "line_width": "0.62", - "outer_wall_line_width": "0.62", - "initial_layer_line_width": "0.80", - "sparse_infill_line_width": "0.62", - "inner_wall_line_width": "0.62", - "internal_solid_infill_line_width": "0.62", - "support_line_width": "0.62", - "top_surface_line_width": "0.62", - "initial_layer_speed": "35", - "initial_layer_infill_speed": "55", - "gap_infill_speed": "80", - "sparse_infill_speed": "200", - "top_surface_speed": "150", - "bridge_speed": "30", - "overhang_3_4_speed": "25" -} diff --git a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_08040.json b/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_08040.json deleted file mode 100644 index e301d2e500..0000000000 --- a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_08040.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "type": "process", - "name": "fdm_process_ecc_08040", - "inherits": "fdm_process_ecc", - "from": "system", - "instantiation": "false", - "layer_height": "0.4", - "initial_layer_print_height": "0.4", - "elefant_foot_compensation": "0.15", - "bridge_flow": "1", - "line_width": "0.82", - "outer_wall_line_width": "0.82", - "initial_layer_line_width": "0.82", - "sparse_infill_line_width": "0.82", - "inner_wall_line_width": "0.82", - "internal_solid_infill_line_width": "0.82", - "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "initial_layer_speed": "35", - "initial_layer_infill_speed": "55", - "sparse_infill_speed": "100", - "top_surface_speed": "150", - "bridge_speed": "30", - "overhang_2_4_speed": "40", - "overhang_3_4_speed": "20", - "overhang_4_4_speed": "10" -} diff --git a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_common.json b/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_common.json deleted file mode 100644 index 4bf21d336a..0000000000 --- a/resources/profiles/Elegoo/process/ECC/fdm_process_ecc_common.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "type": "process", - "name": "fdm_process_ecc_common", - "from": "system", - "instantiation": "false", - "adaptive_layer_height": "0", - "reduce_crossing_wall": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "5", - "print_sequence": "by layer", - "default_acceleration": "10000", - "travel_acceleration": "0", - "inner_wall_acceleration": "0", - "bridge_no_support": "0", - "elefant_foot_compensation": "0.1", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "120", - "line_width": "0.45", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "initial_layer_speed": "20", - "gap_infill_speed": "30", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "15%", - "sparse_infill_speed": "50", - "overhang_speed_classic": "1", - "interface_shells": "0", - "detect_overhang_wall": "0", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}.gcode", - "wall_loops": "2", - "inner_wall_line_width": "0.45", - "inner_wall_speed": "40", - "raft_layers": "0", - "seam_position": "nearest", - "skirt_distance": "2", - "skirt_height": "2", - "minimum_sparse_infill_area": "0", - "internal_solid_infill_line_width": "0.45", - "internal_solid_infill_speed": "40", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "support_filament": "0", - "support_line_width": "0.42", - "support_interface_filament": "0", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.15", - "support_interface_loop_pattern": "0", - "support_interface_top_layers": "2", - "support_interface_spacing": "0", - "support_interface_speed": "80", - "support_interface_pattern": "auto", - "support_base_pattern": "default", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "40", - "support_object_xy_distance": "0.5", - "tree_support_angle_slow": "30", - "tree_support_branch_angle_organic": "45", - "tree_support_branch_diameter_double_wall": "10", - "tree_support_branch_distance_organic": "5", - "tree_support_tip_diameter": "2", - "detect_thin_wall": "0", - "top_surface_line_width": "0.42", - "top_surface_speed": "30", - "travel_speed": "400", - "enable_prime_tower": "1", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "role_based_wipe_speed": "1", - "detect_narrow_internal_solid_infill": "1", - "top_shell_thickness": "0.8", - "bottom_shell_thickness": "0.8", - "gap_fill_target": "everywhere", - "filter_out_gap_fill": "1", - "ensure_vertical_shell_thickness": "ensure_all", - "compatible_printers": [], - "slowdown_for_curled_perimeters": "0" -} diff --git a/resources/profiles/Elegoo/process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json index a078e52e79..1b193e30fc 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.08mm Optimal @Elegoo CC2 0.2 nozzle", - "inherits": "0.10mm Standard @Elegoo CC2 0.2 nozzle", - "instantiation": "true", "elefant_foot_compensation": "0.05", - "layer_height": "0.08" + "inherits": "0.10mm Standard @Elegoo CC2 0.2 nozzle", + "layer_height": "0.08", + "name": "0.08mm Optimal @Elegoo CC2 0.2 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json index b7b85785d3..ee0bd09959 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json @@ -5,12 +5,15 @@ "from": "system", "setting_id": "PECC202010", "instantiation": "true", - "sparse_infill_pattern": "zig-zag", "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "min_width_top_surface": "50%", "elefant_foot_compensation": "0.15", "enable_prime_tower": "1", "reduce_infill_retraction": "0", + "initial_layer_acceleration": "500", + "outer_wall_speed": "160", + "sparse_infill_pattern": "rectilinear", + "top_surface_acceleration": "2000", "compatible_printers": [ "Elegoo Centauri Carbon 2 0.2 nozzle" ] diff --git a/resources/profiles/Elegoo/process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json index f84d879782..e1172fcfb1 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.12mm Draft @Elegoo CC2 0.2 nozzle", "inherits": "0.10mm Standard @Elegoo CC2 0.2 nozzle", - "instantiation": "true", - "layer_height": "0.12" + "layer_height": "0.12", + "name": "0.12mm Draft @Elegoo CC2 0.2 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json index bed0a47247..8794ef5731 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json @@ -1,8 +1,10 @@ { - "type": "process", - "name": "0.12mm Fine @Elegoo CC2 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "instantiation": "true", "layer_height": "0.12", - "wall_loops": "3" + "name": "0.12mm Fine @Elegoo CC2 0.4 nozzle", + "wall_loops": "3", + "support_bottom_z_distance": "0.2", + "support_top_z_distance": "0.2", + "top_solid_infill_flow_ratio": "1.09", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json index a75ca06d92..e44ed6f7cb 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.14mm Extra Draft @Elegoo CC2 0.2 nozzle", "inherits": "0.10mm Standard @Elegoo CC2 0.2 nozzle", - "instantiation": "true", - "layer_height": "0.14" + "layer_height": "0.14", + "name": "0.14mm Extra Draft @Elegoo CC2 0.2 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json index 42b4d26fb5..a6ea15a145 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.16mm Extra Fine @Elegoo CC2 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "instantiation": "true", "initial_layer_print_height": "0.3", - "layer_height": "0.16" + "layer_height": "0.16", + "name": "0.16mm Extra Fine @Elegoo CC2 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json index eded4987c7..fe6e4bda30 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.16mm Optimal @Elegoo CC2 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.16" + "layer_height": "0.16", + "name": "0.16mm Optimal @Elegoo CC2 0.4 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json index 164f561a8f..6233080932 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.18mm Fine @Elegoo CC2 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.18" + "layer_height": "0.18", + "name": "0.18mm Fine @Elegoo CC2 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json index e40249711d..98bd16d30b 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json @@ -7,7 +7,7 @@ "instantiation": "true", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", - "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}_{layer_height}_{print_time}.gcode", + "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "min_width_top_surface": "50%", "enable_prime_tower": "1", "compatible_printers": [ @@ -16,18 +16,19 @@ "enable_arc_fitting": "0", "exclude_object": "0", "independent_support_layer_height": "0", - "initial_layer_acceleration": "2000", - "outer_wall_speed": "200", "skirt_height": "4", - "sparse_infill_pattern": "honeycomb", - "support_base_pattern": "honeycomb", "support_base_pattern_spacing": "1", - "support_bottom_z_distance": "0.1", - "support_top_z_distance": "0.08", + "support_bottom_z_distance": "0.2", + "support_top_z_distance": "0.2", + "top_solid_infill_flow_ratio": "1.09", "support_type": "tree(auto)", - "top_surface_acceleration": "5000", "tree_support_branch_distance_organic": "2", "tree_support_tip_diameter": "0.8", "wall_sequence": "inner wall/outer wall", - "reduce_infill_retraction": "0" + "reduce_infill_retraction": "0", + "initial_layer_acceleration": "500", + "outer_wall_speed": "160", + "sparse_infill_pattern": "rectilinear", + "top_surface_acceleration": "2000", + "support_base_pattern": "rectilinear" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json index 5655d94a20..af46be64e3 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json @@ -1,14 +1,14 @@ { - "type": "process", - "name": "0.20mm Strength @Elegoo CC2 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "instantiation": "true", - "wall_sequence": "inner-outer-inner wall", - "reduce_crossing_wall": "1", + "name": "0.20mm Strength @Elegoo CC2 0.4 nozzle", + "wall_sequence": "inner wall/outer wall", + "reduce_crossing_wall": "0", "bottom_shell_layers": "5", - "outer_wall_speed": "120", - "print_flow_ratio": "0.95", + "outer_wall_speed": "200", + "print_flow_ratio": "0.97", "sparse_infill_density": "20%", "top_shell_layers": "6", - "wall_loops": "6" + "wall_loops": "5", + "top_solid_infill_flow_ratio": "1.09", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json index e0eb3daf61..50d31cedc1 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Draft @Elegoo CC2 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Draft @Elegoo CC2 0.4 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json index fad9ec8520..9d43d1ee8b 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json @@ -1,8 +1,7 @@ { - "type": "process", - "name": "0.24mm Fine @Elegoo CC2 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "instantiation": "true", "initial_layer_print_height": "0.3", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Fine @Elegoo CC2 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json index 663877b0bf..1171026be7 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Optimal @Elegoo CC2 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.24" + "layer_height": "0.24", + "name": "0.24mm Optimal @Elegoo CC2 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json index b3690e240a..000676ba68 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.28mm Extra Draft @Elegoo CC2 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "instantiation": "true", - "layer_height": "0.28" + "layer_height": "0.28", + "name": "0.28mm Extra Draft @Elegoo CC2 0.4 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json index cfde502c68..e5084f94d0 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json @@ -5,12 +5,16 @@ "from": "system", "setting_id": "PECC206030", "instantiation": "true", - "sparse_infill_pattern": "zig-zag", "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "min_width_top_surface": "50%", "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri Carbon 2 0.6 nozzle" ], - "reduce_infill_retraction": "0" + "reduce_infill_retraction": "0", + "initial_layer_acceleration": "500", + "outer_wall_speed": "160", + "sparse_infill_pattern": "rectilinear", + "top_surface_acceleration": "2000", + "support_base_pattern": "rectilinear" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json index 0f2436520f..f14cafb3ef 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json @@ -1,13 +1,12 @@ { - "type": "process", - "name": "0.30mm Strength @Elegoo CC2 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "instantiation": "true", "inner_wall_speed": "120", + "name": "0.30mm Strength @Elegoo CC2 0.6 nozzle", "wall_sequence": "inner-outer-inner wall", "reduce_crossing_wall": "1", "outer_wall_speed": "80", "sparse_infill_density": "15%", "top_surface_speed": "120", - "wall_loops": "4" + "wall_loops": "4", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json index b453396d21..94a4d405ef 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.32mm Optimal @Elegoo CC2 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "instantiation": "true", - "layer_height": "0.32" + "layer_height": "0.32", + "name": "0.32mm Optimal @Elegoo CC2 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json index b5b24eb53e..dbb3d9e8d7 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.36mm Draft @Elegoo CC2 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.36" + "layer_height": "0.36", + "name": "0.36mm Draft @Elegoo CC2 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json index 09e7d479a5..031bad9887 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json @@ -5,12 +5,16 @@ "from": "system", "setting_id": "PECC208040", "instantiation": "true", - "sparse_infill_pattern": "zig-zag", - "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}_{layer_height}_{print_time}.gcode", + "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "min_width_top_surface": "50%", "enable_prime_tower": "1", "compatible_printers": [ "Elegoo Centauri Carbon 2 0.8 nozzle" ], - "reduce_infill_retraction": "0" + "reduce_infill_retraction": "0", + "initial_layer_acceleration": "500", + "outer_wall_speed": "160", + "sparse_infill_pattern": "rectilinear", + "top_surface_acceleration": "2000", + "support_base_pattern": "rectilinear" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json index a281d2c30e..d32be7b6df 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.42mm Extra Draft @Elegoo CC2 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "instantiation": "true", - "layer_height": "0.42" + "layer_height": "0.42", + "name": "0.42mm Extra Draft @Elegoo CC2 0.6 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json index d45f29424f..58a1ece2c2 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.48mm Draft @Elegoo CC2 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "instantiation": "true", - "layer_height": "0.48" + "layer_height": "0.48", + "name": "0.48mm Draft @Elegoo CC2 0.8 nozzle", + "instantiation": "true" } diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune.json b/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune.json deleted file mode 100644 index 14736a23d6..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2.json deleted file mode 100644 index 1ffe1f3d14..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune2", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2D.json deleted file mode 100644 index 88a841d7ea..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2D.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune2D", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2D 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2S.json deleted file mode 100644 index 53845423c0..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune2S.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune2S", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2S 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune3.json deleted file mode 100644 index 0e90542654..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo Neptune3.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune3", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo NeptuneX.json deleted file mode 100644 index aafd2fbe8e..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.08mm Extra Fine @Elegoo NeptuneX.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo NeptuneX", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune X 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune 0.4 nozzle.json new file mode 100644 index 0000000000..f3cb796591 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune 0.4 nozzle.json @@ -0,0 +1,10 @@ +{ + "setting_id": "PEN204020", + "from": "system", + "inherits": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", + "name": "0.12mm Fine @Elegoo Neptune 0.4 nozzle", + "layer_height": "0.12", + "wall_loops": "3", + "instantiation": "true", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune;0.08mm Extra Fine @Elegoo Neptune2;0.08mm Extra Fine @Elegoo Neptune2D;0.08mm Extra Fine @Elegoo Neptune2S;0.08mm Extra Fine @Elegoo NeptuneX;0.12mm Fine @Elegoo Neptune;0.12mm Fine @Elegoo Neptune2;0.12mm Fine @Elegoo Neptune2D;0.12mm Fine @Elegoo Neptune2S;0.12mm Fine @Elegoo NeptuneX" +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune.json b/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune.json deleted file mode 100644 index 450384e208..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2.json deleted file mode 100644 index 02f66b48ac..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune2", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2D.json deleted file mode 100644 index 5636cc2d2c..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2D.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune2D", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2D 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2S.json deleted file mode 100644 index 9462cc8c01..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune2S.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune2S", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2S 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune3.json deleted file mode 100644 index 2c569a10f3..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo Neptune3.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune3", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo NeptuneX.json deleted file mode 100644 index 6cd38e6991..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.12mm Fine @Elegoo NeptuneX.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo NeptuneX", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune X 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune 0.4 nozzle.json new file mode 100644 index 0000000000..963040e3ab --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "setting_id": "PEN204020", + "from": "system", + "inherits": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", + "name": "0.16mm Optimal @Elegoo Neptune 0.4 nozzle", + "layer_height": "0.16", + "instantiation": "true", + "renamed_from": "0.16mm Optimal @Elegoo Neptune;0.16mm Optimal @Elegoo Neptune2;0.16mm Optimal @Elegoo Neptune2D;0.16mm Optimal @Elegoo Neptune2S;0.16mm Optimal @Elegoo NeptuneX" +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune.json b/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune.json deleted file mode 100644 index 642a24cbab..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2.json deleted file mode 100644 index 27ecf5044c..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune2", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2D.json deleted file mode 100644 index f07e602cd0..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2D.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune2D", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2D 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2S.json deleted file mode 100644 index ccf243e8a7..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune2S.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune2S", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2S 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune3.json deleted file mode 100644 index 1dda5b57a1..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo Neptune3.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune3", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo NeptuneX.json deleted file mode 100644 index e28f34056a..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.16mm Optimal @Elegoo NeptuneX.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo NeptuneX", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune X 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune 0.4 nozzle.json new file mode 100644 index 0000000000..ee5b79d5ea --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune 0.4 nozzle.json @@ -0,0 +1,39 @@ +{ + "type": "process", + "setting_id": "PEN204020", + "name": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_elegoo_04020", + "instantiation": "true", + "filename_format": "{nozzle_diameter[0]}{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "travel_speed": "200", + "only_one_wall_top": "0", + "wall_loops": "3", + "enable_arc_fitting": "0", + "compatible_printers": [ + "Elegoo Neptune 2 0.4 nozzle", + "Elegoo Neptune 3 0.4 nozzle", + "Elegoo Neptune X 0.4 nozzle", + "Elegoo Neptune 2S 0.4 nozzle", + "Elegoo Neptune 2D 0.4 nozzle", + "Elegoo Neptune 0.4 nozzle" + ], + "renamed_from": "0.20mm Standard @Elegoo Neptune;0.20mm Standard @Elegoo Neptune2;0.20mm Standard @Elegoo Neptune2D;0.20mm Standard @Elegoo Neptune2S;0.20mm Standard @Elegoo NeptuneX" +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune.json b/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune.json deleted file mode 100644 index e5f0b7fd57..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2.json deleted file mode 100644 index b287721785..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune2", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2D.json deleted file mode 100644 index 7d89a5e9dd..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2D.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune2D", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2D 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2S.json deleted file mode 100644 index aac88fc976..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune2S.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune2S", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2S 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune3.json deleted file mode 100644 index 4a770f0d58..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo Neptune3.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune3", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo NeptuneX.json deleted file mode 100644 index baa5d454c0..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Standard @Elegoo NeptuneX.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo NeptuneX", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune X 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Strength @Elegoo Neptune 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Strength @Elegoo Neptune 0.4 nozzle.json new file mode 100644 index 0000000000..62f79c8e77 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.20mm Strength @Elegoo Neptune 0.4 nozzle.json @@ -0,0 +1,10 @@ +{ + "setting_id": "PEN204020S", + "from": "system", + "inherits": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", + "name": "0.20mm Strength @Elegoo Neptune 0.4 nozzle", + "wall_sequence": "inner-outer-inner wall", + "reduce_crossing_wall": "1", + "wall_loops": "6", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune 0.4 nozzle.json new file mode 100644 index 0000000000..c54923918d --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "setting_id": "PEN204024", + "from": "system", + "inherits": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", + "name": "0.24mm Draft @Elegoo Neptune 0.4 nozzle", + "layer_height": "0.24", + "instantiation": "true", + "renamed_from": "0.24mm Draft @Elegoo Neptune;0.24mm Draft @Elegoo Neptune2;0.24mm Draft @Elegoo Neptune2D;0.24mm Draft @Elegoo Neptune2S;0.24mm Draft @Elegoo NeptuneX" +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune.json b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune.json deleted file mode 100644 index 384e8a9c1e..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2.json deleted file mode 100644 index ecc4753fa9..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune2", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2D.json deleted file mode 100644 index df3aea1654..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2D.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune2D", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2D 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2S.json deleted file mode 100644 index 9349294cee..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune2S.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune2S", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2S 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune3.json deleted file mode 100644 index e5bb0f8096..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo Neptune3.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune3", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo NeptuneX.json deleted file mode 100644 index 673217c0ba..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Draft @Elegoo NeptuneX.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo NeptuneX", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune X 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Fine @Elegoo Neptune 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Fine @Elegoo Neptune 0.8 nozzle.json new file mode 100644 index 0000000000..bb7a4cf27e --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Fine @Elegoo Neptune 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "setting_id": "PEN208024", + "from": "system", + "name": "0.24mm Fine @Elegoo Neptune 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "layer_height": "0.24", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Optimal @Elegoo Neptune 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Optimal @Elegoo Neptune 0.6 nozzle.json new file mode 100644 index 0000000000..ef7e720471 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.24mm Optimal @Elegoo Neptune 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "setting_id": "PEN206024", + "from": "system", + "name": "0.24mm Optimal @Elegoo Neptune 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "layer_height": "0.24", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle.json new file mode 100644 index 0000000000..cc8cc38ec8 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "setting_id": "PEN204028", + "from": "system", + "inherits": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", + "name": "0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle", + "layer_height": "0.28", + "instantiation": "true", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune;0.28mm Extra Draft @Elegoo Neptune2;0.28mm Extra Draft @Elegoo Neptune2D;0.28mm Extra Draft @Elegoo Neptune2S;0.28mm Extra Draft @Elegoo NeptuneX" +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune.json b/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune.json deleted file mode 100644 index cbc80a12a7..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2.json deleted file mode 100644 index d0ac19685b..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune2", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2D.json deleted file mode 100644 index 1ceb042ba2..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2D.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune2D", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2D 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2S.json deleted file mode 100644 index 860aa4f0e6..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune2S.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune2S", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 2S 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune3.json deleted file mode 100644 index 28497ae77a..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune3.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune3", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo NeptuneX.json deleted file mode 100644 index 72e521b274..0000000000 --- a/resources/profiles/Elegoo/process/EN2SERIES/0.28mm Extra Draft @Elegoo NeptuneX.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo NeptuneX", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune X 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.30mm Standard @Elegoo Neptune 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.30mm Standard @Elegoo Neptune 0.6 nozzle.json new file mode 100644 index 0000000000..a2839ad557 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.30mm Standard @Elegoo Neptune 0.6 nozzle.json @@ -0,0 +1,37 @@ +{ + "type": "process", + "name": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "inherits": "fdm_process_elegoo_06030", + "from": "system", + "setting_id": "PEN206030", + "instantiation": "true", + "filename_format": "{nozzle_diameter[0]}{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "10", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "travel_speed": "200", + "only_one_wall_top": "0", + "enable_arc_fitting": "0", + "compatible_printers": [ + "Elegoo Neptune 2 0.6 nozzle", + "Elegoo Neptune 3 0.6 nozzle", + "Elegoo Neptune X 0.6 nozzle", + "Elegoo Neptune 2S 0.6 nozzle", + "Elegoo Neptune 2D 0.6 nozzle", + "Elegoo Neptune 0.6 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.32mm Optimal @Elegoo Neptune 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.32mm Optimal @Elegoo Neptune 0.8 nozzle.json new file mode 100644 index 0000000000..f91c249e99 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.32mm Optimal @Elegoo Neptune 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "setting_id": "PEN208032", + "from": "system", + "name": "0.32mm Optimal @Elegoo Neptune 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "layer_height": "0.32", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.36mm Draft @Elegoo Neptune 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.36mm Draft @Elegoo Neptune 0.6 nozzle.json new file mode 100644 index 0000000000..bb411a8271 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.36mm Draft @Elegoo Neptune 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "setting_id": "PEN206036", + "from": "system", + "name": "0.36mm Draft @Elegoo Neptune 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "layer_height": "0.36", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.40mm Standard @Elegoo Neptune 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.40mm Standard @Elegoo Neptune 0.8 nozzle.json new file mode 100644 index 0000000000..ca53203fbc --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.40mm Standard @Elegoo Neptune 0.8 nozzle.json @@ -0,0 +1,36 @@ +{ + "type": "process", + "name": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "inherits": "fdm_process_elegoo_08040", + "from": "system", + "setting_id": "PEN208040", + "instantiation": "true", + "filename_format": "{nozzle_diameter[0]}{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "10", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "only_one_wall_top": "0", + "enable_arc_fitting": "0", + "compatible_printers": [ + "Elegoo Neptune 2 0.8 nozzle", + "Elegoo Neptune 3 0.8 nozzle", + "Elegoo Neptune X 0.8 nozzle", + "Elegoo Neptune 2S 0.8 nozzle", + "Elegoo Neptune 2D 0.8 nozzle", + "Elegoo Neptune 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN2SERIES/0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN2SERIES/0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle.json new file mode 100644 index 0000000000..ec6ec519e8 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN2SERIES/0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "setting_id": "PEN206042", + "from": "system", + "name": "0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "layer_height": "0.42", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Max.json deleted file mode 100644 index 93b27eb7ec..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Max.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune3Max", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Max 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Plus.json deleted file mode 100644 index decdd221f5..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Plus.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune3Plus", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Plus 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Pro.json deleted file mode 100644 index c22f59e2aa..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Extra Fine @Elegoo Neptune3Pro.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune3Pro", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Pro 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Max 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Max 0.2 nozzle.json new file mode 100644 index 0000000000..c66b4c4e44 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Max 0.2 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.08mm Optimal @Elegoo N3Max 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N3Max 0.2 nozzle", + "layer_height": "0.08", + "settings_id": "PEN3Max02008", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Plus 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Plus 0.2 nozzle.json new file mode 100644 index 0000000000..5d59fd9257 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Plus 0.2 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.08mm Optimal @Elegoo N3Plus 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N3Plus 0.2 nozzle", + "layer_height": "0.08", + "settings_id": "PEN3Plus02008", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Pro 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Pro 0.2 nozzle.json new file mode 100644 index 0000000000..e9ea71a4d2 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.08mm Optimal @Elegoo N3Pro 0.2 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.08mm Optimal @Elegoo N3Pro 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N3Pro 0.2 nozzle", + "layer_height": "0.08", + "settings_id": "PEN3Pro02008", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Max 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Max 0.2 nozzle.json new file mode 100644 index 0000000000..3bc639009c --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Max 0.2 nozzle.json @@ -0,0 +1,31 @@ +{ + "type": "process", + "name": "0.10mm Standard @Elegoo N3Max 0.2 nozzle", + "inherits": "fdm_process_elegoo_02010", + "from": "system", + "setting_id": "PEN3Max02010", + "instantiation": "true", + "filename_format": "EN3Max_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "elefant_foot_compensation": "0.15", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_speed": "30", + "default_acceleration": "700", + "top_surface_acceleration": "700", + "travel_speed": "150", + "compatible_printers": [ + "Elegoo Neptune 3 Max 0.2 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Plus 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Plus 0.2 nozzle.json new file mode 100644 index 0000000000..8acf8caf10 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Plus 0.2 nozzle.json @@ -0,0 +1,31 @@ +{ + "type": "process", + "name": "0.10mm Standard @Elegoo N3Plus 0.2 nozzle", + "inherits": "fdm_process_elegoo_02010", + "from": "system", + "setting_id": "PEN3Plus02010", + "instantiation": "true", + "filename_format": "EN3Plus_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "elefant_foot_compensation": "0.15", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "travel_speed": "200", + "compatible_printers": [ + "Elegoo Neptune 3 Plus 0.2 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Pro 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Pro 0.2 nozzle.json new file mode 100644 index 0000000000..4e5feb1dcb --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.10mm Standard @Elegoo N3Pro 0.2 nozzle.json @@ -0,0 +1,31 @@ +{ + "type": "process", + "name": "0.10mm Standard @Elegoo N3Pro 0.2 nozzle", + "inherits": "fdm_process_elegoo_02010", + "from": "system", + "setting_id": "PEN3Pro02010", + "instantiation": "true", + "filename_format": "EN3Pro_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "elefant_foot_compensation": "0.15", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "travel_speed": "200", + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.2 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Max 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Max 0.2 nozzle.json new file mode 100644 index 0000000000..de0124f296 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Max 0.2 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.12mm Draft @Elegoo N3Max 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N3Max 0.2 nozzle", + "instantiation": "true", + "layer_height": "0.12", + "settings_id": "PEN3Max02012" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Plus 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Plus 0.2 nozzle.json new file mode 100644 index 0000000000..72c9a1c20c --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Plus 0.2 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.12mm Draft @Elegoo N3Plus 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N3Plus 0.2 nozzle", + "layer_height": "0.12", + "instantiation": "true", + "settings_id": "PEN3Plus02012" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Pro 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Pro 0.2 nozzle.json new file mode 100644 index 0000000000..4077d1d790 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Draft @Elegoo N3Pro 0.2 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.12mm Draft @Elegoo N3Pro 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N3Pro 0.2 nozzle", + "layer_height": "0.12", + "instantiation": "true", + "settings_id": "PEN3Pro02012" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Max 0.4 nozzle.json new file mode 100644 index 0000000000..6abd6e7aed --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Max 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", + "name": "0.12mm Fine @Elegoo N3Max 0.4 nozzle", + "layer_height": "0.12", + "instantiation": "true", + "wall_loops": "3", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune3Max;0.12mm Fine @Elegoo Neptune3Max" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Plus 0.4 nozzle.json new file mode 100644 index 0000000000..93eb31aa6d --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Plus 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", + "name": "0.12mm Fine @Elegoo N3Plus 0.4 nozzle", + "layer_height": "0.12", + "instantiation": "true", + "wall_loops": "3", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune3Plus;0.12mm Fine @Elegoo Neptune3Plus" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Pro 0.4 nozzle.json new file mode 100644 index 0000000000..6e413070fe --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo N3Pro 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", + "name": "0.12mm Fine @Elegoo N3Pro 0.4 nozzle", + "layer_height": "0.12", + "wall_loops": "3", + "instantiation": "true", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune3;0.08mm Extra Fine @Elegoo Neptune3Pro;0.12mm Fine @Elegoo Neptune3;0.12mm Fine @Elegoo Neptune3Pro" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Max.json deleted file mode 100644 index e49cac286a..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Max.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune3Max", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Max 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Plus.json deleted file mode 100644 index d7ad6d06fa..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Plus.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune3Plus", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Plus 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Pro.json deleted file mode 100644 index f0b4f67509..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.12mm Fine @Elegoo Neptune3Pro.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune3Pro", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Pro 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Max 0.4 nozzle.json new file mode 100644 index 0000000000..0252596d72 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Max 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", + "name": "0.16mm Optimal @Elegoo N3Max 0.4 nozzle", + "layer_height": "0.16", + "instantiation": "true", + "renamed_from": "0.16mm Optimal @Elegoo Neptune3Max" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Plus 0.4 nozzle.json new file mode 100644 index 0000000000..316dc6932c --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Plus 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", + "name": "0.16mm Optimal @Elegoo N3Plus 0.4 nozzle", + "layer_height": "0.16", + "instantiation": "true", + "renamed_from": "0.16mm Optimal @Elegoo Neptune3Plus" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Pro 0.4 nozzle.json new file mode 100644 index 0000000000..7dcbbd6ff3 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo N3Pro 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", + "name": "0.16mm Optimal @Elegoo N3Pro 0.4 nozzle", + "layer_height": "0.16", + "instantiation": "true", + "renamed_from": "0.16mm Optimal @Elegoo Neptune3;0.16mm Optimal @Elegoo Neptune3Pro" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Max.json deleted file mode 100644 index f9cd203b75..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Max.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune3Max", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Max 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Plus.json deleted file mode 100644 index 730b628be7..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Plus.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune3Plus", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Plus 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Pro.json deleted file mode 100644 index 2a69120839..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.16mm Optimal @Elegoo Neptune3Pro.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune3Pro", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Pro 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Max 0.4 nozzle.json new file mode 100644 index 0000000000..c6110a312b --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Max 0.4 nozzle.json @@ -0,0 +1,31 @@ +{ + "type": "process", + "setting_id": "PEN3Max04020", + "name": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_elegoo_04020", + "instantiation": "true", + "filename_format": "EN3Max_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_speed": "30", + "default_acceleration": "700", + "top_surface_acceleration": "700", + "travel_speed": "150", + "compatible_printers": [ + "Elegoo Neptune 3 Max 0.4 nozzle" + ], + "renamed_from": "0.20mm Standard @Elegoo Neptune3Max" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Plus 0.4 nozzle.json new file mode 100644 index 0000000000..9d92db7eb6 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Plus 0.4 nozzle.json @@ -0,0 +1,31 @@ +{ + "type": "process", + "setting_id": "PEN3Plus04020", + "name": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_elegoo_04020", + "instantiation": "true", + "filename_format": "EN3Plus_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "travel_speed": "200", + "compatible_printers": [ + "Elegoo Neptune 3 Plus 0.4 nozzle" + ], + "renamed_from": "0.20mm Standard @Elegoo Neptune3Plus" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Pro 0.4 nozzle.json new file mode 100644 index 0000000000..0140bc5070 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo N3Pro 0.4 nozzle.json @@ -0,0 +1,31 @@ +{ + "type": "process", + "setting_id": "PEN3Pro04020", + "name": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_elegoo_04020", + "instantiation": "true", + "filename_format": "EN3Pro_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "travel_speed": "200", + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.4 nozzle" + ], + "renamed_from": "0.20mm Standard @Elegoo Neptune3;0.20mm Standard @Elegoo Neptune3Pro" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Max.json deleted file mode 100644 index 5d96e2601c..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Max.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune3Max", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Max 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Plus.json deleted file mode 100644 index f72c90339a..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Plus.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune3Plus", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Plus 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Pro.json deleted file mode 100644 index a8c85302ab..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Standard @Elegoo Neptune3Pro.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune3Pro", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Pro 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Max 0.4 nozzle.json new file mode 100644 index 0000000000..f869f050a9 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Max 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", + "name": "0.20mm Strength @Elegoo N3Max 0.4 nozzle", + "wall_sequence": "inner-outer-inner wall", + "reduce_crossing_wall": "1", + "wall_loops": "6", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Plus 0.4 nozzle.json new file mode 100644 index 0000000000..543069d490 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Plus 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", + "name": "0.20mm Strength @Elegoo N3Plus 0.4 nozzle", + "wall_sequence": "inner-outer-inner wall", + "reduce_crossing_wall": "1", + "wall_loops": "6", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Pro 0.4 nozzle.json new file mode 100644 index 0000000000..877f99a280 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.20mm Strength @Elegoo N3Pro 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", + "name": "0.20mm Strength @Elegoo N3Pro 0.4 nozzle", + "wall_sequence": "inner-outer-inner wall", + "reduce_crossing_wall": "1", + "wall_loops": "6", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Max 0.4 nozzle.json new file mode 100644 index 0000000000..6b7a7c3881 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Max 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", + "name": "0.24mm Draft @Elegoo N3Max 0.4 nozzle", + "layer_height": "0.24", + "instantiation": "true", + "renamed_from": "0.24mm Draft @Elegoo Neptune3Max" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Plus 0.4 nozzle.json new file mode 100644 index 0000000000..613539c88b --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Plus 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", + "name": "0.24mm Draft @Elegoo N3Plus 0.4 nozzle", + "layer_height": "0.24", + "instantiation": "true", + "renamed_from": "0.24mm Draft @Elegoo Neptune3Plus" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Pro 0.4 nozzle.json new file mode 100644 index 0000000000..f4c5a3a6d3 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo N3Pro 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", + "name": "0.24mm Draft @Elegoo N3Pro 0.4 nozzle", + "layer_height": "0.24", + "instantiation": "true", + "renamed_from": "0.24mm Draft @Elegoo Neptune3;0.24mm Draft @Elegoo Neptune3Pro" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Max.json deleted file mode 100644 index 5db93a7520..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Max.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune3Max", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Max 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Plus.json deleted file mode 100644 index dd34869939..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Plus.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune3Plus", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Plus 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Pro.json deleted file mode 100644 index f437643298..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Draft @Elegoo Neptune3Pro.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune3Pro", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Pro 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Max 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Max 0.8 nozzle.json new file mode 100644 index 0000000000..7d64bfbe5f --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Max 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.24mm Fine @Elegoo N3Max 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N3Max 0.8 nozzle", + "layer_height": "0.24", + "settings_id": "PEN3Max08024", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Plus 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Plus 0.8 nozzle.json new file mode 100644 index 0000000000..b5f15fefe2 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Plus 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.24mm Fine @Elegoo N3Plus 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N3Plus 0.8 nozzle", + "layer_height": "0.24", + "settings_id": "PEN3Plus08024", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Pro 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Pro 0.8 nozzle.json new file mode 100644 index 0000000000..d71a581533 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Fine @Elegoo N3Pro 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.24mm Fine @Elegoo N3Pro 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N3Pro 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "settings_id": "PEN3Pro08024" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Max 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Max 0.6 nozzle.json new file mode 100644 index 0000000000..82e9b86953 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Max 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.24mm Optimal @Elegoo N3Max 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N3Max 0.6 nozzle", + "layer_height": "0.24", + "settings_id": "PEN3Max06024", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Plus 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Plus 0.6 nozzle.json new file mode 100644 index 0000000000..91764eee75 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Plus 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.24mm Optimal @Elegoo N3Plus 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N3Plus 0.6 nozzle", + "layer_height": "0.24", + "settings_id": "PEN3Plus06024", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Pro 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Pro 0.6 nozzle.json new file mode 100644 index 0000000000..8e437c84b7 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.24mm Optimal @Elegoo N3Pro 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.24mm Optimal @Elegoo N3Pro 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N3Pro 0.6 nozzle", + "layer_height": "0.24", + "settings_id": "PEN3Pro06024", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle.json new file mode 100644 index 0000000000..1f32538a9f --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", + "name": "0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle", + "layer_height": "0.28", + "instantiation": "true", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune3Max" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle.json new file mode 100644 index 0000000000..1dcf6c15b0 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", + "name": "0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle", + "layer_height": "0.28", + "instantiation": "true", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune3Plus" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle.json new file mode 100644 index 0000000000..09762e3060 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", + "name": "0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle", + "layer_height": "0.28", + "instantiation": "true", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune3;0.28mm Extra Draft @Elegoo Neptune3Pro" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Max.json deleted file mode 100644 index ae1ef4dd58..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Max.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune3Max", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Max 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Plus.json deleted file mode 100644 index 6f3f54f8f2..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Plus.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune3Plus", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Plus 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Pro.json deleted file mode 100644 index 7680188d07..0000000000 --- a/resources/profiles/Elegoo/process/EN3SERIES/0.28mm Extra Draft @Elegoo Neptune3Pro.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune3Pro", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", - "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 3 Pro 0.4 nozzle" - ] -} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Max 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Max 1.0 nozzle.json new file mode 100644 index 0000000000..05baa094b9 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Max 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.30mm Fine @Elegoo N3Max 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", + "layer_height": "0.3", + "settings_id": "PEN3Max10030", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Plus 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Plus 1.0 nozzle.json new file mode 100644 index 0000000000..1909af5d29 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Plus 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.30mm Fine @Elegoo N3Plus 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N3Plus 1.0 nozzle", + "layer_height": "0.3", + "settings_id": "PEN3Plus10030", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Pro 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Pro 1.0 nozzle.json new file mode 100644 index 0000000000..7b07fc4756 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Fine @Elegoo N3Pro 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.30mm Fine @Elegoo N3Pro 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N3Pro 1.0 nozzle", + "layer_height": "0.3", + "settings_id": "PEN3Pro10030", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Max 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Max 0.6 nozzle.json new file mode 100644 index 0000000000..c2db84bf68 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Max 0.6 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "process", + "name": "0.30mm Standard @Elegoo N3Max 0.6 nozzle", + "inherits": "fdm_process_elegoo_06030", + "from": "system", + "setting_id": "PEN3Max06030", + "instantiation": "true", + "filename_format": "EN3Max_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_speed": "30", + "default_acceleration": "700", + "top_surface_acceleration": "700", + "travel_speed": "150", + "compatible_printers": [ + "Elegoo Neptune 3 Max 0.6 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Plus 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Plus 0.6 nozzle.json new file mode 100644 index 0000000000..efc781e54b --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Plus 0.6 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "process", + "name": "0.30mm Standard @Elegoo N3Plus 0.6 nozzle", + "inherits": "fdm_process_elegoo_06030", + "from": "system", + "setting_id": "PEN3Plus06030", + "instantiation": "true", + "filename_format": "EN3Plus_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "travel_speed": "200", + "compatible_printers": [ + "Elegoo Neptune 3 Plus 0.6 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Pro 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Pro 0.6 nozzle.json new file mode 100644 index 0000000000..8ad5630d5f --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.30mm Standard @Elegoo N3Pro 0.6 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "process", + "name": "0.30mm Standard @Elegoo N3Pro 0.6 nozzle", + "inherits": "fdm_process_elegoo_06030", + "from": "system", + "setting_id": "PEN3Pro06030", + "instantiation": "true", + "filename_format": "EN3Pro_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "travel_speed": "200", + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.6 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Max 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Max 0.8 nozzle.json new file mode 100644 index 0000000000..2726be4265 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Max 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.32mm Optimal @Elegoo N3Max 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N3Max 0.8 nozzle", + "layer_height": "0.32", + "settings_id": "PEN3Max08032", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Plus 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Plus 0.8 nozzle.json new file mode 100644 index 0000000000..f1ac290c8d --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Plus 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.32mm Optimal @Elegoo N3Plus 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N3Plus 0.8 nozzle", + "layer_height": "0.32", + "settings_id": "PEN3Plus08032", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Pro 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Pro 0.8 nozzle.json new file mode 100644 index 0000000000..f3ebff1467 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.32mm Optimal @Elegoo N3Pro 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.32mm Optimal @Elegoo N3Pro 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N3Pro 0.8 nozzle", + "layer_height": "0.32", + "settings_id": "PEN3Pro08032", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Max 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Max 0.6 nozzle.json new file mode 100644 index 0000000000..032c50a984 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Max 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.36mm Draft @Elegoo N3Max 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N3Max 0.6 nozzle", + "layer_height": "0.36", + "settings_id": "PEN3Max06036", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Plus 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Plus 0.6 nozzle.json new file mode 100644 index 0000000000..f120c0d5d1 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Plus 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.36mm Draft @Elegoo N3Plus 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N3Plus 0.6 nozzle", + "layer_height": "0.36", + "settings_id": "PEN3Plus06036", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Pro 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Pro 0.6 nozzle.json new file mode 100644 index 0000000000..e39646456f --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.36mm Draft @Elegoo N3Pro 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.36mm Draft @Elegoo N3Pro 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N3Pro 0.6 nozzle", + "layer_height": "0.36", + "settings_id": "PEN3Pro06036", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Max 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Max 1.0 nozzle.json new file mode 100644 index 0000000000..5fb6a64239 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Max 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.40mm Optimal @Elegoo N3Max 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", + "layer_height": "0.4", + "settings_id": "PEN3Max10040", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Plus 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Plus 1.0 nozzle.json new file mode 100644 index 0000000000..8fa84c2659 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Plus 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.40mm Optimal @Elegoo N3Plus 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N3Plus 1.0 nozzle", + "layer_height": "0.4", + "settings_id": "PEN3Plus10040", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Pro 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Pro 1.0 nozzle.json new file mode 100644 index 0000000000..f4f205ca06 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Optimal @Elegoo N3Pro 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.40mm Optimal @Elegoo N3Pro 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N3Pro 1.0 nozzle", + "layer_height": "0.4", + "settings_id": "PEN3Pro10040", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Max 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Max 0.8 nozzle.json new file mode 100644 index 0000000000..c2004e9d83 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Max 0.8 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "process", + "name": "0.40mm Standard @Elegoo N3Max 0.8 nozzle", + "inherits": "fdm_process_elegoo_08040", + "from": "system", + "setting_id": "PEN3Max08040", + "instantiation": "true", + "filename_format": "EN3Max_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_speed": "30", + "default_acceleration": "700", + "top_surface_acceleration": "700", + "travel_speed": "150", + "compatible_printers": [ + "Elegoo Neptune 3 Max 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Plus 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Plus 0.8 nozzle.json new file mode 100644 index 0000000000..9b919d09a6 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Plus 0.8 nozzle.json @@ -0,0 +1,29 @@ +{ + "type": "process", + "name": "0.40mm Standard @Elegoo N3Plus 0.8 nozzle", + "inherits": "fdm_process_elegoo_08040", + "from": "system", + "setting_id": "PEN3Plus08040", + "instantiation": "true", + "filename_format": "EN3Plus_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "compatible_printers": [ + "Elegoo Neptune 3 Plus 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Pro 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Pro 0.8 nozzle.json new file mode 100644 index 0000000000..3d91eaa5d7 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.40mm Standard @Elegoo N3Pro 0.8 nozzle.json @@ -0,0 +1,29 @@ +{ + "type": "process", + "name": "0.40mm Standard @Elegoo N3Pro 0.8 nozzle", + "inherits": "fdm_process_elegoo_08040", + "from": "system", + "setting_id": "PEN3Pro08040", + "instantiation": "true", + "filename_format": "EN3Pro_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "compatible_printers": [ + "Elegoo Neptune 3 Pro 0.8 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle.json new file mode 100644 index 0000000000..81870c3375 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N3Max 0.6 nozzle", + "layer_height": "0.42", + "settings_id": "PEN3Max06042", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle.json new file mode 100644 index 0000000000..8ea5cec54a --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N3Plus 0.6 nozzle", + "layer_height": "0.42", + "settings_id": "PEN3Plus06042", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle.json new file mode 100644 index 0000000000..d7ba07bc1a --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N3Pro 0.6 nozzle", + "layer_height": "0.42", + "settings_id": "PEN3Pro06042", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Max 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Max 0.8 nozzle.json new file mode 100644 index 0000000000..d571b95a99 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Max 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.48mm Draft @Elegoo N3Max 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N3Max 0.8 nozzle", + "layer_height": "0.48", + "settings_id": "PEN3Max08048", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Plus 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Plus 0.8 nozzle.json new file mode 100644 index 0000000000..39032c8804 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Plus 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.48mm Draft @Elegoo N3Plus 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N3Plus 0.8 nozzle", + "layer_height": "0.48", + "settings_id": "PEN3Plus08048", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Pro 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Pro 0.8 nozzle.json new file mode 100644 index 0000000000..ff7d45f366 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.48mm Draft @Elegoo N3Pro 0.8 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.48mm Draft @Elegoo N3Pro 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N3Pro 0.8 nozzle", + "layer_height": "0.48", + "settings_id": "PEN3Pro08048", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Max 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Max 1.0 nozzle.json new file mode 100644 index 0000000000..922578180e --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Max 1.0 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "process", + "name": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", + "inherits": "fdm_process_elegoo_10050", + "from": "system", + "setting_id": "PEN3Max10050", + "instantiation": "true", + "filename_format": "EN3Max_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_speed": "30", + "default_acceleration": "700", + "top_surface_acceleration": "700", + "travel_speed": "150", + "compatible_printers": [ + "Elegoo Neptune 3 Max 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Plus 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Plus 1.0 nozzle.json new file mode 100644 index 0000000000..f5fd1c1927 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Plus 1.0 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "process", + "name": "0.50mm Standard @Elegoo N3Plus 1.0 nozzle", + "inherits": "fdm_process_elegoo_10050", + "from": "system", + "setting_id": "PEN3Plus10050", + "instantiation": "true", + "filename_format": "EN3Plus_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "travel_speed": "200", + "compatible_printers": [ + "Elegoo Neptune 3 Plus 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Pro 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Pro 1.0 nozzle.json new file mode 100644 index 0000000000..7e296aa724 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.50mm Standard @Elegoo N3Pro 1.0 nozzle.json @@ -0,0 +1,30 @@ +{ + "type": "process", + "name": "0.50mm Standard @Elegoo N3Pro 1.0 nozzle", + "inherits": "fdm_process_elegoo_10050", + "from": "system", + "setting_id": "PEN3Pro10050", + "instantiation": "true", + "filename_format": "EN3Pro_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "1000", + "gap_infill_speed": "30", + "initial_layer_infill_speed": "50", + "initial_layer_speed": "30", + "inner_wall_speed": "60", + "internal_bridge_speed": "100%", + "internal_solid_infill_speed": "60", + "outer_wall_acceleration": "500", + "outer_wall_speed": "30", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "skirt_speed": "30", + "sparse_infill_speed": "60", + "support_interface_speed": "30", + "support_speed": "60", + "top_surface_acceleration": "1000", + "top_surface_speed": "30", + "travel_speed": "200", + "compatible_printers": [ + "Elegoo Neptune 3 Pro 1.0 nozzle" + ] +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Max 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Max 1.0 nozzle.json new file mode 100644 index 0000000000..829278f87c --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Max 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.60mm Draft @Elegoo N3Max 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", + "layer_height": "0.6", + "settings_id": "PEN3Max10060", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Plus 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Plus 1.0 nozzle.json new file mode 100644 index 0000000000..1b7d57401a --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Plus 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.60mm Draft @Elegoo N3Plus 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N3Plus 1.0 nozzle", + "layer_height": "0.6", + "settings_id": "PEN3Plus10060", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Pro 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Pro 1.0 nozzle.json new file mode 100644 index 0000000000..9fb7fd2514 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN3SERIES/0.60mm Draft @Elegoo N3Pro 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.60mm Draft @Elegoo N3Pro 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N3Pro 1.0 nozzle", + "layer_height": "0.6", + "settings_id": "PEN3Pro10060", + "instantiation": "true" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle).json deleted file mode 100644 index 03ef802c30..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle).json deleted file mode 100644 index 9f51a415b8..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle).json deleted file mode 100644 index d59e81f026..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle).json deleted file mode 100644 index c587b3b314..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.2 nozzle).json deleted file mode 100644 index 5ca5771007..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.2 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "bottom_shell_layers": "9", - "outer_wall_line_width": "0.2", - "line_width": "0.2", - "initial_layer_line_width": "0.22", - "sparse_infill_line_width": "0.25", - "inner_wall_line_width": "0.25", - "internal_solid_infill_line_width": "0.25", - "resolution": "0.012", - "support_top_z_distance": "0.08", - "support_line_width": "0.2", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.2", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.4 nozzle).json deleted file mode 100644 index a781126edc..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.4 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "bottom_shell_layers": "9", - "outer_wall_line_width": "0.4", - "line_width": "0.4", - "initial_layer_line_width": "0.42", - "sparse_infill_line_width": "0.45", - "inner_wall_line_width": "0.45", - "internal_solid_infill_line_width": "0.45", - "resolution": "0.012", - "support_top_z_distance": "0.08", - "support_line_width": "0.38", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.6 nozzle).json deleted file mode 100644 index cfb478c246..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.6 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "bottom_shell_layers": "9", - "outer_wall_line_width": "0.6", - "line_width": "0.6", - "initial_layer_line_width": "0.62", - "sparse_infill_line_width": "0.65", - "inner_wall_line_width": "0.65", - "internal_solid_infill_line_width": "0.65", - "resolution": "0.012", - "support_top_z_distance": "0.08", - "support_line_width": "0.55", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.56", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.8 nozzle).json deleted file mode 100644 index 37d50fe1dd..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4 Plus (0.8 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "bottom_shell_layers": "9", - "outer_wall_line_width": "0.8", - "line_width": "0.8", - "initial_layer_line_width": "0.82", - "sparse_infill_line_width": "0.85", - "inner_wall_line_width": "0.85", - "internal_solid_infill_line_width": "0.85", - "resolution": "0.012", - "support_top_z_distance": "0.08", - "support_line_width": "0.78", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.78", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle).json deleted file mode 100644 index 717d9bd08b..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle).json deleted file mode 100644 index 395309579f..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle).json deleted file mode 100644 index 117d5f1f6d..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle).json deleted file mode 100644 index 12a7beca10..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle).json deleted file mode 100644 index 291c5e8521..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle).json deleted file mode 100644 index e1e831dd9b..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle).json deleted file mode 100644 index 5fa3c5dad2..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle).json deleted file mode 100644 index 4c3534a157..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4 0.2 nozzle.json new file mode 100644 index 0000000000..d39591c28b --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4 0.2 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.08mm Optimal @Elegoo N4 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N4 0.2 nozzle", + "instantiation": "true", + "layer_height": "0.08", + "settings_id": "PEN402008", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle);0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Max 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Max 0.2 nozzle.json new file mode 100644 index 0000000000..162f7d7ad5 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Max 0.2 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.08mm Optimal @Elegoo N4Max 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N4Max 0.2 nozzle", + "instantiation": "true", + "layer_height": "0.08", + "settings_id": "PEN4Max02008", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle);0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Plus 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Plus 0.2 nozzle.json new file mode 100644 index 0000000000..faf500f940 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Plus 0.2 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.08mm Optimal @Elegoo N4Plus 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N4Plus 0.2 nozzle", + "instantiation": "true", + "layer_height": "0.08", + "settings_id": "PEN4Plus02008", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.2 nozzle);0.16mm Optimal @Elegoo Neptune4 Plus (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Pro 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Pro 0.2 nozzle.json new file mode 100644 index 0000000000..d13921c5fd --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.08mm Optimal @Elegoo N4Pro 0.2 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.08mm Optimal @Elegoo N4Pro 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N4Pro 0.2 nozzle", + "instantiation": "true", + "layer_height": "0.08", + "settings_id": "PEN4Pro02008", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle);0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4 0.2 nozzle.json new file mode 100644 index 0000000000..723b1211a2 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4 0.2 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "name": "0.10mm Standard @Elegoo N4 0.2 nozzle", + "inherits": "fdm_process_elegoo_02010", + "from": "system", + "setting_id": "PEN402010", + "instantiation": "true", + "filename_format": "EN4_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "elefant_foot_compensation": "0.15", + "compatible_printers": [ + "Elegoo Neptune 4 0.2 nozzle" + ], + "default_acceleration": "6000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "5000", + "renamed_from": "0.20mm Standard @Elegoo Neptune4 (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Max 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Max 0.2 nozzle.json new file mode 100644 index 0000000000..34c1eee4c5 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Max 0.2 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "name": "0.10mm Standard @Elegoo N4Max 0.2 nozzle", + "inherits": "fdm_process_elegoo_02010", + "from": "system", + "setting_id": "PEN4Max02010", + "instantiation": "true", + "filename_format": "EN4Max_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "elefant_foot_compensation": "0.15", + "compatible_printers": [ + "Elegoo Neptune 4 Max 0.2 nozzle" + ], + "default_acceleration": "3000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "1500", + "renamed_from": "0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Plus 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Plus 0.2 nozzle.json new file mode 100644 index 0000000000..49a0a1799b --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Plus 0.2 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "name": "0.10mm Standard @Elegoo N4Plus 0.2 nozzle", + "inherits": "fdm_process_elegoo_02010", + "from": "system", + "setting_id": "PEN4Plus02010", + "instantiation": "true", + "filename_format": "EN4Plus_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "elefant_foot_compensation": "0.15", + "compatible_printers": [ + "Elegoo Neptune 4 Plus 0.2 nozzle" + ], + "default_acceleration": "5000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "2500", + "renamed_from": "0.20mm Standard @Elegoo Neptune4 Plus (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Pro 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Pro 0.2 nozzle.json new file mode 100644 index 0000000000..d0bc173974 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.10mm Standard @Elegoo N4Pro 0.2 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "name": "0.10mm Standard @Elegoo N4Pro 0.2 nozzle", + "inherits": "fdm_process_elegoo_02010", + "from": "system", + "setting_id": "PEN4Pro02010", + "instantiation": "true", + "filename_format": "EN4Pro_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "elefant_foot_compensation": "0.15", + "compatible_printers": [ + "Elegoo Neptune 4 Pro 0.2 nozzle" + ], + "default_acceleration": "6000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "5000", + "renamed_from": "0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4 0.2 nozzle.json new file mode 100644 index 0000000000..9237988887 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4 0.2 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.12mm Draft @Elegoo N4 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N4 0.2 nozzle", + "instantiation": "true", + "layer_height": "0.12", + "settings_id": "PEN402012", + "renamed_from": "0.12mm Fine @Elegoo Neptune4 (0.2 nozzle);0.24mm Draft @Elegoo Neptune4 (0.2 nozzle);0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Max 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Max 0.2 nozzle.json new file mode 100644 index 0000000000..b9ff0b2ffb --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Max 0.2 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.12mm Draft @Elegoo N4Max 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N4Max 0.2 nozzle", + "instantiation": "true", + "layer_height": "0.12", + "settings_id": "PEN4Max02012", + "renamed_from": "0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle);0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle);0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Plus 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Plus 0.2 nozzle.json new file mode 100644 index 0000000000..cc0ee5a420 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Plus 0.2 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.12mm Draft @Elegoo N4Plus 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N4Plus 0.2 nozzle", + "instantiation": "true", + "layer_height": "0.12", + "settings_id": "PEN4Plus02012", + "renamed_from": "0.12mm Fine @Elegoo Neptune4 Plus (0.2 nozzle);0.24mm Draft @Elegoo Neptune4 Plus (0.2 nozzle);0.28mm Extra Draft @Elegoo Neptune4 Plus (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json new file mode 100644 index 0000000000..62fdc845ce --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.12mm Draft @Elegoo N4Pro 0.2 nozzle", + "inherits": "0.10mm Standard @Elegoo N4Pro 0.2 nozzle", + "instantiation": "true", + "layer_height": "0.12", + "settings_id": "PEN4Pro02012", + "renamed_from": "0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle);0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle);0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4 0.4 nozzle.json new file mode 100644 index 0000000000..c168a6c718 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4 0.4 nozzle", + "instantiation": "true", + "name": "0.12mm Fine @Elegoo N4 0.4 nozzle", + "layer_height": "0.12", + "wall_loops": "3", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle);0.12mm Fine @Elegoo Neptune4 (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Max 0.4 nozzle.json new file mode 100644 index 0000000000..03a2ef9603 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Max 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", + "instantiation": "true", + "name": "0.12mm Fine @Elegoo N4Max 0.4 nozzle", + "layer_height": "0.12", + "wall_loops": "3", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle);0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Plus 0.4 nozzle.json new file mode 100644 index 0000000000..2aacf1e4b6 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Plus 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", + "instantiation": "true", + "name": "0.12mm Fine @Elegoo N4Plus 0.4 nozzle", + "layer_height": "0.12", + "wall_loops": "3", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.4 nozzle);0.12mm Fine @Elegoo Neptune4 Plus (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Pro 0.4 nozzle.json new file mode 100644 index 0000000000..b36898acde --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo N4Pro 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", + "instantiation": "true", + "name": "0.12mm Fine @Elegoo N4Pro 0.4 nozzle", + "layer_height": "0.12", + "wall_loops": "3", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle);0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.2 nozzle).json deleted file mode 100644 index 4ed29ce978..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4 (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.4 nozzle).json deleted file mode 100644 index c1c5c5aeed..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4 (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.6 nozzle).json deleted file mode 100644 index bf610f5734..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4 (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.8 nozzle).json deleted file mode 100644 index 80e2197149..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4 (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.2 nozzle).json deleted file mode 100644 index c8697db4f2..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.2 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4 Plus (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "bottom_shell_layers": "6", - "outer_wall_line_width": "0.2", - "line_width": "0.2", - "initial_layer_line_width": "0.22", - "sparse_infill_line_width": "0.25", - "inner_wall_line_width": "0.25", - "internal_solid_infill_line_width": "0.25", - "resolution": "0.012", - "support_top_z_distance": "0.12", - "support_line_width": "0.2", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.2", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.4 nozzle).json deleted file mode 100644 index 7f866bb85f..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.4 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4 Plus (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "bottom_shell_layers": "6", - "outer_wall_line_width": "0.4", - "line_width": "0.4", - "initial_layer_line_width": "0.42", - "sparse_infill_line_width": "0.45", - "inner_wall_line_width": "0.45", - "internal_solid_infill_line_width": "0.45", - "resolution": "0.012", - "support_top_z_distance": "0.12", - "support_line_width": "0.38", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.6 nozzle).json deleted file mode 100644 index 95b1c254ec..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.6 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4 Plus (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "bottom_shell_layers": "6", - "outer_wall_line_width": "0.6", - "line_width": "0.6", - "initial_layer_line_width": "0.62", - "sparse_infill_line_width": "0.65", - "inner_wall_line_width": "0.65", - "internal_solid_infill_line_width": "0.65", - "resolution": "0.012", - "support_top_z_distance": "0.12", - "support_line_width": "0.55", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.56", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.8 nozzle).json deleted file mode 100644 index d8c143f4cc..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4 Plus (0.8 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4 Plus (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "bottom_shell_layers": "6", - "outer_wall_line_width": "0.8", - "line_width": "0.8", - "initial_layer_line_width": "0.82", - "sparse_infill_line_width": "0.85", - "inner_wall_line_width": "0.85", - "internal_solid_infill_line_width": "0.85", - "resolution": "0.012", - "support_top_z_distance": "0.12", - "support_line_width": "0.78", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.78", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle).json deleted file mode 100644 index f19dcdf79b..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle).json deleted file mode 100644 index d38b3adfe6..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle).json deleted file mode 100644 index f6388f5fc3..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle).json deleted file mode 100644 index 56e3aafd63..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle).json deleted file mode 100644 index d1dbb79ad3..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle).json deleted file mode 100644 index 65f8fb7b6e..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle).json deleted file mode 100644 index aa50eb1916..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle).json deleted file mode 100644 index 14acf54c29..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.12", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "6", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.12", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "7", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4 0.4 nozzle.json new file mode 100644 index 0000000000..953a158055 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4 0.4 nozzle", + "instantiation": "true", + "name": "0.16mm Optimal @Elegoo N4 0.4 nozzle", + "layer_height": "0.16", + "renamed_from": "0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Max 0.4 nozzle.json new file mode 100644 index 0000000000..5ea2ecf9ac --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Max 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", + "instantiation": "true", + "name": "0.16mm Optimal @Elegoo N4Max 0.4 nozzle", + "layer_height": "0.16", + "renamed_from": "0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Plus 0.4 nozzle.json new file mode 100644 index 0000000000..9f61440b65 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Plus 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", + "instantiation": "true", + "name": "0.16mm Optimal @Elegoo N4Plus 0.4 nozzle", + "layer_height": "0.16", + "renamed_from": "0.16mm Optimal @Elegoo Neptune4 Plus (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Pro 0.4 nozzle.json new file mode 100644 index 0000000000..f4b2268525 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo N4Pro 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", + "instantiation": "true", + "name": "0.16mm Optimal @Elegoo N4Pro 0.4 nozzle", + "layer_height": "0.16", + "renamed_from": "0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle).json deleted file mode 100644 index e1bbc0badc..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle).json deleted file mode 100644 index 514e67964e..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle).json deleted file mode 100644 index ad600a0479..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle).json deleted file mode 100644 index 95c8b11acc..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.2 nozzle).json deleted file mode 100644 index 3f7187e415..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.2 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4 Plus (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "bottom_shell_layers": "4", - "outer_wall_line_width": "0.2", - "line_width": "0.2", - "initial_layer_line_width": "0.22", - "sparse_infill_line_width": "0.25", - "inner_wall_line_width": "0.25", - "internal_solid_infill_line_width": "0.25", - "resolution": "0.012", - "support_top_z_distance": "0.16", - "support_line_width": "0.2", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.2", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.4 nozzle).json deleted file mode 100644 index eba1d9e1cc..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.4 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4 Plus (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "bottom_shell_layers": "4", - "outer_wall_line_width": "0.4", - "line_width": "0.4", - "initial_layer_line_width": "0.42", - "sparse_infill_line_width": "0.45", - "inner_wall_line_width": "0.45", - "internal_solid_infill_line_width": "0.45", - "resolution": "0.012", - "support_top_z_distance": "0.16", - "support_line_width": "0.38", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.6 nozzle).json deleted file mode 100644 index bc3839e5a2..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.6 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4 Plus (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "bottom_shell_layers": "4", - "outer_wall_line_width": "0.6", - "line_width": "0.6", - "initial_layer_line_width": "0.62", - "sparse_infill_line_width": "0.65", - "inner_wall_line_width": "0.65", - "internal_solid_infill_line_width": "0.65", - "resolution": "0.012", - "support_top_z_distance": "0.16", - "support_line_width": "0.55", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.56", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.8 nozzle).json deleted file mode 100644 index 9547fbe1b4..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4 Plus (0.8 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4 Plus (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "bottom_shell_layers": "4", - "outer_wall_line_width": "0.8", - "line_width": "0.8", - "initial_layer_line_width": "0.82", - "sparse_infill_line_width": "0.85", - "inner_wall_line_width": "0.85", - "internal_solid_infill_line_width": "0.85", - "resolution": "0.012", - "support_top_z_distance": "0.16", - "support_line_width": "0.78", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.78", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle).json deleted file mode 100644 index e8b7754111..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle).json deleted file mode 100644 index 0bcb92caa1..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle).json deleted file mode 100644 index 847460cd12..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle).json deleted file mode 100644 index 8538973ef2..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle).json deleted file mode 100644 index 3e9c07350e..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle).json deleted file mode 100644 index 2788327580..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle).json deleted file mode 100644 index 5cdd31bc28..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle).json deleted file mode 100644 index 40fa72a01f..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.16", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "4", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.16", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "5", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4 0.4 nozzle.json new file mode 100644 index 0000000000..7fa5fc41d1 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4 0.4 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "setting_id": "PEN404020", + "name": "0.20mm Standard @Elegoo N4 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_elegoo_04020", + "instantiation": "true", + "filename_format": "EN4_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "6000", + "outer_wall_acceleration": "5000", + "top_surface_acceleration": "2000", + "min_width_top_surface": "50%", + "compatible_printers": [ + "Elegoo Neptune 4 0.4 nozzle" + ], + "renamed_from": "0.20mm Standard @Elegoo Neptune4 (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Max 0.4 nozzle.json new file mode 100644 index 0000000000..5c10b66ed1 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Max 0.4 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "setting_id": "PEN4Max04020", + "name": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_elegoo_04020", + "instantiation": "true", + "filename_format": "EN4Max_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "3000", + "outer_wall_acceleration": "1500", + "top_surface_acceleration": "2000", + "min_width_top_surface": "50%", + "compatible_printers": [ + "Elegoo Neptune 4 Max 0.4 nozzle" + ], + "renamed_from": "0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Plus 0.4 nozzle.json new file mode 100644 index 0000000000..65048a36e7 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Plus 0.4 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "setting_id": "PEN4Plus04020", + "name": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_elegoo_04020", + "instantiation": "true", + "filename_format": "EN4Plus_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "5000", + "outer_wall_acceleration": "2500", + "top_surface_acceleration": "2000", + "min_width_top_surface": "50%", + "compatible_printers": [ + "Elegoo Neptune 4 Plus 0.4 nozzle" + ], + "renamed_from": "0.20mm Standard @Elegoo Neptune4 Plus (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Pro 0.4 nozzle.json new file mode 100644 index 0000000000..f08d2190df --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo N4Pro 0.4 nozzle.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "setting_id": "PEN4Pro04020", + "name": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", + "from": "system", + "inherits": "fdm_process_elegoo_04020", + "instantiation": "true", + "filename_format": "EN4Pro_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "default_acceleration": "6000", + "outer_wall_acceleration": "5000", + "top_surface_acceleration": "2000", + "min_width_top_surface": "50%", + "compatible_printers": [ + "Elegoo Neptune 4 Pro 0.4 nozzle" + ], + "renamed_from": "0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.2 nozzle).json deleted file mode 100644 index d34b6f02be..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4 (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.4 nozzle).json deleted file mode 100644 index 32d88812c5..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4 (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.6 nozzle).json deleted file mode 100644 index 511f088559..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4 (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.8 nozzle).json deleted file mode 100644 index 0346ea2462..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4 (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.2 nozzle).json deleted file mode 100644 index 6c7f3ef4f1..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.2 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4 Plus (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.2", - "line_width": "0.2", - "initial_layer_line_width": "0.22", - "sparse_infill_line_width": "0.25", - "inner_wall_line_width": "0.25", - "internal_solid_infill_line_width": "0.25", - "resolution": "0.012", - "support_top_z_distance": "0.2", - "support_line_width": "0.2", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.2", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.4 nozzle).json deleted file mode 100644 index 20b4b8c31f..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.4 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4 Plus (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.4", - "line_width": "0.4", - "initial_layer_line_width": "0.42", - "sparse_infill_line_width": "0.45", - "inner_wall_line_width": "0.45", - "internal_solid_infill_line_width": "0.45", - "resolution": "0.012", - "support_top_z_distance": "0.2", - "support_line_width": "0.38", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.6 nozzle).json deleted file mode 100644 index 68d3c27a33..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.6 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4 Plus (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.6", - "line_width": "0.6", - "initial_layer_line_width": "0.62", - "sparse_infill_line_width": "0.65", - "inner_wall_line_width": "0.65", - "internal_solid_infill_line_width": "0.65", - "resolution": "0.012", - "support_top_z_distance": "0.2", - "support_line_width": "0.55", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.56", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.8 nozzle).json deleted file mode 100644 index cb2fa36664..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4 Plus (0.8 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4 Plus (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.8", - "line_width": "0.8", - "initial_layer_line_width": "0.82", - "sparse_infill_line_width": "0.85", - "inner_wall_line_width": "0.85", - "internal_solid_infill_line_width": "0.85", - "resolution": "0.012", - "support_top_z_distance": "0.2", - "support_line_width": "0.78", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.78", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle).json deleted file mode 100644 index e3c93a7a7e..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle).json deleted file mode 100644 index cd18e274be..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle).json deleted file mode 100644 index 49760c9288..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle).json deleted file mode 100644 index 3f0dcd6ce7..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle).json deleted file mode 100644 index f83bc0d285..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle).json deleted file mode 100644 index ddfba2b29a..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle).json deleted file mode 100644 index fe6ae1e3be..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.56", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle).json deleted file mode 100644 index 5929811ad0..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.2", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.78", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4 0.4 nozzle.json new file mode 100644 index 0000000000..9d3d467672 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4 0.4 nozzle", + "name": "0.20mm Strength @Elegoo N4 0.4 nozzle", + "wall_sequence": "inner-outer-inner wall", + "instantiation": "true", + "reduce_crossing_wall": "1", + "wall_loops": "6" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Max 0.4 nozzle.json new file mode 100644 index 0000000000..c7eb5a4257 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Max 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", + "name": "0.20mm Strength @Elegoo N4Max 0.4 nozzle", + "wall_sequence": "inner-outer-inner wall", + "instantiation": "true", + "reduce_crossing_wall": "1", + "wall_loops": "6" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Plus 0.4 nozzle.json new file mode 100644 index 0000000000..a946e44bcf --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Plus 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", + "name": "0.20mm Strength @Elegoo N4Plus 0.4 nozzle", + "wall_sequence": "inner-outer-inner wall", + "instantiation": "true", + "reduce_crossing_wall": "1", + "wall_loops": "6" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Pro 0.4 nozzle.json new file mode 100644 index 0000000000..0de850fbc8 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.20mm Strength @Elegoo N4Pro 0.4 nozzle.json @@ -0,0 +1,9 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", + "name": "0.20mm Strength @Elegoo N4Pro 0.4 nozzle", + "wall_sequence": "inner-outer-inner wall", + "instantiation": "true", + "reduce_crossing_wall": "1", + "wall_loops": "6" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4 0.4 nozzle.json new file mode 100644 index 0000000000..a40f510b09 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4 0.4 nozzle", + "name": "0.24mm Draft @Elegoo N4 0.4 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "renamed_from": "0.24mm Draft @Elegoo Neptune4 (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Max 0.4 nozzle.json new file mode 100644 index 0000000000..fabc66714b --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Max 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", + "name": "0.24mm Draft @Elegoo N4Max 0.4 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "renamed_from": "0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Plus 0.4 nozzle.json new file mode 100644 index 0000000000..531775a277 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Plus 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", + "name": "0.24mm Draft @Elegoo N4Plus 0.4 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "renamed_from": "0.24mm Draft @Elegoo Neptune4 Plus (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Pro 0.4 nozzle.json new file mode 100644 index 0000000000..3c31c7c37c --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo N4Pro 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", + "name": "0.24mm Draft @Elegoo N4Pro 0.4 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "renamed_from": "0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.2 nozzle).json deleted file mode 100644 index a84475a6f0..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4 (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.25", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.4 nozzle).json deleted file mode 100644 index 2dd837653d..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4 (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.6 nozzle).json deleted file mode 100644 index 13919f2165..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4 (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.65", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.8 nozzle).json deleted file mode 100644 index 8f0bd6179f..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4 (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.85", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.2 nozzle).json deleted file mode 100644 index 217b26d9e2..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.2 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4 Plus (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.2", - "line_width": "0.2", - "initial_layer_line_width": "0.22", - "sparse_infill_line_width": "0.25", - "inner_wall_line_width": "0.25", - "internal_solid_infill_line_width": "0.25", - "resolution": "0.012", - "support_top_z_distance": "0.24", - "support_line_width": "0.2", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.2", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.4 nozzle).json deleted file mode 100644 index e60a7ecc61..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.4 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4 Plus (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.4", - "line_width": "0.4", - "initial_layer_line_width": "0.42", - "sparse_infill_line_width": "0.45", - "inner_wall_line_width": "0.45", - "internal_solid_infill_line_width": "0.45", - "resolution": "0.012", - "support_top_z_distance": "0.24", - "support_line_width": "0.38", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.6 nozzle).json deleted file mode 100644 index 126081d8b1..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.6 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4 Plus (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.6", - "line_width": "0.6", - "initial_layer_line_width": "0.62", - "sparse_infill_line_width": "0.65", - "inner_wall_line_width": "0.65", - "internal_solid_infill_line_width": "0.65", - "resolution": "0.012", - "support_top_z_distance": "0.24", - "support_line_width": "0.55", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.56", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.8 nozzle).json deleted file mode 100644 index 5f5b327c9f..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4 Plus (0.8 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4 Plus (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.8", - "line_width": "0.8", - "initial_layer_line_width": "0.82", - "sparse_infill_line_width": "0.85", - "inner_wall_line_width": "0.85", - "internal_solid_infill_line_width": "0.85", - "resolution": "0.012", - "support_top_z_distance": "0.24", - "support_line_width": "0.78", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.78", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle).json deleted file mode 100644 index 238d4458de..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.25", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle).json deleted file mode 100644 index 174f2271a1..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle).json deleted file mode 100644 index a9f45f8013..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.65", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle).json deleted file mode 100644 index cd6a793872..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.85", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle).json deleted file mode 100644 index 2dc4537118..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.25", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle).json deleted file mode 100644 index ce017fedb6..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle).json deleted file mode 100644 index b5f5148cde..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.65", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle).json deleted file mode 100644 index b7125f2c2e..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.24", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.24", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.85", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4 0.8 nozzle.json new file mode 100644 index 0000000000..07aafaccc3 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.24mm Fine @Elegoo N4 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "settings_id": "PEN408024", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle);0.12mm Fine @Elegoo Neptune4 (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Max 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Max 0.8 nozzle.json new file mode 100644 index 0000000000..cde306b66f --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Max 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.24mm Fine @Elegoo N4Max 0.8 nozzle", + "instantiation": "true", + "inherits": "0.40mm Standard @Elegoo N4Max 0.8 nozzle", + "layer_height": "0.24", + "settings_id": "PEN4Max08024", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle);0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Plus 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Plus 0.8 nozzle.json new file mode 100644 index 0000000000..1bac053831 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Plus 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.24mm Fine @Elegoo N4Plus 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4Plus 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "settings_id": "PEN4Plus08024", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.8 nozzle);0.12mm Fine @Elegoo Neptune4 Plus (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Pro 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Pro 0.8 nozzle.json new file mode 100644 index 0000000000..7428519417 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Fine @Elegoo N4Pro 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.24mm Fine @Elegoo N4Pro 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4Pro 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "settings_id": "PEN4Pro08024", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle);0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4 0.6 nozzle.json new file mode 100644 index 0000000000..38177c8a6e --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.24mm Optimal @Elegoo N4 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "settings_id": "PEN406024", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle);0.12mm Fine @Elegoo Neptune4 (0.6 nozzle);0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Max 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Max 0.6 nozzle.json new file mode 100644 index 0000000000..d8716bfd67 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Max 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.24mm Optimal @Elegoo N4Max 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4Max 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "settings_id": "PEN4Max06024", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle);0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle);0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Plus 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Plus 0.6 nozzle.json new file mode 100644 index 0000000000..2a18986f22 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Plus 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.24mm Optimal @Elegoo N4Plus 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4Plus 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "settings_id": "PEN4Plus06024", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4 Plus (0.6 nozzle);0.12mm Fine @Elegoo Neptune4 Plus (0.6 nozzle);0.16mm Optimal @Elegoo Neptune4 Plus (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Pro 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Pro 0.6 nozzle.json new file mode 100644 index 0000000000..f926a87f5d --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.24mm Optimal @Elegoo N4Pro 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.24mm Optimal @Elegoo N4Pro 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4Pro 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.24", + "settings_id": "PEN4Pro06024", + "renamed_from": "0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle);0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle);0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4 0.4 nozzle.json new file mode 100644 index 0000000000..272c2369b5 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4 0.4 nozzle", + "name": "0.28mm Extra Draft @Elegoo N4 0.4 nozzle", + "instantiation": "true", + "layer_height": "0.28", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle.json new file mode 100644 index 0000000000..28f860bbc0 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", + "name": "0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle", + "instantiation": "true", + "layer_height": "0.28", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle.json new file mode 100644 index 0000000000..cc6e3a6cc1 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", + "name": "0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle", + "instantiation": "true", + "layer_height": "0.28", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune4 Plus (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle.json new file mode 100644 index 0000000000..1ad7d31929 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle.json @@ -0,0 +1,8 @@ +{ + "from": "system", + "inherits": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", + "name": "0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle", + "instantiation": "true", + "layer_height": "0.28", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle).json deleted file mode 100644 index 428aa54fd8..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.25", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle).json deleted file mode 100644 index cf56bc4612..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle).json deleted file mode 100644 index 1ba778cdca..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.65", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle).json deleted file mode 100644 index a35d5f73c4..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.85", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.2 nozzle).json deleted file mode 100644 index 782d215aee..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.2 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4 Plus (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.2", - "line_width": "0.2", - "initial_layer_line_width": "0.22", - "sparse_infill_line_width": "0.25", - "inner_wall_line_width": "0.25", - "internal_solid_infill_line_width": "0.25", - "resolution": "0.012", - "support_top_z_distance": "0.28", - "support_line_width": "0.2", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.2", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.4 nozzle).json deleted file mode 100644 index 11840aae8f..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.4 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4 Plus (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.4", - "line_width": "0.4", - "initial_layer_line_width": "0.42", - "sparse_infill_line_width": "0.45", - "inner_wall_line_width": "0.45", - "internal_solid_infill_line_width": "0.45", - "resolution": "0.012", - "support_top_z_distance": "0.28", - "support_line_width": "0.38", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.38", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.6 nozzle).json deleted file mode 100644 index 5bf1fcc090..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.6 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4 Plus (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.6", - "line_width": "0.6", - "initial_layer_line_width": "0.62", - "sparse_infill_line_width": "0.65", - "inner_wall_line_width": "0.65", - "internal_solid_infill_line_width": "0.65", - "resolution": "0.012", - "support_top_z_distance": "0.28", - "support_line_width": "0.55", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.56", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.8 nozzle).json deleted file mode 100644 index 85c3223a25..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4 Plus (0.8 nozzle).json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4 Plus (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "bottom_shell_layers": "3", - "outer_wall_line_width": "0.8", - "line_width": "0.8", - "initial_layer_line_width": "0.82", - "sparse_infill_line_width": "0.85", - "inner_wall_line_width": "0.85", - "internal_solid_infill_line_width": "0.85", - "resolution": "0.012", - "support_top_z_distance": "0.28", - "support_line_width": "0.78", - "support_interface_spacing": "0.2", - "top_surface_line_width": "0.78", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "compatible_printers": [ - "Elegoo Neptune 4 Plus (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle).json deleted file mode 100644 index f968325fed..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.25", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle).json deleted file mode 100644 index 7aa2917c31..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle).json deleted file mode 100644 index 339e094911..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.65", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle).json deleted file mode 100644 index 4852250fc3..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle).json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle)", - "inherits": "fdm_process_neptune4max_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "travel_speed": "300", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.85", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Max (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle).json deleted file mode 100644 index 273ab0c490..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.25", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.25", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.25", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.2 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle).json deleted file mode 100644 index 26aa26ef98..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.45", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle).json deleted file mode 100644 index 7998b22ed4..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.6", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.6", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.62", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.65", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.65", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.65", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.55", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.65", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "support_interface_speed": "60", - "support_speed": "60", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.6 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle).json deleted file mode 100644 index 23f7b641c5..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle).json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle)", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "setting_id": "GP004", - "instantiation": "true", - "layer_height": "0.28", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "3", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.8", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.8", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.82", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.85", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.85", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.85", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.28", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "60", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.85", - "top_shell_layers": "4", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "compatible_printers": [ - "Elegoo Neptune 4 Pro (0.8 nozzle)" - ] -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4 1.0 nozzle.json new file mode 100644 index 0000000000..15f7ee6236 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.30mm Fine @Elegoo N4 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.3", + "settings_id": "PEN410030" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Max 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Max 1.0 nozzle.json new file mode 100644 index 0000000000..cce0306a49 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Max 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.30mm Fine @Elegoo N4Max 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4Max 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.3", + "settings_id": "PEN4Max10030" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Plus 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Plus 1.0 nozzle.json new file mode 100644 index 0000000000..93242a56a9 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Plus 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.30mm Fine @Elegoo N4Plus 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4Plus 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.3", + "settings_id": "PEN4Plus10030" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Pro 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Pro 1.0 nozzle.json new file mode 100644 index 0000000000..6f173eb96b --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Fine @Elegoo N4Pro 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.30mm Fine @Elegoo N4Pro 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.3", + "settings_id": "PEN4Pro10030" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4 0.6 nozzle.json new file mode 100644 index 0000000000..a4e6bd5921 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4 0.6 nozzle.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.30mm Standard @Elegoo N4 0.6 nozzle", + "inherits": "fdm_process_elegoo_06030", + "from": "system", + "setting_id": "PEN406030", + "instantiation": "true", + "filename_format": "EN4_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 0.6 nozzle" + ], + "default_acceleration": "6000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "5000", + "renamed_from": "0.20mm Standard @Elegoo Neptune4 (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Max 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Max 0.6 nozzle.json new file mode 100644 index 0000000000..1e2ca7c889 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Max 0.6 nozzle.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.30mm Standard @Elegoo N4Max 0.6 nozzle", + "inherits": "fdm_process_elegoo_06030", + "from": "system", + "setting_id": "PEN4Max06030", + "instantiation": "true", + "filename_format": "EN4Max_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 Max 0.6 nozzle" + ], + "default_acceleration": "3000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "1500", + "renamed_from": "0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Plus 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Plus 0.6 nozzle.json new file mode 100644 index 0000000000..e40635dcdf --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Plus 0.6 nozzle.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.30mm Standard @Elegoo N4Plus 0.6 nozzle", + "inherits": "fdm_process_elegoo_06030", + "from": "system", + "setting_id": "PEN4Plus06030", + "instantiation": "true", + "filename_format": "EN4Plus_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 Plus 0.6 nozzle" + ], + "default_acceleration": "5000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "2500", + "renamed_from": "0.20mm Standard @Elegoo Neptune4 Plus (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Pro 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Pro 0.6 nozzle.json new file mode 100644 index 0000000000..f97ea71506 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.30mm Standard @Elegoo N4Pro 0.6 nozzle.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.30mm Standard @Elegoo N4Pro 0.6 nozzle", + "inherits": "fdm_process_elegoo_06030", + "from": "system", + "setting_id": "PEN4Pro06030", + "instantiation": "true", + "filename_format": "EN4Pro_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 Pro 0.6 nozzle" + ], + "default_acceleration": "6000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "5000", + "renamed_from": "0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4 0.8 nozzle.json new file mode 100644 index 0000000000..1507f37e6d --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.32mm Optimal @Elegoo N4 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.32", + "settings_id": "PEN408032", + "renamed_from": "0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle);0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Max 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Max 0.8 nozzle.json new file mode 100644 index 0000000000..6553b8e067 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Max 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.32mm Optimal @Elegoo N4Max 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4Max 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.32", + "settings_id": "PEN4Max08032", + "renamed_from": "0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle);0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Plus 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Plus 0.8 nozzle.json new file mode 100644 index 0000000000..55fb5cf453 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Plus 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.32mm Optimal @Elegoo N4Plus 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4Plus 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.32", + "settings_id": "PEN4Plus08032", + "renamed_from": "0.16mm Optimal @Elegoo Neptune4 Plus (0.8 nozzle);0.28mm Extra Draft @Elegoo Neptune4 Plus (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Pro 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Pro 0.8 nozzle.json new file mode 100644 index 0000000000..84cfe1bc2f --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.32mm Optimal @Elegoo N4Pro 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.32mm Optimal @Elegoo N4Pro 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4Pro 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.32", + "settings_id": "PEN4Pro08032", + "renamed_from": "0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle);0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4 0.6 nozzle.json new file mode 100644 index 0000000000..e894685981 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.36mm Draft @Elegoo N4 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.36", + "settings_id": "PEN406036", + "renamed_from": "0.24mm Draft @Elegoo Neptune4 (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Max 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Max 0.6 nozzle.json new file mode 100644 index 0000000000..2cd4e27641 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Max 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.36mm Draft @Elegoo N4Max 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4Max 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.36", + "settings_id": "PEN4Max06036", + "renamed_from": "0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Plus 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Plus 0.6 nozzle.json new file mode 100644 index 0000000000..d076a53a45 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Plus 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.36mm Draft @Elegoo N4Plus 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4Plus 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.36", + "settings_id": "PEN4Plus06036", + "renamed_from": "0.24mm Draft @Elegoo Neptune4 Plus (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Pro 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Pro 0.6 nozzle.json new file mode 100644 index 0000000000..84aeaeb74c --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.36mm Draft @Elegoo N4Pro 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.36mm Draft @Elegoo N4Pro 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4Pro 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.36", + "settings_id": "PEN4Pro06036", + "renamed_from": "0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4 1.0 nozzle.json new file mode 100644 index 0000000000..4f019d2d76 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.40mm Optimal @Elegoo N4 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.4", + "settings_id": "PEN410040" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Max 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Max 1.0 nozzle.json new file mode 100644 index 0000000000..1be6117201 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Max 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.40mm Optimal @Elegoo N4Max 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4Max 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.4", + "settings_id": "PEN4Max10040" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Plus 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Plus 1.0 nozzle.json new file mode 100644 index 0000000000..f439c9f829 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Plus 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.40mm Optimal @Elegoo N4Plus 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4Plus 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.4", + "settings_id": "PEN4Plus10040" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Pro 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Pro 1.0 nozzle.json new file mode 100644 index 0000000000..599d7d9ae9 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Optimal @Elegoo N4Pro 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.40mm Optimal @Elegoo N4Pro 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.4", + "settings_id": "PEN4Pro10040" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4 0.8 nozzle.json new file mode 100644 index 0000000000..15058a29b2 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4 0.8 nozzle.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.40mm Standard @Elegoo N4 0.8 nozzle", + "inherits": "fdm_process_elegoo_08040", + "from": "system", + "setting_id": "PEN408040", + "instantiation": "true", + "filename_format": "EN4_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 0.8 nozzle" + ], + "default_acceleration": "6000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "5000", + "renamed_from": "0.20mm Standard @Elegoo Neptune4 (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Max 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Max 0.8 nozzle.json new file mode 100644 index 0000000000..908bb3b190 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Max 0.8 nozzle.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.40mm Standard @Elegoo N4Max 0.8 nozzle", + "inherits": "fdm_process_elegoo_08040", + "from": "system", + "setting_id": "PEN4Max08040", + "instantiation": "true", + "filename_format": "EN4Max_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 Max 0.8 nozzle" + ], + "default_acceleration": "3000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "1500", + "renamed_from": "0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Plus 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Plus 0.8 nozzle.json new file mode 100644 index 0000000000..f30cbf4af4 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Plus 0.8 nozzle.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.40mm Standard @Elegoo N4Plus 0.8 nozzle", + "inherits": "fdm_process_elegoo_08040", + "from": "system", + "setting_id": "PEN4Plus08040", + "instantiation": "true", + "filename_format": "EN4Plus_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 Plus 0.8 nozzle" + ], + "default_acceleration": "5000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "2500", + "renamed_from": "0.20mm Standard @Elegoo Neptune4 Plus (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Pro 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Pro 0.8 nozzle.json new file mode 100644 index 0000000000..9743836954 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.40mm Standard @Elegoo N4Pro 0.8 nozzle.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "0.40mm Standard @Elegoo N4Pro 0.8 nozzle", + "inherits": "fdm_process_elegoo_08040", + "from": "system", + "setting_id": "PEN4Pro08040", + "instantiation": "true", + "filename_format": "EN4Pro_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 Pro 0.8 nozzle" + ], + "default_acceleration": "6000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "5000", + "renamed_from": "0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4 0.6 nozzle.json new file mode 100644 index 0000000000..84e25cd158 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.42mm Extra Draft @Elegoo N4 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.42", + "settings_id": "PEN406042", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle.json new file mode 100644 index 0000000000..e60d236b1d --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4Max 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.42", + "settings_id": "PEN4Max06042", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle.json new file mode 100644 index 0000000000..93de50e8f5 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4Plus 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.42", + "settings_id": "PEN4Plus06042", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune4 Plus (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle.json new file mode 100644 index 0000000000..16f0520ea5 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle", + "inherits": "0.30mm Standard @Elegoo N4Pro 0.6 nozzle", + "instantiation": "true", + "layer_height": "0.42", + "settings_id": "PEN4Pro06042", + "renamed_from": "0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4 0.8 nozzle.json new file mode 100644 index 0000000000..67b282e375 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.48mm Draft @Elegoo N4 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.48", + "settings_id": "PEN408048", + "renamed_from": "0.24mm Draft @Elegoo Neptune4 (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Max 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Max 0.8 nozzle.json new file mode 100644 index 0000000000..41504b055d --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Max 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.48mm Draft @Elegoo N4Max 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4Max 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.48", + "settings_id": "PEN4Max08048", + "renamed_from": "0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Plus 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Plus 0.8 nozzle.json new file mode 100644 index 0000000000..0bb6e5f8ee --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Plus 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.48mm Draft @Elegoo N4Plus 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4Plus 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.48", + "settings_id": "PEN4Plus08048", + "renamed_from": "0.24mm Draft @Elegoo Neptune4 Plus (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json new file mode 100644 index 0000000000..8bb92eda1c --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json @@ -0,0 +1,9 @@ +{ + "type": "process", + "name": "0.48mm Draft @Elegoo N4Pro 0.8 nozzle", + "inherits": "0.40mm Standard @Elegoo N4Pro 0.8 nozzle", + "instantiation": "true", + "layer_height": "0.48", + "settings_id": "PEN4Pro08048", + "renamed_from": "0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle)" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4 1.0 nozzle.json new file mode 100644 index 0000000000..8ad0f87da4 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4 1.0 nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.50mm Standard @Elegoo N4 1.0 nozzle", + "inherits": "fdm_process_elegoo_10050", + "from": "system", + "setting_id": "PEN410050", + "instantiation": "true", + "filename_format": "EN4_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 1.0 nozzle" + ], + "default_acceleration": "6000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "5000" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Max 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Max 1.0 nozzle.json new file mode 100644 index 0000000000..6bbb25a022 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Max 1.0 nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.50mm Standard @Elegoo N4Max 1.0 nozzle", + "inherits": "fdm_process_elegoo_10050", + "from": "system", + "setting_id": "PEN4Max10050", + "instantiation": "true", + "filename_format": "EN4Max_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 Max 1.0 nozzle" + ], + "default_acceleration": "3000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "1500" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Plus 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Plus 1.0 nozzle.json new file mode 100644 index 0000000000..e9250cf0c1 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Plus 1.0 nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.50mm Standard @Elegoo N4Plus 1.0 nozzle", + "inherits": "fdm_process_elegoo_10050", + "from": "system", + "setting_id": "PEN4Plus10050", + "instantiation": "true", + "filename_format": "EN4Plus_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 Plus 1.0 nozzle" + ], + "default_acceleration": "5000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "2500" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Pro 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Pro 1.0 nozzle.json new file mode 100644 index 0000000000..d2b0a1489c --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.50mm Standard @Elegoo N4Pro 1.0 nozzle.json @@ -0,0 +1,15 @@ +{ + "type": "process", + "name": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", + "inherits": "fdm_process_elegoo_10050", + "from": "system", + "setting_id": "PEN4Pro10050", + "instantiation": "true", + "filename_format": "EN4Pro_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Elegoo Neptune 4 Pro 1.0 nozzle" + ], + "default_acceleration": "6000", + "min_width_top_surface": "50%", + "outer_wall_acceleration": "5000" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4 1.0 nozzle.json new file mode 100644 index 0000000000..6aa656f810 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.60mm Draft @Elegoo N4 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.6", + "settings_id": "PEN410060" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Max 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Max 1.0 nozzle.json new file mode 100644 index 0000000000..e6d2591dd9 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Max 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.60mm Draft @Elegoo N4Max 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4Max 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.6", + "settings_id": "PEN4Max10060" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Plus 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Plus 1.0 nozzle.json new file mode 100644 index 0000000000..b30d5f60f4 --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Plus 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.60mm Draft @Elegoo N4Plus 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4Plus 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.6", + "settings_id": "PEN4Plus10060" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Pro 1.0 nozzle.json b/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Pro 1.0 nozzle.json new file mode 100644 index 0000000000..7ed9c5d98b --- /dev/null +++ b/resources/profiles/Elegoo/process/EN4SERIES/0.60mm Draft @Elegoo N4Pro 1.0 nozzle.json @@ -0,0 +1,8 @@ +{ + "type": "process", + "name": "0.60mm Draft @Elegoo N4Pro 1.0 nozzle", + "inherits": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", + "instantiation": "true", + "layer_height": "0.6", + "settings_id": "PEN4Pro10060" +} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/fdm_process_neptune4_common.json b/resources/profiles/Elegoo/process/EN4SERIES/fdm_process_neptune4_common.json deleted file mode 100644 index 883fd26550..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/fdm_process_neptune4_common.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "type": "process", - "name": "fdm_process_neptune4_common", - "inherits": "fdm_process_elegoo_common", - "from": "system", - "instantiation": "false", - "layer_height": "0.08", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", - "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "internal_bridge_speed": "70", - "brim_width": "0", - "brim_object_gap": "0.1", - "compatible_printers_condition": "", - "print_sequence": "by layer", - "bridge_no_support": "0", - "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.2", - "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.2", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.22", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.25", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", - "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", - "detect_overhang_wall": "1", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", - "resolution": "0.012", - "support_type": "normal(auto)", - "support_style": "default", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.08", - "support_filament": "0", - "support_line_width": "0.2", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", - "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "60", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "150", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", - "tree_support_branch_angle": "45", - "tree_support_wall_count": "0", - "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.2", - "top_shell_layers": "11", - "top_shell_thickness": "0.8", - "enable_prime_tower": "1", - "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "default_acceleration": "5000", - "top_surface_acceleration": "2000", - "initial_layer_acceleration": "1000", - "travel_acceleration": "5000", - "inner_wall_acceleration": "3000", - "outer_wall_acceleration": "3000", - "accel_to_decel_factor": "50%", - "default_jerk": "9", - "initial_layer_jerk": "7", - "outer_wall_jerk": "7", - "infill_jerk": "9", - "travel_jerk": "9", - "inner_wall_jerk": "7", - "top_surface_jerk": "7", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "10", - "initial_layer_speed": "50", - "initial_layer_infill_speed": "80", - "outer_wall_speed": "120", - "inner_wall_speed": "200", - "internal_solid_infill_speed": "200", - "top_surface_speed": "120", - "gap_infill_speed": "120", - "sparse_infill_speed": "200", - "travel_speed": "350", - "exclude_object": "1" -} diff --git a/resources/profiles/Elegoo/process/EN4SERIES/fdm_process_neptune4max_common.json b/resources/profiles/Elegoo/process/EN4SERIES/fdm_process_neptune4max_common.json deleted file mode 100644 index 52a9dc58ed..0000000000 --- a/resources/profiles/Elegoo/process/EN4SERIES/fdm_process_neptune4max_common.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "type": "process", - "name": "fdm_process_neptune4max_common", - "inherits": "fdm_process_neptune4_common", - "from": "system", - "instantiation": "false", - "default_acceleration": "3000", - "top_surface_acceleration": "2000", - "initial_layer_acceleration": "1000", - "inner_wall_acceleration": "2000", - "outer_wall_acceleration": "2000", - "travel_acceleration": "3000", - "accel_to_decel_factor": "50%", - "default_jerk": "7", - "initial_layer_jerk": "7", - "outer_wall_jerk": "6", - "inner_wall_jerk": "6", - "infill_jerk": "7", - "travel_jerk": "7", - "top_surface_jerk": "7", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "30", - "overhang_4_4_speed": "10", - "initial_layer_speed": "50", - "initial_layer_infill_speed": "80", - "outer_wall_speed": "120", - "inner_wall_speed": "160", - "internal_solid_infill_speed": "200", - "top_surface_speed": "120", - "gap_infill_speed": "120", - "sparse_infill_speed": "200", - "travel_speed": "300", - "exclude_object": "1" -} diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json index f78e63d0ce..8667a1bbc9 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.16mm Optimal @Elegoo Giga 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo Giga 0.4 nozzle", + "layer_height": "0.16", "instantiation": "true", - "layer_height": "0.16" + "name": "0.16mm Optimal @Elegoo Giga 0.4 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json index 5a9614a73e..1e52b73ec6 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json @@ -1,9 +1,8 @@ { - "type": "process", - "name": "0.18mm Fine @Elegoo Giga 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo Giga 0.6 nozzle", - "instantiation": "true", "layer_height": "0.18", + "instantiation": "true", + "name": "0.18mm Fine @Elegoo Giga 0.6 nozzle", "compatible_printers": [ "Elegoo OrangeStorm Giga 0.6 nozzle" ] diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json index 9c2e53fd24..e1ad8c344a 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json @@ -5,7 +5,8 @@ "from": "system", "setting_id": "PEOSG04020", "instantiation": "true", - "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "default_acceleration": "3000", + "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "initial_layer_print_height": "0.25", "print_flow_ratio": "1.0", "compatible_printers": [ diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json index 4639f50966..7acb40bb70 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json @@ -1,7 +1,8 @@ { - "type": "process", - "name": "0.20mm Strength @Elegoo Giga 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo Giga 0.4 nozzle", + "name": "0.20mm Strength @Elegoo Giga 0.4 nozzle", + "wall_sequence": "inner-outer-inner wall", + "reduce_crossing_wall": "1", "instantiation": "true", "wall_loops": "6" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json index b55626d530..4b9c599c72 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Draft @Elegoo Giga 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo Giga 0.4 nozzle", + "layer_height": "0.24", "instantiation": "true", - "layer_height": "0.24" + "name": "0.24mm Draft @Elegoo Giga 0.4 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json index 62e6e9961c..559d02aad4 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Fine @Elegoo Giga 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo Giga 0.8 nozzle", + "layer_height": "0.24", "instantiation": "true", - "layer_height": "0.24" + "name": "0.24mm Fine @Elegoo Giga 0.8 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json index e712afb2f0..5386ff6e49 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.24mm Optimal @Elegoo Giga 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo Giga 0.6 nozzle", + "layer_height": "0.24", "instantiation": "true", - "layer_height": "0.24" + "name": "0.24mm Optimal @Elegoo Giga 0.6 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json index 8fe71974ba..c661130a05 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.28mm Extra Draft @Elegoo Giga 0.4 nozzle", "inherits": "0.20mm Standard @Elegoo Giga 0.4 nozzle", + "layer_height": "0.28", "instantiation": "true", - "layer_height": "0.28" + "name": "0.28mm Extra Draft @Elegoo Giga 0.4 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json index 2f333fa718..8531d718b5 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.30mm Fine @Elegoo Giga 1.0 nozzle", "inherits": "0.50mm Standard @Elegoo Giga 1.0 nozzle", + "layer_height": "0.3", "instantiation": "true", - "layer_height": "0.3" + "name": "0.30mm Fine @Elegoo Giga 1.0 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json index ea40f05527..3f16262ffd 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json @@ -6,15 +6,14 @@ "setting_id": "PEOSG06030", "instantiation": "true", "default_acceleration": "3000", - "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "initial_layer_acceleration": "1000", - "inner_wall_acceleration": "3000", + "is_custom_defined": "0", "make_overhang_printable_angle": "90", "outer_wall_acceleration": "2000", "resolution": "0.05", "thick_internal_bridges": "0", "top_shell_layers": "4", - "travel_acceleration": "3000", "travel_speed": "300", "detect_thin_wall": "0", "bridge_speed": "50", diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json index c74737452a..f6737db309 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json @@ -1,7 +1,8 @@ { - "type": "process", - "name": "0.30mm Strength @Elegoo Giga 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo Giga 0.6 nozzle", + "name": "0.30mm Strength @Elegoo Giga 0.6 nozzle", + "wall_sequence": "inner-outer-inner wall", + "reduce_crossing_wall": "1", "instantiation": "true", "wall_loops": "5" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json index 581f8126a4..8358b1841e 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.32mm Optimal @Elegoo Giga 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo Giga 0.8 nozzle", + "layer_height": "0.32", "instantiation": "true", - "layer_height": "0.32" + "name": "0.32mm Optimal @Elegoo Giga 0.8 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json index d925d73deb..81ccb6eb3c 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.36mm Draft @Elegoo Giga 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo Giga 0.6 nozzle", + "layer_height": "0.36", "instantiation": "true", - "layer_height": "0.36" + "name": "0.36mm Draft @Elegoo Giga 0.6 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json index 8f5d07edcb..9d1d99ea00 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.40mm Optimal @Elegoo Giga 1.0 nozzle", "inherits": "0.50mm Standard @Elegoo Giga 1.0 nozzle", + "layer_height": "0.4", "instantiation": "true", - "layer_height": "0.4" + "name": "0.40mm Optimal @Elegoo Giga 1.0 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json index ab84abdbf8..f5001c8a5a 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json @@ -6,15 +6,13 @@ "setting_id": "PEOSG08040", "instantiation": "true", "default_acceleration": "3000", - "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "initial_layer_acceleration": "1000", - "inner_wall_acceleration": "3000", "make_overhang_printable_angle": "90", "outer_wall_acceleration": "2000", "resolution": "0.05", "thick_internal_bridges": "0", "top_shell_layers": "4", - "travel_acceleration": "3000", "initial_layer_infill_speed": "60", "initial_layer_speed": "45", "travel_speed": "300", diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json index 3fbaacdaa4..e69eae7853 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.42mm Extra Draft @Elegoo Giga 0.6 nozzle", "inherits": "0.30mm Standard @Elegoo Giga 0.6 nozzle", + "layer_height": "0.42", "instantiation": "true", - "layer_height": "0.42" + "name": "0.42mm Extra Draft @Elegoo Giga 0.6 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json index 1fd6f0d2dc..460d3a4948 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.48mm Draft @Elegoo Giga 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo Giga 0.8 nozzle", + "layer_height": "0.48", "instantiation": "true", - "layer_height": "0.48" + "name": "0.48mm Draft @Elegoo Giga 0.8 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json index f0e4b1625f..dd40cac324 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json @@ -1,20 +1,17 @@ { - "type": "process", - "name": "0.50mm Standard @Elegoo Giga 1.0 nozzle", "inherits": "fdm_process_elegoo_10050", + "name": "0.50mm Standard @Elegoo Giga 1.0 nozzle", "from": "system", "setting_id": "PEOSG10050", "instantiation": "true", "default_acceleration": "3000", - "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}{layer_height}_{print_time}.gcode", + "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "initial_layer_acceleration": "1000", - "inner_wall_acceleration": "3000", "make_overhang_printable_angle": "90", "outer_wall_acceleration": "2000", "resolution": "0.05", "thick_internal_bridges": "0", "top_shell_layers": "4", - "travel_acceleration": "3000", "travel_speed": "300", "detect_thin_wall": "0", "bridge_speed": "20", diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json index ef04483ace..9003b1cdb3 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json @@ -1,6 +1,5 @@ { - "type": "process", - "name": "0.56mm Extra Draft @Elegoo Giga 0.8 nozzle", "inherits": "0.40mm Standard @Elegoo Giga 0.8 nozzle", - "instantiation": "true" + "instantiation": "true", + "name": "0.56mm Extra Draft @Elegoo Giga 0.8 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json index 480cf6db88..1d50fcf903 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json @@ -1,7 +1,6 @@ { - "type": "process", - "name": "0.60mm Draft @Elegoo Giga 1.0 nozzle", "inherits": "0.50mm Standard @Elegoo Giga 1.0 nozzle", + "layer_height": "0.6", "instantiation": "true", - "layer_height": "0.6" + "name": "0.60mm Draft @Elegoo Giga 1.0 nozzle" } diff --git a/resources/profiles/Elegoo/process/fdm_process_common.json b/resources/profiles/Elegoo/process/fdm_process_common.json index a3fe34bea4..a2bd0ea5f1 100644 --- a/resources/profiles/Elegoo/process/fdm_process_common.json +++ b/resources/profiles/Elegoo/process/fdm_process_common.json @@ -8,33 +8,34 @@ "bridge_flow": "0.95", "bridge_speed": "25", "brim_width": "5", - "compatible_printers": [], "print_sequence": "by layer", "default_acceleration": "10000", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", "bridge_no_support": "0", "elefant_foot_compensation": "0.1", - "outer_wall_line_width": "0.4", + "outer_wall_line_width": "0.42", "outer_wall_speed": "120", "line_width": "0.45", "infill_direction": "45", "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", + "sparse_infill_pattern": "grid", "initial_layer_line_width": "0.42", "initial_layer_print_height": "0.2", "initial_layer_speed": "20", "gap_infill_speed": "30", "infill_combination": "0", "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", + "infill_wall_overlap": "15%", "sparse_infill_speed": "50", + "overhang_speed_classic": "1", "interface_shells": "0", "detect_overhang_wall": "0", - "reduce_infill_retraction": "0", + "reduce_infill_retraction": "1", "filename_format": "{input_filename_base}.gcode", - "wall_loops": "3", + "wall_loops": "2", "inner_wall_line_width": "0.45", "inner_wall_speed": "40", - "print_settings_id": "", "raft_layers": "0", "seam_position": "nearest", "skirt_distance": "2", @@ -54,17 +55,31 @@ "support_interface_top_layers": "2", "support_interface_spacing": "0", "support_interface_speed": "80", - "support_base_pattern": "rectilinear", + "support_interface_pattern": "auto", + "support_base_pattern": "default", "support_base_pattern_spacing": "2", "support_speed": "40", - "support_threshold_angle": "30", + "support_threshold_angle": "40", "support_object_xy_distance": "0.5", + "tree_support_angle_slow": "30", + "tree_support_branch_angle_organic": "45", + "tree_support_branch_diameter_double_wall": "10", + "tree_support_branch_distance_organic": "5", + "tree_support_tip_diameter": "2", "detect_thin_wall": "0", - "top_surface_line_width": "0.4", + "top_surface_line_width": "0.42", "top_surface_speed": "30", "travel_speed": "400", - "enable_prime_tower": "1", + "enable_prime_tower": "0", "prime_tower_width": "60", "xy_hole_compensation": "0", - "xy_contour_compensation": "0" + "xy_contour_compensation": "0", + "role_based_wipe_speed": "1", + "detect_narrow_internal_solid_infill": "1", + "top_shell_thickness": "0.8", + "bottom_shell_thickness": "0.8", + "gap_fill_target": "everywhere", + "filter_out_gap_fill": "1", + "ensure_vertical_shell_thickness": "ensure_all", + "compatible_printers": [] } diff --git a/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json b/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json index 615c0eeccd..30fa79753b 100644 --- a/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json +++ b/resources/profiles/Elegoo/process/fdm_process_elegoo_02010.json @@ -24,6 +24,7 @@ "sparse_infill_speed": "100", "inner_wall_speed": "100", "internal_solid_infill_speed": "100", + "is_custom_defined": "0", "outer_wall_speed": "60", "top_surface_speed": "80" } diff --git a/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json b/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json index 60b3fc8eab..2ca6daf45b 100644 --- a/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json +++ b/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json @@ -4,100 +4,91 @@ "inherits": "fdm_process_common", "from": "system", "instantiation": "false", - "adaptive_layer_height": "1", - "reduce_crossing_wall": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", - "bottom_shell_layers": "9", - "bottom_shell_thickness": "0", - "bridge_flow": "0.95", - "bridge_speed": "25", - "brim_width": "0", + "bottom_shell_layers": "4", + "bridge_speed": "50", "brim_object_gap": "0.1", "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "200", - "top_surface_acceleration": "30", - "bridge_no_support": "0", "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.4", + "elefant_foot_compensation": "0.05", + "enable_arc_fitting": "1", + "outer_wall_acceleration": "5000", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.4", - "infill_direction": "45", - "sparse_infill_density": "15%", - "sparse_infill_pattern": "crosshatch", - "initial_layer_acceleration": "20", - "travel_acceleration": "200", - "inner_wall_acceleration": "200", - "initial_layer_line_width": "0.42", - "initial_layer_print_height": "0.2", - "infill_combination": "0", - "sparse_infill_line_width": "0.45", - "infill_wall_overlap": "25%", - "interface_shells": "0", - "ironing_flow": "15%", - "ironing_spacing": "0.1", - "ironing_speed": "15", + "line_width": "0.42", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "500", + "initial_layer_line_width": "0.5", + "initial_layer_speed": "30", + "gap_infill_speed": "50", + "sparse_infill_speed": "250", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", "ironing_type": "no ironing", - "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "layer_height": "0.2", + "filename_format": "{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "detect_overhang_wall": "1", "overhang_1_4_speed": "0", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "15", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", - "wall_loops": "3", - "print_settings_id": "", - "raft_layers": "0", + "only_one_wall_top": "1", + "inner_wall_speed": "150", "seam_position": "aligned", - "skirt_distance": "1", - "skirt_height": "2", - "skirt_loops": "1", - "minimum_sparse_infill_area": "25", - "internal_solid_infill_line_width": "0.45", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "0", + "skirt_height": "1", + "skirt_loops": "0", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "cubic", + "top_bottom_infill_wall_overlap": "5%", + "infill_anchor": "400%", + "infill_anchor_max": "40", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "150", + "initial_layer_infill_speed": "60", "resolution": "0.012", "support_type": "normal(auto)", "support_style": "default", - "support_on_build_plate_only": "0", "support_top_z_distance": "0.2", - "support_filament": "0", - "support_line_width": "0.38", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "2", + "support_bottom_z_distance": "0.2", "support_interface_bottom_layers": "2", - "support_interface_spacing": "0.2", - "support_interface_speed": "100", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2", - "support_speed": "40", + "support_interface_spacing": "0.5", + "support_expansion": "0", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", "support_threshold_angle": "30", "support_object_xy_distance": "0.35", + "tree_support_branch_diameter": "2", "tree_support_branch_angle": "45", "tree_support_wall_count": "0", - "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.38", + "top_surface_acceleration": "2000", + "top_surface_speed": "200", "top_shell_layers": "3", - "top_shell_thickness": "0.8", - "initial_layer_speed": "20", - "initial_layer_infill_speed": "20", - "outer_wall_speed": "25", - "inner_wall_speed": "40", - "internal_solid_infill_speed": "40", - "top_surface_speed": "30", - "gap_infill_speed": "30", - "sparse_infill_speed": "50", - "travel_speed": "150", - "enable_prime_tower": "1", + "travel_speed": "500", "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "60", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0" + "prime_tower_width": "35", + "wall_generator": "classic", + "compatible_printers": [], + "detect_narrow_internal_solid_infill": "1", + "extra_perimeters_on_overhangs": "0", + "seam_slope_conditional": "1", + "seam_slope_inner_walls": "1", + "accel_to_decel_enable": "0", + "precise_outer_wall": "0", + "seam_slope_min_length": "0", + "bridge_flow": "0.95", + "internal_bridge_flow": "0.95", + "role_based_wipe_speed": "0", + "seam_slope_type": "none", + "wipe_on_loops": "0", + "gcode_label_objects": "0", + "staggered_inner_seams": "0", + "wipe_before_external_loop": "0", + "exclude_object": "1", + "wipe_speed": "100%", + "print_flow_ratio": "0.97", + "wall_sequence": "inner wall/outer wall", + "wipe_tower_wall_type": "rib" } diff --git a/resources/profiles/OrcaFilamentLibrary.json b/resources/profiles/OrcaFilamentLibrary.json index b4f615dd3d..5c4dd28ee8 100644 --- a/resources/profiles/OrcaFilamentLibrary.json +++ b/resources/profiles/OrcaFilamentLibrary.json @@ -120,6 +120,30 @@ "name": "Elegoo ABS @base", "sub_path": "filament/Elegoo/Elegoo ABS @base.json" }, + { + "name": "Elegoo ASA @base", + "sub_path": "filament/Elegoo/Elegoo ASA @base.json" + }, + { + "name": "Elegoo PAHT @base", + "sub_path": "filament/Elegoo/Elegoo PAHT @base.json" + }, + { + "name": "Elegoo PC @base", + "sub_path": "filament/Elegoo/Elegoo PC @base.json" + }, + { + "name": "Elegoo PETG @base", + "sub_path": "filament/Elegoo/Elegoo PETG @base.json" + }, + { + "name": "Elegoo PLA @base", + "sub_path": "filament/Elegoo/Elegoo PLA @base.json" + }, + { + "name": "Elegoo TPU @base", + "sub_path": "filament/Elegoo/Elegoo TPU @base.json" + }, { "name": "Eolas Prints ABS @System", "sub_path": "filament/Eolas Prints/Eolas Prints ABS @System.json" @@ -164,10 +188,6 @@ "name": "Elas ASA @base", "sub_path": "filament/Elas/Elas ASA @base.json" }, - { - "name": "Elegoo ASA @base", - "sub_path": "filament/Elegoo/Elegoo ASA @base.json" - }, { "name": "Eolas Prints ASA @System", "sub_path": "filament/Eolas Prints/Eolas Prints ASA @System.json" @@ -264,10 +284,6 @@ "name": "Generic PA-CF @System", "sub_path": "filament/Generic PA-CF @System.json" }, - { - "name": "Elegoo PAHT @base", - "sub_path": "filament/Elegoo/Elegoo PAHT @base.json" - }, { "name": "Bambu PC @base", "sub_path": "filament/Bambu/Bambu PC @base.json" @@ -276,10 +292,6 @@ "name": "Bambu PC FR @base", "sub_path": "filament/Bambu/Bambu PC FR @base.json" }, - { - "name": "Elegoo PC @base", - "sub_path": "filament/Elegoo/Elegoo PC @base.json" - }, { "name": "Generic PC @System", "sub_path": "filament/Generic PC @System.json" @@ -332,22 +344,6 @@ "name": "Elas PETG Basic @base", "sub_path": "filament/Elas/Elas PETG Basic @base.json" }, - { - "name": "Elegoo PETG @base", - "sub_path": "filament/Elegoo/Elegoo PETG @base.json" - }, - { - "name": "Elegoo PETG PRO @base", - "sub_path": "filament/Elegoo/Elegoo PETG PRO @base.json" - }, - { - "name": "Elegoo PETG-CF @base", - "sub_path": "filament/Elegoo/Elegoo PETG-CF @base.json" - }, - { - "name": "Elegoo Rapid PETG @base", - "sub_path": "filament/Elegoo/Elegoo Rapid PETG @base.json" - }, { "name": "Eolas Prints PETG @System", "sub_path": "filament/Eolas Prints/Eolas Prints PETG @System.json" @@ -500,26 +496,6 @@ "name": "Elas PLA Pro @base", "sub_path": "filament/Elas/Elas PLA Pro @base.json" }, - { - "name": "Elegoo PLA @base", - "sub_path": "filament/Elegoo/Elegoo PLA @base.json" - }, - { - "name": "Elegoo PLA Matte @base", - "sub_path": "filament/Elegoo/Elegoo PLA Matte @base.json" - }, - { - "name": "Elegoo PLA Silk @base", - "sub_path": "filament/Elegoo/Elegoo PLA Silk @base.json" - }, - { - "name": "Elegoo PLA-CF @base", - "sub_path": "filament/Elegoo/Elegoo PLA-CF @base.json" - }, - { - "name": "Elegoo Rapid PLA+ @base", - "sub_path": "filament/Elegoo/Elegoo Rapid PLA+ @base.json" - }, { "name": "Eolas Prints PLA Antibacterial @System", "sub_path": "filament/Eolas Prints/Eolas Prints PLA Antibacterial @System.json" @@ -836,14 +812,6 @@ "name": "COEX TPU 60A @base", "sub_path": "filament/COEX/COEX TPU 60A @base.json" }, - { - "name": "Elegoo TPU 95A @base", - "sub_path": "filament/Elegoo/Elegoo TPU 95A @base.json" - }, - { - "name": "Elegoo TPU @base", - "sub_path": "filament/Elegoo/Elegoo TPU @base.json" - }, { "name": "Eolas Prints TPU D60 UV Resistant @System", "sub_path": "filament/Eolas Prints/Eolas Prints TPU Flex D60 UV Resistant @System.json" @@ -928,10 +896,126 @@ "name": "Elas ASA @System", "sub_path": "filament/Elas/Elas ASA @System.json" }, + { + "name": "Elegoo ABS @System", + "sub_path": "filament/Elegoo/Elegoo ABS @System.json" + }, { "name": "Elegoo ASA @System", "sub_path": "filament/Elegoo/Elegoo ASA @System.json" }, + { + "name": "Elegoo ASA-CF @System", + "sub_path": "filament/Elegoo/Elegoo ASA-CF @System.json" + }, + { + "name": "Elegoo PAHT-CF @System", + "sub_path": "filament/Elegoo/Elegoo PAHT-CF @System.json" + }, + { + "name": "Elegoo PC @System", + "sub_path": "filament/Elegoo/Elegoo PC @System.json" + }, + { + "name": "Elegoo PC-FR @System", + "sub_path": "filament/Elegoo/Elegoo PC-FR @System.json" + }, + { + "name": "Elegoo PET-CF @System", + "sub_path": "filament/Elegoo/Elegoo PET-CF @System.json" + }, + { + "name": "Elegoo PETG @System", + "sub_path": "filament/Elegoo/Elegoo PETG @System.json" + }, + { + "name": "Elegoo PETG HF @System", + "sub_path": "filament/Elegoo/Elegoo PETG HF @System.json" + }, + { + "name": "Elegoo PETG PRO @System", + "sub_path": "filament/Elegoo/Elegoo PETG PRO @System.json" + }, + { + "name": "Elegoo PETG Translucent @System", + "sub_path": "filament/Elegoo/Elegoo PETG Translucent @System.json" + }, + { + "name": "Elegoo PETG-CF @System", + "sub_path": "filament/Elegoo/Elegoo PETG-CF @System.json" + }, + { + "name": "Elegoo PETG-GF @System", + "sub_path": "filament/Elegoo/Elegoo PETG-GF @System.json" + }, + { + "name": "Elegoo PLA @System", + "sub_path": "filament/Elegoo/Elegoo PLA @System.json" + }, + { + "name": "Elegoo PLA Basic @System", + "sub_path": "filament/Elegoo/Elegoo PLA Basic @System.json" + }, + { + "name": "Elegoo PLA Galaxy @System", + "sub_path": "filament/Elegoo/Elegoo PLA Galaxy @System.json" + }, + { + "name": "Elegoo PLA Glow @System", + "sub_path": "filament/Elegoo/Elegoo PLA Glow @System.json" + }, + { + "name": "Elegoo PLA Marble @System", + "sub_path": "filament/Elegoo/Elegoo PLA Marble @System.json" + }, + { + "name": "Elegoo PLA Matte @System", + "sub_path": "filament/Elegoo/Elegoo PLA Matte @System.json" + }, + { + "name": "Elegoo PLA PRO @System", + "sub_path": "filament/Elegoo/Elegoo PLA PRO @System.json" + }, + { + "name": "Elegoo PLA Silk @System", + "sub_path": "filament/Elegoo/Elegoo PLA Silk @System.json" + }, + { + "name": "Elegoo PLA Sparkle @System", + "sub_path": "filament/Elegoo/Elegoo PLA Sparkle @System.json" + }, + { + "name": "Elegoo PLA Translucent2 @System", + "sub_path": "filament/Elegoo/Elegoo PLA Translucent2 @System.json" + }, + { + "name": "Elegoo PLA Wood @System", + "sub_path": "filament/Elegoo/Elegoo PLA Wood @System.json" + }, + { + "name": "Elegoo PLA+ @System", + "sub_path": "filament/Elegoo/Elegoo PLA+ @System.json" + }, + { + "name": "Elegoo PLA-CF @System", + "sub_path": "filament/Elegoo/Elegoo PLA-CF @System.json" + }, + { + "name": "Elegoo Rapid PETG @System", + "sub_path": "filament/Elegoo/Elegoo Rapid PETG @System.json" + }, + { + "name": "Elegoo Rapid PLA+ @System", + "sub_path": "filament/Elegoo/Elegoo Rapid PLA+ @System.json" + }, + { + "name": "Elegoo Rapid TPU 95A @System", + "sub_path": "filament/Elegoo/Elegoo Rapid TPU 95A @System.json" + }, + { + "name": "Elegoo TPU 95A @System", + "sub_path": "filament/Elegoo/Elegoo TPU 95A @System.json" + }, { "name": "Overture ASA @System", "sub_path": "filament/Overture/Overture ASA @System.json" @@ -1044,18 +1128,6 @@ "name": "Elas PETG Basic @System", "sub_path": "filament/Elas/Elas PETG Basic @System.json" }, - { - "name": "Elegoo PETG PRO @System", - "sub_path": "filament/Elegoo/Elegoo PETG PRO @System.json" - }, - { - "name": "Elegoo PETG-CF @System", - "sub_path": "filament/Elegoo/Elegoo PETG-CF @System.json" - }, - { - "name": "Elegoo Rapid PETG @System", - "sub_path": "filament/Elegoo/Elegoo Rapid PETG @System.json" - }, { "name": "FDplast PETG @System", "sub_path": "filament/FDplast/FDplast PETG @System.json" @@ -1180,14 +1252,6 @@ "name": "Elas PLA Pro @System", "sub_path": "filament/Elas/Elas PLA Pro @System.json" }, - { - "name": "Elegoo PLA @System", - "sub_path": "filament/Elegoo/Elegoo PLA @System.json" - }, - { - "name": "Elegoo Rapid PLA+ @System", - "sub_path": "filament/Elegoo/Elegoo Rapid PLA+ @System.json" - }, { "name": "FDplast PLA @System", "sub_path": "filament/FDplast/FDplast PLA @System.json" @@ -1476,10 +1540,6 @@ "name": "COEX TPU 60A @System", "sub_path": "filament/COEX/COEX TPU 60A @System.json" }, - { - "name": "Elegoo TPU 95A @System", - "sub_path": "filament/Elegoo/Elegoo TPU 95A @System.json" - }, { "name": "FDplast TPU @System", "sub_path": "filament/FDplast/FDplast TPU @System.json" diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @System.json new file mode 100644 index 0000000000..d021e99723 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @System.json @@ -0,0 +1,27 @@ +{ + "type": "filament", + "name": "Elegoo ABS @System", + "inherits": "Elegoo ABS @base", + "from": "system", + "setting_id": "OEABSS00", + "instantiation": "true", + "fan_max_speed": [ + "40" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @base.json index 86b533bba1..af0dad8787 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @base.json @@ -3,21 +3,51 @@ "name": "Elegoo ABS @base", "inherits": "fdm_filament_abs", "from": "system", - "filament_id": "EABSB00", + "filament_id": "OEABSB00", "instantiation": "false", - "filament_vendor": [ - "Elegoo" + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "fan_cooling_layer_time": [ + "35" ], "filament_density": [ "1.1" ], - "filament_max_volumetric_speed": [ - "12" + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "Elegoo" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" ], "nozzle_temperature": [ "270" ], - "fan_cooling_layer_time": [ - "35" + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; Filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @System.json index aeccbd2c2c..e5b2e66a10 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @System.json @@ -3,7 +3,20 @@ "name": "Elegoo ASA @System", "inherits": "Elegoo ASA @base", "from": "system", - "setting_id": "OGFSE06_00", + "setting_id": "OEASAS00", "instantiation": "true", - "compatible_printers": [] + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "compatible_printers": [], + "renamed_from": "Elegoo ASA" } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @base.json index 4c81f329bc..da502cf7b6 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @base.json @@ -3,15 +3,45 @@ "name": "Elegoo ASA @base", "inherits": "fdm_filament_asa", "from": "system", - "filament_id": "OGFE06", + "filament_id": "OEASAB00", "instantiation": "false", - "filament_vendor": [ - "Elegoo" + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" ], "filament_density": [ "1.1" ], - "filament_max_volumetric_speed": [ - "12" + "filament_flow_ratio": [ + "0.98" + ], + "filament_vendor": [ + "Elegoo" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "100" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_start_gcode": [ + "; Filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA-CF @System.json new file mode 100644 index 0000000000..1084493ef9 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA-CF @System.json @@ -0,0 +1,33 @@ +{ + "type": "filament", + "name": "Elegoo ASA-CF @System", + "inherits": "Elegoo ASA @base", + "from": "system", + "setting_id": "OEASACFS00", + "instantiation": "true", + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "fan_max_speed": [ + "30" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT @base.json index 470d2f57db..dd444cd846 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT @base.json @@ -1,23 +1,92 @@ { "type": "filament", "name": "Elegoo PAHT @base", - "inherits": "fdm_filament_paht", + "inherits": "fdm_filament_pa", "from": "system", - "filament_id": "EPAHTB00", + "filament_id": "OEPAHTB0", "instantiation": "false", - "filament_cost": [ + "activate_air_filtration": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "eng_plate_temp": [ "0" ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], "filament_density": [ "1.25" ], + "filament_flow_ratio": [ + "0.96" + ], "filament_max_volumetric_speed": [ "16" ], "filament_vendor": [ "Elegoo" ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "45" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], "filament_start_gcode": [ "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "additional_cooling_fan_speed": [ + "0" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT-CF @System.json new file mode 100644 index 0000000000..1303bc0c4a --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT-CF @System.json @@ -0,0 +1,69 @@ +{ + "type": "filament", + "name": "Elegoo PAHT-CF @System", + "inherits": "Elegoo PAHT @base", + "from": "system", + "setting_id": "OEPAHTCFS00", + "instantiation": "true", + "close_fan_the_first_x_layers": [ + "3" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "6" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "10" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "pressure_advance": [ + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @System.json new file mode 100644 index 0000000000..7892facc41 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @System.json @@ -0,0 +1,54 @@ +{ + "type": "filament", + "name": "Elegoo PC @System", + "inherits": "Elegoo PC @base", + "from": "system", + "setting_id": "OEPCS00", + "instantiation": "true", + "pressure_advance": [ + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_threshold": [ + "25%" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "30" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "10" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @base.json index dfc9441fae..b7a5a62eda 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @base.json @@ -3,21 +3,27 @@ "name": "Elegoo PC @base", "inherits": "fdm_filament_pc", "from": "system", - "filament_id": "EPCB00", + "filament_id": "OEPCB00", "instantiation": "false", - "filament_cost": [ - "0" - ], "filament_density": [ "1.25" ], + "filament_flow_ratio": [ + "0.98" + ], "filament_max_volumetric_speed": [ "16" ], "filament_vendor": [ "Elegoo" ], + "slow_down_min_speed": [ + "20" + ], "filament_start_gcode": [ "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC-FR @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC-FR @System.json new file mode 100644 index 0000000000..d542425163 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC-FR @System.json @@ -0,0 +1,39 @@ +{ + "type": "filament", + "name": "Elegoo PC-FR @System", + "inherits": "Elegoo PC @base", + "from": "system", + "setting_id": "OEPCFRS00", + "instantiation": "true", + "pressure_advance": [ + "0.05" + ], + "enable_pressure_advance": [ + "1" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "slow_down_layer_time": [ + "10" + ], + "fan_max_speed": [ + "40" + ], + "filament_density": [ + "1.1" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PET-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PET-CF @System.json new file mode 100644 index 0000000000..dfc52bf0bf --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PET-CF @System.json @@ -0,0 +1,57 @@ +{ + "type": "filament", + "name": "Elegoo PET-CF @System", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "OEPETCFS00", + "instantiation": "true", + "pressure_advance": [ + "0.05" + ], + "enable_pressure_advance": [ + "1" + ], + "fan_cooling_layer_time": [ + "5" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_type": [ + "PET-CF" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @System.json new file mode 100644 index 0000000000..cb00ed6c74 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @System.json @@ -0,0 +1,27 @@ +{ + "type": "filament", + "name": "Elegoo PETG @System", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "OEPETGS00", + "instantiation": "true", + "pressure_advance": [ + "0.05" + ], + "enable_pressure_advance": [ + "1" + ], + "overhang_fan_threshold": [ + "50%" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "filament_max_volumetric_speed": [ + "11" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @base.json index 92fab7e918..d6cd360eba 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @base.json @@ -3,7 +3,7 @@ "name": "Elegoo PETG @base", "inherits": "fdm_filament_pet", "from": "system", - "filament_id": "EPETGB00", + "filament_id": "OEPETGB0", "instantiation": "false", "cool_plate_temp": [ "0" @@ -26,12 +26,12 @@ "fan_min_speed": [ "10" ], - "filament_cost": [ - "0" - ], "filament_density": [ "1.25" ], + "filament_flow_ratio": [ + "0.98" + ], "filament_max_volumetric_speed": [ "8" ], @@ -44,12 +44,6 @@ "hot_plate_temp_initial_layer": [ "70" ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "230" - ], "nozzle_temperature": [ "240" ], @@ -77,7 +71,10 @@ "filament_end_gcode": [ "; filament end gcode \n" ], - "filament_type": [ - "PETG" + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "230" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG HF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG HF @System.json new file mode 100644 index 0000000000..7fbd876d93 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG HF @System.json @@ -0,0 +1,42 @@ +{ + "type": "filament", + "name": "Elegoo PETG HF @System", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "OERPETGHFS00", + "instantiation": "true", + "pressure_advance": [ + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_flow_ratio": [ + "0.99" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.26" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "fan_max_speed": [ + "50" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "overhang_fan_speed": [ + "100" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @System.json index 3dd7b2ea56..56220644d9 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @System.json @@ -1,10 +1,22 @@ { "type": "filament", "name": "Elegoo PETG PRO @System", - "renamed_from": "Elegoo PETG Pro @System", - "inherits": "Elegoo PETG PRO @base", + "inherits": "Elegoo PETG @base", "from": "system", - "setting_id": "OGFSE02_00", + "setting_id": "OEPETGPROS00", "instantiation": "true", - "compatible_printers": [] + "pressure_advance": [ + "0.1" + ], + "overhang_fan_threshold": [ + "50%" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_max_volumetric_speed": [ + "5" + ], + "compatible_printers": [], + "renamed_from": "Elegoo PETG PRO" } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Translucent @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Translucent @System.json new file mode 100644 index 0000000000..d191bcf93b --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Translucent @System.json @@ -0,0 +1,27 @@ +{ + "type": "filament", + "name": "Elegoo PETG Translucent @System", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "OEPETGTRANSS00", + "instantiation": "true", + "pressure_advance": [ + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "fan_max_speed": [ + "35" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @System.json index 5cca110169..7bacc7f84d 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @System.json @@ -1,9 +1,45 @@ { "type": "filament", "name": "Elegoo PETG-CF @System", - "inherits": "Elegoo PETG-CF @base", + "inherits": "Elegoo PETG @base", "from": "system", - "setting_id": "OGFSE03_00", + "setting_id": "OEPETGCFS00", "instantiation": "true", + "pressure_advance": [ + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], "compatible_printers": [] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @base.json deleted file mode 100644 index a0877ef403..0000000000 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @base.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo PETG-CF @base", - "inherits": "fdm_filament_pet", - "from": "system", - "filament_id": "OGFE03", - "instantiation": "false", - "filament_cost": [ - "18.99" - ], - "filament_density": [ - "1.29" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "10" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_speed": [ - "45" - ], - "filament_deretraction_speed": [ - "45" - ], - "filament_vendor": [ - "Elegoo" - ], - "nozzle_temperature": [ - "255" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "240" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp": [ - "75" - ], - "textured_plate_temp_initial_layer": [ - "75" - ], - "overhang_fan_speed": [ - "90" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "20" - ], - "fan_cooling_layer_time": [ - "20" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" - ] -} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-GF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-GF @System.json new file mode 100644 index 0000000000..6ae0310d35 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-GF @System.json @@ -0,0 +1,42 @@ +{ + "type": "filament", + "name": "Elegoo PETG-GF @System", + "inherits": "Elegoo PETG @base", + "from": "system", + "setting_id": "OEPETGFS00", + "instantiation": "true", + "pressure_advance": [ + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_density": [ + "1.26" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "5" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_layer_time": [ + "6" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @System.json index a24dd618b7..c806611a42 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @System.json @@ -3,7 +3,29 @@ "name": "Elegoo PLA @System", "inherits": "Elegoo PLA @base", "from": "system", - "setting_id": "OGFSE04_00", + "setting_id": "OEPLAS00", "instantiation": "true", - "compatible_printers": [] + "filament_max_volumetric_speed": [ + "21" + ], + "nozzle_temperature_initial_layer": [ + "210" + ], + "nozzle_temperature": [ + "210" + ], + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [], + "renamed_from": "Elegoo PLA" } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json index 740ad7ba3c..6b4622c0ed 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json @@ -3,10 +3,13 @@ "name": "Elegoo PLA @base", "inherits": "fdm_filament_pla", "from": "system", - "filament_id": "OGFE04", + "filament_id": "OEPLAB00", "instantiation": "false", - "filament_cost": [ - "0" + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" ], "filament_density": [ "1.25" @@ -17,7 +20,31 @@ "filament_vendor": [ "Elegoo" ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "20" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], "filament_start_gcode": [ "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "additional_cooling_fan_speed": [ + "0" ] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Basic @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Basic @System.json new file mode 100644 index 0000000000..1f7735d6ee --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Basic @System.json @@ -0,0 +1,33 @@ +{ + "type": "filament", + "name": "Elegoo PLA Basic @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLABASICS00", + "instantiation": "true", + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Galaxy @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Galaxy @System.json new file mode 100644 index 0000000000..9b20653149 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Galaxy @System.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Elegoo PLA Galaxy @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLAGALAXYS00", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Glow @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Glow @System.json new file mode 100644 index 0000000000..c7ab217760 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Glow @System.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Elegoo PLA Glow @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLAGLOWS00", + "instantiation": "true", + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "fan_min_speed": [ + "100" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Marble @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Marble @System.json new file mode 100644 index 0000000000..1bcf34ce0c --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Marble @System.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Elegoo PLA Marble @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLAMARBLES00", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @System.json new file mode 100644 index 0000000000..6432e78e81 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @System.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Elegoo PLA Matte @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLAMS00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.25" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [], + "renamed_from": "Elegoo PLA Matte" +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA PRO @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA PRO @System.json new file mode 100644 index 0000000000..5f1a94a744 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA PRO @System.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "name": "Elegoo PLA PRO @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLAPROS00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_flow_ratio": [ + "0.99" + ], + "pressure_advance": [ + "0.032" + ], + "slow_down_layer_time": [ + "6" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [], + "renamed_from": "Elegoo PLA PRO" +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @System.json new file mode 100644 index 0000000000..dcd0aaceb4 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @System.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "name": "Elegoo PLA Silk @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLASS00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.04" + ], + "filament_density": [ + "1.32" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [], + "renamed_from": "Elegoo PLA Silk" +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Sparkle @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Sparkle @System.json new file mode 100644 index 0000000000..ec534f3c07 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Sparkle @System.json @@ -0,0 +1,39 @@ +{ + "type": "filament", + "name": "Elegoo PLA Sparkle @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLASPARKLES00", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_flow_ratio": [ + "0.99" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Translucent2 @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Translucent2 @System.json new file mode 100644 index 0000000000..4d32ef561e --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Translucent2 @System.json @@ -0,0 +1,39 @@ +{ + "type": "filament", + "name": "Elegoo PLA Translucent2 @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLATRA2S00", + "instantiation": "true", + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "fan_min_speed": [ + "100" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_retract_when_changing_layer": [ + "1" + ], + "filament_retraction_length": [ + "0.4" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Wood @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Wood @System.json new file mode 100644 index 0000000000..bda6a141b5 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Wood @System.json @@ -0,0 +1,36 @@ +{ + "type": "filament", + "name": "Elegoo PLA Wood @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLAWOODS00", + "instantiation": "true", + "fan_min_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "pressure_advance": [ + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "slow_down_layer_time": [ + "4" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA+ @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA+ @System.json new file mode 100644 index 0000000000..4074a97c00 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA+ @System.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "name": "Elegoo PLA+ @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLAPLUSS00", + "instantiation": "true", + "filament_max_volumetric_speed": [ + "20" + ], + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "slow_down_layer_time": [ + "6" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [], + "renamed_from": "Elegoo PLA+" +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @System.json new file mode 100644 index 0000000000..ba130a46b5 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @System.json @@ -0,0 +1,61 @@ +{ + "type": "filament", + "name": "Elegoo PLA-CF @System", + "inherits": "Elegoo PLA @base", + "from": "system", + "setting_id": "OEPLACFS00", + "instantiation": "true", + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "6" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "pressure_advance": [ + "0.032" + ], + "enable_pressure_advance": [ + "1" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "cool_plate_temp": [ + "45" + ], + "cool_plate_temp_initial_layer": [ + "45" + ], + "filament_density": [ + "1.21" + ], + "required_nozzle_HRC": [ + "40" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [], + "renamed_from": "Elegoo PLA-CF" +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @base.json deleted file mode 100644 index 12c6659c09..0000000000 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @base.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo PLA-CF @base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "EPLACFB00", - "instantiation": "false", - "additional_cooling_fan_speed": [ - "0" - ], - "cool_plate_temp": [ - "45" - ], - "cool_plate_temp_initial_layer": [ - "45" - ], - "filament_type": [ - "PLA-CF" - ], - "filament_vendor": [ - "Elegoo" - ], - "filament_density": [ - "1.21" - ], - "required_nozzle_HRC": [ - "40" - ], - "slow_down_layer_time": [ - "7" - ], - "filament_start_gcode": [ - "; Filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ] -} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PETG @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PETG @System.json index b8ab16611b..8cfea00748 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PETG @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PETG @System.json @@ -1,9 +1,37 @@ { "type": "filament", "name": "Elegoo Rapid PETG @System", - "inherits": "Elegoo Rapid PETG @base", + "inherits": "Elegoo PETG @base", "from": "system", - "setting_id": "OGFSE01_00", + "setting_id": "OERPETGS00", "instantiation": "true", - "compatible_printers": [] + "pressure_advance": [ + "0.052" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_flow_ratio": [ + "0.99" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "filament_density": [ + "1.26" + ], + "filament_max_volumetric_speed": [ + "18" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "compatible_printers": [], + "renamed_from": "Elegoo Rapid PETG;Elegoo Rapid PETG+" } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @System.json index d5bfca6ee6..7913e35ff3 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @System.json @@ -1,9 +1,49 @@ { "type": "filament", "name": "Elegoo Rapid PLA+ @System", - "inherits": "Elegoo Rapid PLA+ @base", + "inherits": "Elegoo PLA @base", "from": "system", - "setting_id": "OGFSE05_00", + "setting_id": "OERPLAPLUSS00", "instantiation": "true", - "compatible_printers": [] + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "4" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "pressure_advance": [ + "0.04" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_max_volumetric_speed": [ + "21" + ], + "filament_density": [ + "1.25" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "compatible_printers": [], + "renamed_from": "Elegoo Rapid PLA+" } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid TPU 95A @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid TPU 95A @System.json new file mode 100644 index 0000000000..823ac91827 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid TPU 95A @System.json @@ -0,0 +1,27 @@ +{ + "type": "filament", + "name": "Elegoo Rapid TPU 95A @System", + "inherits": "Elegoo TPU @base", + "from": "system", + "setting_id": "OERTPU95AS00", + "instantiation": "true", + "pressure_advance": [ + "0.1" + ], + "enable_pressure_advance": [ + "1" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "compatible_printers": [] +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @System.json index e4c6f89bdb..1716e4bf06 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @System.json @@ -1,9 +1,18 @@ { "type": "filament", "name": "Elegoo TPU 95A @System", - "inherits": "Elegoo TPU 95A @base", + "inherits": "Elegoo TPU @base", "from": "system", - "setting_id": "OGFSE07_00", + "setting_id": "OETPU95AS00", "instantiation": "true", + "filament_max_volumetric_speed": [ + "3.2" + ], + "pressure_advance": [ + "0.1" + ], + "enable_pressure_advance": [ + "1" + ], "compatible_printers": [] } diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU @base.json index 99ed8dc8e9..28b8c921a6 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU @base.json @@ -3,17 +3,20 @@ "name": "Elegoo TPU @base", "inherits": "fdm_filament_tpu", "from": "system", - "filament_id": "ETPUB00", + "filament_id": "OETPUB00", "instantiation": "false", + "filament_density": [ + "1.21" + ], + "filament_flow_ratio": [ + "0.96" + ], "filament_max_volumetric_speed": [ "3.6" ], "filament_vendor": [ "Elegoo" ], - "filament_density": [ - "1.21" - ], "nozzle_temperature": [ "225" ], @@ -22,5 +25,11 @@ ], "filament_start_gcode": [ "; filament start gcode\n" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "additional_cooling_fan_speed": [ + "0" ] } diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index f2e59c3b67..9d8b1c4cf7 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -3499,6 +3499,24 @@ std::string Print::output_filename(const std::string &filename_base) const config.set_key_value("plate_number", new ConfigOptionString(get_plate_number_formatted())); config.set_key_value("model_name", new ConfigOptionString(get_model_name())); + // the same type of filament contains multiple names, support exporting according to the filament name + auto full_print_config = this->full_print_config(); + const ConfigOptionStrings* filament_settings_id = full_print_config.option("filament_settings_id"); + std::string filament_name = ""; + auto extruders = this->extruders(true); + if(!extruders.empty()) { + // first extruder is the default extruder + int extruder_id = extruders.front(); + if(filament_settings_id->values.size() > extruder_id) { + filament_name = filament_settings_id->values[extruder_id]; + } + } + size_t end_pos = filament_name.find_first_of("@"); + if (end_pos != std::string::npos) { + filament_name = filament_name.substr(0, end_pos); + } + config.set_key_value("filament_name", new ConfigOptionString(filament_name)); + return this->PrintBase::output_filename(m_config.filename_format.value, ".gcode", filename_base, &config); } From 9c63aee9f875e7ec6f8a672381636e5c8e966668 Mon Sep 17 00:00:00 2001 From: anjis Date: Wed, 27 May 2026 22:59:43 +0800 Subject: [PATCH 13/69] Fix ScriptMessageHandler invalidation after RemoveAllUserScripts on Windows. (#13829) --- src/slic3r/GUI/PrinterWebView.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/slic3r/GUI/PrinterWebView.cpp b/src/slic3r/GUI/PrinterWebView.cpp index 6c20e98ce6..201f1b09e9 100644 --- a/src/slic3r/GUI/PrinterWebView.cpp +++ b/src/slic3r/GUI/PrinterWebView.cpp @@ -242,6 +242,14 @@ void PrinterWebView::SendAPIKey() )", m_apikey); m_browser->RemoveAllUserScripts(); + +#ifdef _WIN32 + // RemoveAllUserScripts causes WebView2 to forget about our script message handler, + // so re-add it here. + m_browser->RemoveScriptMessageHandler("wx"); + m_browser->AddScriptMessageHandler("wx"); +#endif + #ifdef __linux__ // Re-inject the vue-resize/WebKitGTK workaround that RemoveAllUserScripts just cleared. inject_vue_resize_workaround(m_browser); From f118b6b33785eb569056efba0ce0f0666a5a4c99 Mon Sep 17 00:00:00 2001 From: Mariano Dupont Date: Wed, 27 May 2026 12:03:44 -0300 Subject: [PATCH 14/69] Add Flashforge Adventurer 5 series local send workflow with IFS mapping (#12991) * Add Flashforge AD5X local send dialog, IFS mapping, and LAN discovery * Refine Flashforge AD5X IFS dialog behavior * Refine Flashforge IFS slot selection dialog * Fix Flashforge printer selection and print mapping * Use 3MF for Flashforge local uploads * Generalize Flashforge local API handling * Handle Flashforge local API IFS support more robustly * Use selected plate filament info for Flashforge IFS mapping * Fix Flashforge current-plate mapping and widget sizing * Improve Flashforge IFS contrast and color matching * Fix Flashforge legacy plate export and upload naming Resolve PLATE_CURRENT_IDX before the legacy send-to-printhost path calls send_gcode so single-plate Flashforge 3MF exports target the selected plate instead of leaking the sentinel into export_3mf. Sanitize Flashforge upload names in one shared utility reused by both the dialog and the backend client. This keeps the UI-visible filename and the actual uploaded filename consistent and replaces printer-problematic characters such as '=' without scattering Flashforge-specific logic through the generic Plater flow. * Keep Flashforge upload filename sanitization in the backend only Drop the PrintHostSendDialog API changes and keep filename sanitization inside the Flashforge backend paths that actually talk to the printer. This keeps the generic send dialog flow untouched while still normalizing problematic upload names for both serial and local API uploads. * Only use the Flashforge IFS dialog for local API uploads * Use reported Flashforge IFS support without model fallback * Remove unused Flashforge slot uniqueness tracking * Include for Flashforge discovery message --- src/libslic3r/Preset.cpp | 3 +- src/libslic3r/PrintConfig.cpp | 7 + src/slic3r/GUI/PartPlate.hpp | 1 + src/slic3r/GUI/PhysicalPrinterDialog.cpp | 53 +- src/slic3r/GUI/Plater.cpp | 88 ++- src/slic3r/GUI/PrintHostDialogs.cpp | 902 +++++++++++++++++++++++ src/slic3r/GUI/PrintHostDialogs.hpp | 70 +- src/slic3r/Utils/Flashforge.cpp | 500 ++++++++++++- src/slic3r/Utils/Flashforge.hpp | 27 +- 9 files changed, 1626 insertions(+), 25 deletions(-) diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index cd58e90e97..4e7234d1bc 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -1329,7 +1329,7 @@ static std::vector s_Preset_printer_options { "scan_first_layer", "enable_power_loss_recovery", "wrapping_detection_layers", "wrapping_exclude_area", "machine_load_filament_time", "machine_unload_filament_time", "machine_tool_change_time", "time_cost", "machine_pause_gcode", "template_custom_gcode", "nozzle_type", "nozzle_hrc","auxiliary_fan", "nozzle_volume","upward_compatible_machine", "z_hop_types", "travel_slope", "retract_lift_enforce","support_chamber_temp_control","support_air_filtration","printer_structure", "best_object_pos", "head_wrap_detect_zone", - "host_type", "print_host", "printhost_apikey", "bbl_use_printhost", "printer_agent", + "host_type", "print_host", "printhost_apikey", "flashforge_serial_number", "bbl_use_printhost", "printer_agent", "print_host_webui", "printhost_cafile","printhost_port","printhost_authorization_type", "printhost_user", "printhost_password", "printhost_ssl_ignore_revoke", "thumbnails", "thumbnails_format", @@ -3839,6 +3839,7 @@ static std::vector s_PhysicalPrinter_opts { "print_host", "print_host_webui", "printhost_apikey", + "flashforge_serial_number", "printhost_cafile", "printhost_port", "printhost_authorization_type", diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index b706283d07..9617c9866f 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -828,6 +828,13 @@ void PrintConfigDef::init_common_params() def->cli = ConfigOptionDef::nocli; def->set_default_value(new ConfigOptionString()); + def = this->add("flashforge_serial_number", coString); + def->label = L("Serial Number"); + def->tooltip = L("Flashforge local API requires the printer serial number."); + def->mode = comAdvanced; + def->cli = ConfigOptionDef::nocli; + def->set_default_value(new ConfigOptionString()); + def = this->add("printhost_port", coString); def->label = L("Printer"); def->tooltip = L("Name of the printer."); diff --git a/src/slic3r/GUI/PartPlate.hpp b/src/slic3r/GUI/PartPlate.hpp index 4b41cc6722..d4c5399142 100644 --- a/src/slic3r/GUI/PartPlate.hpp +++ b/src/slic3r/GUI/PartPlate.hpp @@ -338,6 +338,7 @@ public: std::vector get_extruders_without_support(bool conside_custom_gcode = false) const; // get used filaments from gcode result, 1 based idx std::vector get_used_filaments(); + const std::vector& get_slice_filaments_info() const { return slice_filaments_info; } int get_physical_extruder_by_filament_id(const DynamicConfig& g_config, int idx) const; bool check_filament_printable(const DynamicPrintConfig & config, wxString& error_message); bool check_tpu_printable_status(const DynamicPrintConfig & config, const std::vector &tpu_filaments); diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.cpp b/src/slic3r/GUI/PhysicalPrinterDialog.cpp index 667919aca3..7a85a4c1f2 100644 --- a/src/slic3r/GUI/PhysicalPrinterDialog.cpp +++ b/src/slic3r/GUI/PhysicalPrinterDialog.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -31,6 +32,7 @@ #include "PrintHostDialogs.hpp" #include "../Utils/ASCIIFolding.hpp" #include "../Utils/PrintHost.hpp" +#include "../Utils/Flashforge.hpp" #include "../Utils/UndoRedo.hpp" #include "RemovableDriveManager.hpp" #include "BitmapCache.hpp" @@ -204,10 +206,37 @@ void PhysicalPrinterDialog::build_printhost_settings(ConfigOptionsGroup* m_optgr { auto sizer = create_sizer_with_btn(parent, &m_printhost_browse_btn, "printer_host_browser", _L("Browse") + " " + dots); m_printhost_browse_btn->Bind(wxEVT_BUTTON, [=](wxCommandEvent& e) { - BonjourDialog dialog(this, Preset::printer_technology(*m_config)); - if (dialog.show_and_lookup()) { - m_optgroup->set_value("print_host", dialog.get_selected(), true); - m_optgroup->get_field("print_host")->field_changed(); + const auto host_type = m_config->opt_enum("host_type"); + if (host_type == htFlashforge) { + wxBusyCursor wait; + std::vector printers; + wxString error_msg; + if (!Flashforge::discover_printers(printers, error_msg)) { + show_error(this, error_msg); + return; + } + + wxArrayString choices; + for (const auto& printer : printers) + choices.Add(from_u8((boost::format("%1% (%2%) [%3%]") % printer.name % printer.ip_address % printer.serial_number).str())); + + wxSingleChoiceDialog dialog(this, _L("Select a Flashforge printer"), _L("Discovered Printers"), choices); + if (dialog.ShowModal() == wxID_OK) { + const int idx = dialog.GetSelection(); + if (idx >= 0 && idx < static_cast(printers.size())) { + m_optgroup->set_value("print_host", from_u8(printers[idx].ip_address), true); + m_optgroup->set_value("flashforge_serial_number", from_u8(printers[idx].serial_number), true); + m_config->opt_string("print_host") = printers[idx].ip_address; + m_config->opt_string("flashforge_serial_number") = printers[idx].serial_number; + update_printhost_buttons(); + } + } + } else { + BonjourDialog dialog(this, Preset::printer_technology(*m_config)); + if (dialog.show_and_lookup()) { + m_optgroup->set_value("print_host", dialog.get_selected(), true); + m_optgroup->get_field("print_host")->field_changed(); + } } }); @@ -329,6 +358,10 @@ void PhysicalPrinterDialog::build_printhost_settings(ConfigOptionsGroup* m_optgr option.opt.width = Field::def_width_wider(); m_optgroup->append_single_option_line(option); + option = m_optgroup->get_option("flashforge_serial_number"); + option.opt.width = Field::def_width_wider(); + m_optgroup->append_single_option_line(option); + option = m_optgroup->get_option("printhost_port"); option.opt.width = Field::def_width_wider(); Line port_line = m_optgroup->create_single_option_line(option); @@ -685,13 +718,17 @@ void PhysicalPrinterDialog::update(bool printer_change) } if (opt->value == htFlashforge) { - m_optgroup->hide_field("printhost_apikey"); - m_optgroup->hide_field("printhost_authorization_type"); - } + m_optgroup->show_field("printhost_apikey"); + m_optgroup->show_field("flashforge_serial_number"); + m_optgroup->hide_field("printhost_authorization_type"); + } else { + m_optgroup->hide_field("flashforge_serial_number"); + } } else { m_optgroup->set_value("host_type", int(PrintHostType::htOctoPrint), false); m_optgroup->hide_field("host_type"); + m_optgroup->hide_field("flashforge_serial_number"); m_optgroup->show_field("printhost_authorization_type"); @@ -809,7 +846,7 @@ void PhysicalPrinterDialog::on_dpi_changed(const wxRect& suggested_rect) void PhysicalPrinterDialog::check_host_key_valid() { - std::vector keys = {"print_host", "print_host_webui", "printhost_apikey", "printhost_cafile", "printhost_user", "printhost_password", "printhost_port"}; + std::vector keys = {"print_host", "print_host_webui", "printhost_apikey", "flashforge_serial_number", "printhost_cafile", "printhost_user", "printhost_password", "printhost_port"}; for (auto &key : keys) { auto it = m_config->option(key); if (!it) m_config->set_key_value(key, new ConfigOptionString("")); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 00c2ed65ff..8d46b6dc3b 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -16081,6 +16081,18 @@ void Plater::send_gcode_legacy(int plate_idx, Export3mfProgressFn proFn, bool us if (upload_job.empty()) return; + const auto host_type_opt = physical_printer_config->option>("host_type"); + const auto host_type = host_type_opt != nullptr ? host_type_opt->value : htElegooLink; + const auto* ff_serial_opt = physical_printer_config->option("flashforge_serial_number"); + const auto* ff_code_opt = physical_printer_config->option("printhost_apikey"); + const bool flashforge_local_api = + host_type == htFlashforge && + ff_serial_opt != nullptr && !ff_serial_opt->value.empty() && + ff_code_opt != nullptr && !ff_code_opt->value.empty(); + + if (flashforge_local_api) + use_3mf = true; + upload_job.upload_data.use_3mf = use_3mf; // Obtain default output path @@ -16128,8 +16140,6 @@ void Plater::send_gcode_legacy(int plate_idx, Export3mfProgressFn proFn, bool us { auto preset_bundle = wxGetApp().preset_bundle; - const auto opt = physical_printer_config->option>("host_type"); - const auto host_type = opt != nullptr ? opt->value : htElegooLink; auto config = get_app_config(); std::unique_ptr pDlg; @@ -16137,6 +16147,77 @@ void Plater::send_gcode_legacy(int plate_idx, Export3mfProgressFn proFn, bool us pDlg = std::make_unique(default_output_file, upload_job.printhost->get_post_upload_actions(), groups, storage_paths, storage_names, config->get_bool("open_device_tab_post_upload")); + } else if (flashforge_local_api) { + auto* flashforge_host = dynamic_cast(upload_job.printhost.get()); + if (flashforge_host == nullptr) { + show_error(this, _L("Flashforge host is not available."), false); + return; + } + + std::vector slots; + bool supports_material_station = false; + { + wxBusyCursor wait; + wxString msg; + if (!flashforge_host->fetch_material_slots(slots, &supports_material_station, msg)) { + show_error(this, msg.empty() ? _L("Unable to log in to the Flashforge printer.") : msg, false); + return; + } + } + + std::vector project_filaments; + PlateDataPtrs plate_data_list; + DynamicPrintConfig cfg = wxGetApp().preset_bundle->full_config(); + const auto* filament_color = dynamic_cast(cfg.option("filament_colour")); + const auto* filament_id_opt = dynamic_cast(cfg.option("filament_ids")); + const int resolved_plate_idx = plate_idx == PLATE_CURRENT_IDX ? get_partplate_list().get_curr_plate_index() : plate_idx; + auto enrich_project_filaments = [&](std::vector& filaments) { + for (auto& filament : filaments) { + if (filament.id < 0) + continue; + + std::string display_filament_type; + try { + filament.type = cfg.get_filament_type(display_filament_type, filament.id); + } catch (...) { + } + + if (filament.type.empty()) + filament.type = display_filament_type; + if (filament.type.empty()) + filament.type = "Unknown"; + + filament.filament_id = filament_id_opt ? filament_id_opt->get_at(static_cast(filament.id)) : ""; + filament.color = filament_color ? filament_color->get_at(static_cast(filament.id)) : "#FFFFFF"; + if (filament.color.empty()) + filament.color = "#FFFFFF"; + } + }; + + p->partplate_list.store_to_3mf_structure(plate_data_list, true, plate_idx); + PlateData* selected_plate_data = (resolved_plate_idx >= 0 && resolved_plate_idx < static_cast(plate_data_list.size())) ? plate_data_list[resolved_plate_idx] : nullptr; + if (selected_plate_data == nullptr && !plate_data_list.empty()) + selected_plate_data = plate_data_list.front(); + + if (selected_plate_data != nullptr) + project_filaments = selected_plate_data->slice_filaments_info; + + if (project_filaments.empty()) { + if (PartPlate* plate = get_partplate_list().get_plate(resolved_plate_idx); plate != nullptr) + project_filaments = plate->get_slice_filaments_info(); + } + + if (!project_filaments.empty()) + enrich_project_filaments(project_filaments); + release_PlateData_list(plate_data_list); + + pDlg = std::make_unique(default_output_file, upload_job.printhost->get_post_upload_actions(), groups, + storage_paths, storage_names, + config->get_bool("open_device_tab_post_upload"), + flashforge_host, + supports_material_station, + std::move(slots), + project_filaments); } else { pDlg = std::make_unique(default_output_file, upload_job.printhost->get_post_upload_actions(), groups, storage_paths, storage_names, config->get_bool("open_device_tab_post_upload")); @@ -16166,7 +16247,8 @@ void Plater::send_gcode_legacy(int plate_idx, Export3mfProgressFn proFn, bool us if (use_3mf) { // Process gcode - const int result = send_gcode(plate_idx, nullptr); + const int export_plate_idx = plate_idx == PLATE_CURRENT_IDX ? get_partplate_list().get_curr_plate_index() : plate_idx; + const int result = send_gcode(export_plate_idx, nullptr); if (result < 0) { wxString msg = _L("Abnormal print file data. Please slice again"); diff --git a/src/slic3r/GUI/PrintHostDialogs.cpp b/src/slic3r/GUI/PrintHostDialogs.cpp index f59ff23e9d..1d9b30fd1b 100644 --- a/src/slic3r/GUI/PrintHostDialogs.cpp +++ b/src/slic3r/GUI/PrintHostDialogs.cpp @@ -1,7 +1,9 @@ #include "PrintHostDialogs.hpp" #include +#include #include +#include #include #include @@ -11,6 +13,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -18,6 +23,8 @@ #include #include #include +#include +#include #include "GUI.hpp" #include "GUI_App.hpp" @@ -30,10 +37,383 @@ #include "format.hpp" namespace fs = boost::filesystem; +using json = nlohmann::json; namespace Slic3r { namespace GUI { +namespace { + +wxColour contrasting_text_color(const wxColour& background) +{ + return background.GetLuminance() < 0.60 ? *wxWHITE : wxColour("#303030"); +} + +long long color_distance_sq(const wxColour& lhs, const wxColour& rhs) +{ + const long long dr = static_cast(lhs.Red()) - static_cast(rhs.Red()); + const long long dg = static_cast(lhs.Green()) - static_cast(rhs.Green()); + const long long db = static_cast(lhs.Blue()) - static_cast(rhs.Blue()); + return dr * dr + dg * dg + db * db; +} + +class FlashforgeSlotCard : public wxPanel +{ +public: + FlashforgeSlotCard(wxWindow* parent) + : wxPanel(parent, wxID_ANY) + { + SetDoubleBuffered(true); + SetMinSize(wxSize(FromDIP(68), FromDIP(92))); + SetMaxSize(GetMinSize()); + Bind(wxEVT_PAINT, &FlashforgeSlotCard::on_paint, this); + Bind(wxEVT_ENTER_WINDOW, [this](wxMouseEvent& e) { + m_hover = true; + SetCursor(wxCursor(m_enabled ? wxCURSOR_HAND : wxCURSOR_NO_ENTRY)); + Refresh(); + e.Skip(); + }); + Bind(wxEVT_LEAVE_WINDOW, [this](wxMouseEvent& e) { + m_hover = false; + SetCursor(wxCursor(wxCURSOR_ARROW)); + Refresh(); + e.Skip(); + }); + Bind(wxEVT_LEFT_DOWN, &FlashforgeSlotCard::on_left_down, this); + } + + void set_slot(const Slic3r::FlashforgeMaterialSlot& slot, bool enabled) + { + m_slot_id = slot.slot_id; + m_color = parse_color(slot.material_color); + m_name = slot.material_name.empty() ? _L("Unknown") : from_u8(slot.material_name); + m_empty = !slot.has_filament; + m_enabled = enabled && !m_empty; + Refresh(); + } + +private: + static wxColour parse_color(const std::string& raw) + { + wxColour color(from_u8(raw)); + if (color.IsOk()) + return color; + + std::string value = raw; + boost::trim(value); + if (!value.empty() && value.front() != '#') + value.insert(value.begin(), '#'); + color = wxColour(from_u8(value)); + return color.IsOk() ? color : wxColour("#D0D0D0"); + } + + void on_left_down(wxMouseEvent& e) + { + if (!m_enabled) + return; + + wxCommandEvent evt(wxEVT_BUTTON, GetId()); + evt.SetInt(m_slot_id); + evt.SetString(m_color.GetAsString(wxC2S_HTML_SYNTAX)); + wxPostEvent(this, evt); + e.Skip(); + } + + void on_paint(wxPaintEvent&) + { + wxPaintDC dc(this); + std::unique_ptr gc(wxGraphicsContext::Create(dc)); + if (gc == nullptr) + return; + + const wxSize size = GetSize(); + const int circle_size = FromDIP(24); + const int outline_width = (m_hover && m_enabled) ? FromDIP(2) : FromDIP(1); + const wxRect body_rect(FromDIP(7), FromDIP(26), size.x - FromDIP(14), size.y - FromDIP(32)); + const wxColour badge_color = m_enabled ? wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT) + : wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT); + const wxColour body_border = m_enabled ? wxSystemSettings::GetColour(wxSYS_COLOUR_BTNSHADOW) + : wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT); + + gc->SetPen(*wxTRANSPARENT_PEN); + gc->SetBrush(wxBrush((m_hover && m_enabled) ? badge_color.ChangeLightness(130) : badge_color)); + gc->DrawEllipse((size.x - circle_size) / 2.0, 0, circle_size, circle_size); + + dc.SetFont(::Label::Body_13); + dc.SetTextForeground(*wxWHITE); + const wxString slot_txt = wxString::Format("%d", m_slot_id); + const wxSize slot_size = dc.GetTextExtent(slot_txt); + dc.DrawText(slot_txt, (size.x - slot_size.x) / 2, (circle_size - slot_size.y) / 2); + + const wxColour bg_color = m_empty ? wxColour("#F6F6F6") : m_color; + gc->SetPen(wxPen(body_border, outline_width)); + gc->SetBrush(wxBrush(bg_color)); + gc->DrawRoundedRectangle(body_rect.x, body_rect.y, body_rect.width, body_rect.height, FromDIP(8)); + + dc.SetFont(::Label::Body_12); + dc.SetTextForeground(contrasting_text_color(bg_color)); + + wxString label = m_empty ? _L("Empty") : m_name; + if (dc.GetTextExtent(label).x > body_rect.width - FromDIP(8)) + dc.SetFont(::Label::Body_10); + if (dc.GetTextExtent(label).x > body_rect.width - FromDIP(8)) { + while (!label.empty() && dc.GetTextExtent(label + "...").x > body_rect.width - FromDIP(8)) + label.RemoveLast(); + label += "..."; + } + const wxSize label_size = dc.GetTextExtent(label); + dc.DrawText(label, body_rect.x + (body_rect.width - label_size.x) / 2, body_rect.y + (body_rect.height - label_size.y) / 2); + } + +private: + int m_slot_id {0}; + wxColour m_color {*wxWHITE}; + wxString m_name; + bool m_empty {true}; + bool m_enabled {false}; + bool m_hover {false}; +}; + +class FlashforgeSlotDialog : public DPIDialog +{ +public: + FlashforgeSlotDialog(wxWindow* parent, const wxString& material_name) + : DPIDialog(parent, wxID_ANY, _L("Choose a slot for the selected color"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX) + , m_material_name(material_name) + { + SetFont(wxGetApp().normal_font()); + SetBackgroundColour(*wxWHITE); + + auto* root = new wxBoxSizer(wxVERTICAL); + auto* title = new wxStaticText(this, wxID_ANY, _L("Material in the material station")); + title->SetFont(::Label::Head_13); + root->Add(title, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, FromDIP(12)); + + m_grid = new wxGridSizer(1, 4, FromDIP(10), FromDIP(12)); + auto* grid_row = new wxBoxSizer(wxHORIZONTAL); + grid_row->AddStretchSpacer(); + grid_row->Add(m_grid, 0); + grid_row->AddStretchSpacer(); + root->Add(grid_row, 0, wxLEFT | wxRIGHT | wxEXPAND, FromDIP(18)); + + auto* tip = new wxStaticText(this, wxID_ANY, _L("Only materials of the same type can be selected.")); + tip->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + root->Add(tip, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, FromDIP(12)); + + SetSizer(root); + SetMinSize(wxSize(FromDIP(460), FromDIP(240))); + + for (int i = 0; i < 4; ++i) { + auto* card = new FlashforgeSlotCard(this); + card->Bind(wxEVT_BUTTON, [this](wxCommandEvent& e) { + m_selected_slot_id = e.GetInt(); + m_selected_color = wxColour(e.GetString()); + EndModal(wxID_OK); + }); + m_cards.push_back(card); + m_grid->Add(card, 0); + } + + wxGetApp().UpdateDlgDarkUI(this); + Layout(); + Fit(); + CenterOnParent(); + Refresh(); + } + + void update_slots(const std::vector& slots, const std::function& matcher) + { + for (size_t i = 0; i < m_cards.size(); ++i) { + Slic3r::FlashforgeMaterialSlot slot; + slot.slot_id = static_cast(i) + 1; + if (const auto it = std::find_if(slots.begin(), slots.end(), [&](const Slic3r::FlashforgeMaterialSlot& item) { return item.slot_id == slot.slot_id; }); it != slots.end()) + slot = *it; + const bool enabled = slot.has_filament && matcher(slot); + m_cards[i]->set_slot(slot, enabled); + } + Layout(); + Fit(); + } + + bool has_selection() const { return m_selected_slot_id > 0; } + int selected_slot_id() const { return m_selected_slot_id; } + wxColour selected_color() const { return m_selected_color; } + +protected: + void on_dpi_changed(const wxRect& suggested_rect) override + { + Fit(); + Refresh(); + if (suggested_rect.IsEmpty()) + return; + SetSize(suggested_rect.GetSize()); + } + +private: + wxString m_material_name; + wxGridSizer* m_grid {nullptr}; + std::vector m_cards; + int m_selected_slot_id {0}; + wxColour m_selected_color; +}; + +class FlashforgeMaterialMapWidget : public wxPanel +{ +public: + using SelectFn = std::function; + + FlashforgeMaterialMapWidget(wxWindow* parent, int tool_id, const wxColour& color, const wxString& material_name, SelectFn on_select) + : wxPanel(parent, wxID_ANY) + , m_tool_id(tool_id) + , m_color(color) + , m_name(material_name.Strip()) + , m_select_fn(std::move(on_select)) + { + SetDoubleBuffered(true); + const wxSize size(FromDIP(72), FromDIP(58)); + SetSize(size); + SetMinSize(size); + SetMaxSize(size); + Bind(wxEVT_PAINT, &FlashforgeMaterialMapWidget::on_paint, this); + Bind(wxEVT_LEFT_DOWN, &FlashforgeMaterialMapWidget::on_left_down, this); + + } + + int tool_id() const { return m_tool_id; } + int selected_slot_id() const { return m_slot_id; } + bool is_slot_selected() const { return m_slot_id > 0; } + wxString material_name() const { return m_name; } + + void set_enable_mapping(bool enable) + { + if (m_mapping_enabled == enable) + return; + m_mapping_enabled = enable; + if (!enable) + reset_slot(); + Enable(enable); + Refresh(); + } + + void set_slot_selection(int slot_id, const wxColour& slot_color) + { + m_slot_id = slot_id; + m_slot_color = slot_color; + Refresh(); + } + + void reset_slot() + { + m_slot_id = 0; + m_slot_color = wxColour("#DDDDDD"); + Refresh(); + } + + void update_popup_slots(const std::vector& slots, const std::function& matcher) + { + m_slots_snapshot = slots; + m_matcher = matcher; + } + + wxSize DoGetBestSize() const override + { + return wxSize(FromDIP(72), FromDIP(58)); + } + +private: + void on_left_down(wxMouseEvent& e) + { + if (!m_mapping_enabled) + return; + + FlashforgeSlotDialog dlg(this, m_name); + dlg.update_slots(m_slots_snapshot, m_matcher); + m_selected = true; + Refresh(); + if (dlg.ShowModal() == wxID_OK && dlg.has_selection()) { + m_slot_id = dlg.selected_slot_id(); + m_slot_color = dlg.selected_color(); + if (m_select_fn) + m_select_fn(this); + } + m_selected = false; + Refresh(); + e.Skip(); + } + + void on_paint(wxPaintEvent&) + { + wxPaintDC dc(this); + std::unique_ptr gc(wxGraphicsContext::Create(dc)); + if (gc == nullptr) + return; + + const wxSize size = GetSize(); + const int half_h = size.y / 2; + gc->SetPen(*wxTRANSPARENT_PEN); + gc->SetBrush(wxBrush(m_color)); + gc->DrawRoundedRectangle(0, 0, size.x, half_h, FromDIP(3)); + gc->DrawRectangle(0, half_h - FromDIP(3), size.x, FromDIP(3)); + + gc->SetBrush(wxBrush(m_mapping_enabled ? m_slot_color : wxColour("#DDDDDD"))); + gc->DrawRoundedRectangle(0, half_h, size.x, half_h, FromDIP(3)); + gc->DrawRectangle(0, half_h, size.x, FromDIP(3)); + + if (m_selected) { + gc->SetPen(wxPen(wxColour("#00AE42"), FromDIP(2))); + gc->SetBrush(*wxTRANSPARENT_BRUSH); + gc->DrawRoundedRectangle(0, 0, size.x - FromDIP(1), size.y - FromDIP(1), FromDIP(3)); + } else if (m_color.GetLuminance() > 0.95 || m_slot_color.GetLuminance() > 0.95) { + gc->SetPen(wxPen(wxColour("#ACACAC"), FromDIP(1))); + gc->SetBrush(*wxTRANSPARENT_BRUSH); + gc->DrawRoundedRectangle(0, 0, size.x - FromDIP(1), size.y - FromDIP(1), FromDIP(3)); + } + + dc.SetFont(::Label::Body_13); + dc.SetTextForeground(contrasting_text_color(m_color)); + wxString top_text = m_name; + if (dc.GetTextExtent(top_text).x > size.x - FromDIP(10)) { + dc.SetFont(::Label::Body_10); + } + wxSize top_size = dc.GetTextExtent(top_text); + dc.DrawText(top_text, (size.x - top_size.x) / 2, (half_h - top_size.y) / 2); + + dc.SetFont(::Label::Body_13); + dc.SetTextForeground(contrasting_text_color(m_slot_color)); + const wxString bottom_text = m_slot_id > 0 ? wxString::Format("%d", m_slot_id) : "-"; + const wxSize bottom_size = dc.GetTextExtent(bottom_text); + dc.DrawText(bottom_text, (size.x - bottom_size.x - FromDIP(10)) / 2, half_h + (half_h - bottom_size.y) / 2); + + wxPoint pts[3] = { + wxPoint(size.x - FromDIP(18), half_h + half_h / 2 - FromDIP(2)), + wxPoint(size.x - FromDIP(10), half_h + half_h / 2 - FromDIP(2)), + wxPoint(size.x - FromDIP(14), half_h + half_h / 2 + FromDIP(3)) + }; + dc.SetBrush(wxBrush(contrasting_text_color(m_slot_color))); + dc.SetPen(*wxTRANSPARENT_PEN); + dc.DrawPolygon(3, pts); + } + +private: + int m_tool_id {-1}; + wxColour m_color; + wxString m_name; + wxColour m_slot_color {wxColour("#DDDDDD")}; + int m_slot_id {0}; + bool m_selected {false}; + bool m_mapping_enabled {true}; + SelectFn m_select_fn; + std::vector m_slots_snapshot; + std::function m_matcher; +}; + +static FlashforgeMaterialMapWidget* as_ff_map_widget(wxWindow* window) +{ + return dynamic_cast(window); +} + +} // namespace + static const char *CONFIG_KEY_PATH = "printhost_path"; static const char *CONFIG_KEY_GROUP = "printhost_group"; static const char* CONFIG_KEY_STORAGE = "printhost_storage"; @@ -257,6 +637,528 @@ void PrintHostSendDialog::EndModal(int ret) MsgDialog::EndModal(ret); } +FlashforgePrintHostSendDialog::FlashforgePrintHostSendDialog(const fs::path& path, + PrintHostPostUploadActions post_actions, + const wxArrayString& groups, + const wxArrayString& storage_paths, + const wxArrayString& storage_names, + bool switch_to_device_tab, + const Slic3r::Flashforge* host, + bool supports_material_station, + std::vector slots, + const std::vector& project_filaments) + : PrintHostSendDialog(path, post_actions, groups, storage_paths, storage_names, switch_to_device_tab) + , m_host(host) + , m_slots(std::move(slots)) + , m_project_filaments(project_filaments) +{ + m_supports_material_station = supports_material_station; + m_slots_loaded = !m_slots.empty(); +} + +void FlashforgePrintHostSendDialog::init() +{ + const AppConfig* app_config = wxGetApp().app_config; + const auto& path = m_path; + + std::string leveling = app_config->get("recent", CONFIG_KEY_LEVELING); + if (!leveling.empty()) + m_leveling_before_print = leveling == "1"; + + std::string timelapse = app_config->get("recent", CONFIG_KEY_TIMELAPSE); + if (!timelapse.empty()) + m_time_lapse_video = timelapse == "1"; + + // Flashforge local printing should default to IFS enabled when supported. + // We don't revive an old stale "0" here. + m_use_material_station = m_supports_material_station; + if (m_supports_material_station && !app_config->has("recent", CONFIG_KEY_IFS)) + const_cast(app_config)->set("recent", CONFIG_KEY_IFS, "1"); + + this->SetMinSize(wxSize(560, 420)); + + auto* label_dir_hint = new wxStaticText(this, wxID_ANY, _L("Use forward slashes ( / ) as a directory separator if needed.")); + label_dir_hint->Wrap(CONTENT_WIDTH * wxGetApp().em_unit()); + content_sizer->Add(txt_filename, 0, wxEXPAND); + content_sizer->Add(label_dir_hint); + content_sizer->AddSpacer(VERT_SPACING); + + wxString recent_path = from_u8(app_config->get("recent", CONFIG_KEY_PATH)); + if (recent_path.Length() > 0 && recent_path[recent_path.Length() - 1] != '/') + recent_path += '/'; + const auto recent_path_len = recent_path.Length(); + recent_path += path.filename().wstring(); + wxString stem(path.stem().wstring()); + const auto stem_len = stem.Length(); + txt_filename->SetValue(recent_path); + + { + auto checkbox_sizer = new wxBoxSizer(wxHORIZONTAL); + auto checkbox = new ::CheckBox(this, wxID_APPLY); + checkbox->SetValue(m_switch_to_device_tab); + checkbox->Bind(wxEVT_TOGGLEBUTTON, [this](wxCommandEvent& e) { + auto* source = dynamic_cast<::CheckBox*>(e.GetEventObject()); + if (source != nullptr) + source->SetValue(e.IsChecked()); + m_switch_to_device_tab = e.IsChecked(); + e.Skip(); + }); + checkbox_sizer->Add(checkbox, 0, wxALL | wxALIGN_CENTER, FromDIP(2)); + + auto checkbox_text = new wxStaticText(this, wxID_ANY, _L("Switch to Device tab after upload.")); + checkbox_text->SetFont(::Label::Body_13); + checkbox_text->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#323A3D"))); + checkbox_sizer->Add(checkbox_text, 0, wxALL | wxALIGN_CENTER, FromDIP(2)); + content_sizer->Add(checkbox_sizer); + content_sizer->AddSpacer(VERT_SPACING); + } + + m_flashforge_options_sizer = new wxBoxSizer(wxVERTICAL); + + auto add_option_checkbox = [this](wxBoxSizer* parent, const wxString& label, bool value, std::function setter, ::CheckBox** out = nullptr) { + auto row = new wxBoxSizer(wxHORIZONTAL); + auto checkbox = new ::CheckBox(this); + checkbox->SetValue(value); + checkbox->Bind(wxEVT_TOGGLEBUTTON, [setter](wxCommandEvent& e) { + auto* source = dynamic_cast<::CheckBox*>(e.GetEventObject()); + if (source != nullptr) + source->SetValue(e.IsChecked()); + setter(e.IsChecked()); + e.Skip(); + }); + row->Add(checkbox, 0, wxALL | wxALIGN_CENTER, FromDIP(2)); + + auto text = new wxStaticText(this, wxID_ANY, label); + text->SetFont(::Label::Body_13); + text->SetForegroundColour(StateColor::darkModeColorFor(wxColour("#323A3D"))); + row->Add(text, 0, wxALL | wxALIGN_CENTER, FromDIP(2)); + parent->Add(row); + parent->AddSpacer(FromDIP(6)); + + if (out != nullptr) + *out = checkbox; + }; + + add_option_checkbox(m_flashforge_options_sizer, _L("Leveling before print"), m_leveling_before_print, + [this](bool checked) { m_leveling_before_print = checked; }, &m_checkbox_leveling); + add_option_checkbox(m_flashforge_options_sizer, _L("Time-lapse"), m_time_lapse_video, + [this](bool checked) { m_time_lapse_video = checked; }, &m_checkbox_timelapse); + add_option_checkbox(m_flashforge_options_sizer, _L("Enable IFS"), m_use_material_station, + [this](bool checked) { + m_use_material_station = checked; + if (checked) { + ensure_slots_loaded(); + rebuild_mapping_rows(); + } + sync_mapping_section_visibility(); + }, &m_checkbox_ifs); + + if (m_checkbox_ifs != nullptr && !m_supports_material_station) + m_checkbox_ifs->Enable(false); + + m_status_text = new wxStaticText(this, wxID_ANY, wxEmptyString); + m_status_text->SetFont(::Label::Body_12); + m_flashforge_options_sizer->Add(m_status_text, 0, wxTOP | wxBOTTOM, FromDIP(4)); + + m_mapping_section_sizer = new wxBoxSizer(wxVERTICAL); + m_mapping_wrap_sizer = new wxWrapSizer(wxHORIZONTAL, wxWRAPSIZER_DEFAULT_FLAGS); + m_mapping_section_sizer->Add(m_mapping_wrap_sizer, 0, wxTOP | wxALIGN_LEFT, FromDIP(10)); + m_flashforge_options_sizer->Add(m_mapping_section_sizer, 0, wxEXPAND); + + content_sizer->Add(m_flashforge_options_sizer, 0, wxEXPAND); + + if (m_supports_material_station) + m_status_text->SetLabel(wxString::Format(_L("Detected %d IFS slots on printer."), static_cast(m_slots.size()))); + else + m_status_text->SetLabel(_L("This printer does not report a material station.")); + + rebuild_mapping_rows(); + sync_mapping_section_visibility(); + + if (size_t extension_start = recent_path.find_last_of('.'); extension_start != std::string::npos) + m_valid_suffix = recent_path.substr(extension_start); + + auto validate_path = [this](const wxString& filename) -> bool { + if (!filename.Lower().EndsWith(m_valid_suffix.Lower())) { + MessageDialog msg_wingow(this, wxString::Format(_L("Upload filename doesn't end with \"%s\". Do you wish to continue?"), m_valid_suffix), + wxString(SLIC3R_APP_NAME), wxYES | wxNO); + if (msg_wingow.ShowModal() == wxID_NO) + return false; + } + return validate_before_close(); + }; + + auto* btn_ok = add_button(wxID_OK, true, _L("Upload")); + btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { + if (validate_path(txt_filename->GetValue())) { + post_upload_action = PrintHostPostUploadAction::None; + EndDialog(wxID_OK); + } + }); + + if (m_post_actions.has(PrintHostPostUploadAction::StartPrint)) { + auto* btn_print = add_button(wxID_YES, false, _L("Upload and Print")); + btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { + if (validate_path(txt_filename->GetValue())) { + post_upload_action = PrintHostPostUploadAction::StartPrint; + EndDialog(wxID_OK); + } + }); + } + + add_button(wxID_CANCEL, false, _L("Cancel")); + finalize(); + txt_filename->SetFocus(); + +#ifdef __linux__ + txt_filename->Bind(wxEVT_KILL_FOCUS, [this](wxEvent& e) { + e.Skip(); + txt_filename->SetInsertionPoint(txt_filename->GetLastPosition()); + }, txt_filename->GetId()); +#endif /* __linux__ */ + + Bind(wxEVT_SHOW, [=](const wxShowEvent&) { + CallAfter([=]() { + txt_filename->SetInsertionPoint(0); + txt_filename->SetSelection(recent_path_len, recent_path_len + stem_len); + }); + }); +} + +void FlashforgePrintHostSendDialog::EndModal(int ret) +{ + if (ret == wxID_OK) { + AppConfig* app_config = wxGetApp().app_config; + app_config->set("recent", CONFIG_KEY_LEVELING, m_leveling_before_print ? "1" : "0"); + app_config->set("recent", CONFIG_KEY_TIMELAPSE, m_time_lapse_video ? "1" : "0"); + app_config->set("recent", CONFIG_KEY_IFS, m_use_material_station ? "1" : "0"); + } + + PrintHostSendDialog::EndModal(ret); +} + +std::map FlashforgePrintHostSendDialog::extendedInfo() const +{ + json mappings = json::array(); + int mapped_count = 0; + + if (m_use_material_station) { + for (const auto& row : m_mapping_rows) { + auto* card = as_ff_map_widget(row.card); + if (card == nullptr || row.tool_id < 0) + continue; + + const int slot_id = card->selected_slot_id(); + if (slot_id <= 0) + continue; + + const auto filament_it = std::find_if(m_project_filaments.begin(), m_project_filaments.end(), [&](const FilamentInfo& item) { return item.id == row.tool_id; }); + const auto slot_it = std::find_if(m_slots.begin(), m_slots.end(), [&](const FlashforgeMaterialSlot& slot) { return slot.slot_id == slot_id; }); + if (filament_it == m_project_filaments.end() || slot_it == m_slots.end()) + continue; + + mappings.push_back({ + {"toolId", filament_it->id}, + {"slotId", slot_it->slot_id}, + {"materialName", slot_it->material_name}, + {"toolMaterialColor", filament_it->color}, + {"slotMaterialColor", slot_it->material_color} + }); + ++mapped_count; + } + } + + return { + {"levelingBeforePrint", m_leveling_before_print ? "1" : "0"}, + {"timeLapseVideo", m_time_lapse_video ? "1" : "0"}, + {"useMatlStation", m_use_material_station ? "1" : "0"}, + {"gcodeToolCnt", std::to_string(mapped_count)}, + {"materialMappings", mappings.dump()} + }; +} + +void FlashforgePrintHostSendDialog::load_slots() +{ + m_slots.clear(); + m_slots_loaded = false; + m_supports_material_station = false; + + if (m_host == nullptr) { + m_status_text->SetLabel(_L("Flashforge host is not available.")); + return; + } + + wxString msg; + bool supports_material_station = false; + if (!m_host->fetch_material_slots(m_slots, &supports_material_station, msg)) { + m_status_text->SetLabel(msg.empty() ? _L("Unable to read IFS slots from printer.") : msg); + return; + } + + m_supports_material_station = supports_material_station; + m_slots_loaded = !m_slots.empty(); + m_use_material_station = m_supports_material_station; + + if (m_supports_material_station) + m_status_text->SetLabel(wxString::Format(_L("Detected %d IFS slots on printer."), static_cast(m_slots.size()))); + else + m_status_text->SetLabel(_L("This printer does not report a material station.")); +} + +bool FlashforgePrintHostSendDialog::ensure_slots_loaded(bool force_reload) +{ + if (!force_reload && (m_slots_loaded || !m_supports_material_station)) + return m_slots_loaded; + + if (m_status_text != nullptr) + m_status_text->SetLabel(_L("Loading IFS slots from printer...")); + + wxBusyCursor wait; + load_slots(); + return m_slots_loaded; +} + +void FlashforgePrintHostSendDialog::rebuild_mapping_rows() +{ + if (m_mapping_wrap_sizer == nullptr) + return; + + m_mapping_wrap_sizer->Clear(true); + m_mapping_rows.clear(); + + if (m_project_filaments.empty()) { + m_mapping_wrap_sizer->Add(new wxStaticText(this, wxID_ANY, _L("Slice the plate first to get project material information.")), 0, wxALL, FromDIP(2)); + return; + } + + for (const auto& filament : m_project_filaments) { + auto* card = new FlashforgeMaterialMapWidget(this, filament.id, to_wx_colour(filament.color), from_u8(filament.get_display_filament_type()), + [this](FlashforgeMaterialMapWidget* changed_card) { + if (changed_card == nullptr) + return; + for (auto& row : m_mapping_rows) { + if (row.card == changed_card) { + refresh_mapping_card(row); + break; + } + } + }); + m_mapping_wrap_sizer->Add(card, 0, wxRIGHT | wxBOTTOM | wxFIXED_MINSIZE, FromDIP(10)); + + MappingRow row; + row.tool_id = filament.id; + row.card = card; + m_mapping_rows.push_back(row); + } + + auto_assign_mappings(); +} + +void FlashforgePrintHostSendDialog::auto_assign_mappings() +{ + for (size_t idx = 0; idx < m_project_filaments.size() && idx < m_mapping_rows.size(); ++idx) { + auto& filament = m_project_filaments[idx]; + auto* card = as_ff_map_widget(m_mapping_rows[idx].card); + if (card == nullptr) + continue; + + const wxColour filament_color = to_wx_colour(filament.color); + const Slic3r::FlashforgeMaterialSlot* best_slot = nullptr; + long long best_distance = std::numeric_limits::max(); + + for (const auto& slot : m_slots) { + if (!slot.has_filament || !slot_matches_filament(slot, filament)) + continue; + + const long long distance = color_distance_sq(filament_color, to_wx_colour(slot.material_color)); + if (best_slot == nullptr || distance < best_distance) { + best_slot = &slot; + best_distance = distance; + } + } + + if (best_slot != nullptr) + card->set_slot_selection(best_slot->slot_id, to_wx_colour(best_slot->material_color)); + else + card->reset_slot(); + + refresh_mapping_card(m_mapping_rows[idx]); + } +} + +void FlashforgePrintHostSendDialog::refresh_mapping_card(MappingRow& row) +{ + auto* card = as_ff_map_widget(row.card); + if (card == nullptr) + return; + + const auto* filament = find_filament_by_tool_id(row.tool_id); + card->set_enable_mapping(m_use_material_station); + card->update_popup_slots(m_slots, [this, filament](const FlashforgeMaterialSlot& slot) { + return filament != nullptr && slot_matches_filament(slot, *filament); + }); + + if (card->selected_slot_id() <= 0) { + card->reset_slot(); + return; + } + + const auto* slot = find_slot_by_id(std::to_string(card->selected_slot_id())); + if (slot == nullptr) { + card->reset_slot(); + return; + } + + card->set_slot_selection(slot->slot_id, to_wx_colour(slot->material_color)); +} + +void FlashforgePrintHostSendDialog::sync_mapping_section_visibility() +{ + if (m_mapping_section_sizer == nullptr) + return; + + m_mapping_section_sizer->ShowItems(m_use_material_station && m_supports_material_station); + if (wxSizer* sizer = GetSizer(); sizer != nullptr) { + sizer->Layout(); + sizer->Fit(this); + SetMinSize(GetBestSize()); + } + Layout(); + Fit(); +} + +const Slic3r::FlashforgeMaterialSlot* FlashforgePrintHostSendDialog::find_slot_by_id(const std::string& slot_id_text) const +{ + const auto slot_it = std::find_if(m_slots.begin(), m_slots.end(), [&](const FlashforgeMaterialSlot& slot) { return std::to_string(slot.slot_id) == slot_id_text; }); + return slot_it == m_slots.end() ? nullptr : &(*slot_it); +} + +const FilamentInfo* FlashforgePrintHostSendDialog::find_filament_by_tool_id(int tool_id) const +{ + const auto filament_it = std::find_if(m_project_filaments.begin(), m_project_filaments.end(), [&](const FilamentInfo& filament) { return filament.id == tool_id; }); + return filament_it == m_project_filaments.end() ? nullptr : &(*filament_it); +} + +bool FlashforgePrintHostSendDialog::slot_matches_filament(const Slic3r::FlashforgeMaterialSlot& slot, const FilamentInfo& filament) const +{ + if (!slot.has_filament) + return false; + + const std::string project_material = normalize_material(!filament.type.empty() ? filament.type : filament.get_display_filament_type()); + const std::string slot_material = normalize_material(slot.material_name); + return !project_material.empty() && !slot_material.empty() && project_material == slot_material; +} + +bool FlashforgePrintHostSendDialog::validate_before_close() +{ + if (!m_use_material_station && m_project_filaments.size() > 1) { + show_error(this, _L("This plate uses multiple materials. Enable IFS and assign each tool to a printer slot.")); + return false; + } + + if (!m_use_material_station) + return true; + + for (const auto& row : m_mapping_rows) { + auto* card = as_ff_map_widget(row.card); + if (card == nullptr || !card->is_slot_selected()) { + show_error(this, _L("Each project material must be assigned to an IFS slot before printing.")); + return false; + } + + const auto* slot = find_slot_by_id(std::to_string(card->selected_slot_id())); + const auto* filament = find_filament_by_tool_id(row.tool_id); + if (slot == nullptr || filament == nullptr || !slot->has_filament) { + show_error(this, _L("Each project material must be assigned to a loaded IFS slot before printing.")); + return false; + } + + if (!slot_matches_filament(*slot, *filament)) { + show_error(this, _L("Each project material must match the material loaded in the selected IFS slot.")); + return false; + } + } + + return true; +} + +std::string FlashforgePrintHostSendDialog::normalize_material(const std::string& material) const +{ + std::string normalized = boost::to_upper_copy(material); + normalized.erase(std::remove_if(normalized.begin(), normalized.end(), [](unsigned char ch) { return !std::isalnum(ch); }), normalized.end()); + + if (normalized.empty()) + return {}; + + if (normalized.find("SILK") != std::string::npos) + return "SILK"; + + if (normalized.find("PLA") != std::string::npos && normalized.find("CF") != std::string::npos) + return "PLACF"; + if (normalized.find("PETG") != std::string::npos && normalized.find("CF") != std::string::npos) + return "PETGCF"; + + if (normalized == "PLA" || normalized == "PLA+" || normalized == "PLAPLUS") + return "PLA"; + if (normalized.find("PLA") != std::string::npos) + return "PLA"; + + if (normalized == "ABS" || normalized.find("ABS") != std::string::npos) + return "ABS"; + if (normalized == "ASA" || normalized.find("ASA") != std::string::npos) + return "ABS"; + + if (normalized.find("PETG") != std::string::npos) + return "PETG"; + + if (normalized.find("TPU") != std::string::npos || normalized.find("TPE") != std::string::npos || normalized.find("FLEX") != std::string::npos) + return "TPU"; + + return normalized; +} + +wxColour FlashforgePrintHostSendDialog::to_wx_colour(const std::string& color) const +{ + wxColour wx_color(from_u8(color)); + if (wx_color.IsOk()) + return wx_color; + + std::string normalized = boost::trim_copy(color); + if (boost::istarts_with(normalized, "0x")) + normalized = normalized.substr(2); + if (!normalized.empty() && normalized.front() == '#') + normalized.erase(normalized.begin()); + + if (normalized.size() == 8) { + auto hex_to_byte = [](char hi, char lo) -> int { + auto hex_val = [](char c) -> int { + if (c >= '0' && c <= '9') return c - '0'; + if (c >= 'a' && c <= 'f') return c - 'a' + 10; + if (c >= 'A' && c <= 'F') return c - 'A' + 10; + return -1; + }; + const int h = hex_val(hi); + const int l = hex_val(lo); + return (h < 0 || l < 0) ? -1 : h * 16 + l; + }; + + const int r = hex_to_byte(normalized[0], normalized[1]); + const int g = hex_to_byte(normalized[2], normalized[3]); + const int b = hex_to_byte(normalized[4], normalized[5]); + const int a = hex_to_byte(normalized[6], normalized[7]); + if (r >= 0 && g >= 0 && b >= 0 && a >= 0) + return wxColour(r, g, b, a); + } + + if (normalized.size() == 6) { + wx_color = wxColour("#" + from_u8(normalized)); + if (wx_color.IsOk()) + return wx_color; + } + + return wxColour("#999999"); +} + wxDEFINE_EVENT(EVT_PRINTHOST_PROGRESS, PrintHostQueueDialog::Event); wxDEFINE_EVENT(EVT_PRINTHOST_ERROR, PrintHostQueueDialog::Event); wxDEFINE_EVENT(EVT_PRINTHOST_CANCEL, PrintHostQueueDialog::Event); diff --git a/src/slic3r/GUI/PrintHostDialogs.hpp b/src/slic3r/GUI/PrintHostDialogs.hpp index e648537ccb..cc4670f514 100644 --- a/src/slic3r/GUI/PrintHostDialogs.hpp +++ b/src/slic3r/GUI/PrintHostDialogs.hpp @@ -1,8 +1,8 @@ #ifndef slic3r_PrintHostSendDialog_hpp_ #define slic3r_PrintHostSendDialog_hpp_ -#include #include +#include #include #include @@ -12,12 +12,18 @@ #include "GUI_Utils.hpp" #include "MsgDialog.hpp" #include "../Utils/PrintHost.hpp" +#include "../Utils/Flashforge.hpp" #include "libslic3r/PrintConfig.hpp" +#include "libslic3r/ProjectTask.hpp" class wxButton; class wxTextCtrl; -class wxChoice; class wxComboBox; +class ComboBox; class wxDataViewListCtrl; +class wxFlexGridSizer; +class wxStaticText; +class wxWrapSizer; +class CheckBox; namespace Slic3r { @@ -180,6 +186,66 @@ private: BedType m_BedType; }; +class FlashforgePrintHostSendDialog : public PrintHostSendDialog +{ +public: + FlashforgePrintHostSendDialog(const boost::filesystem::path& path, + PrintHostPostUploadActions post_actions, + const wxArrayString& groups, + const wxArrayString& storage_paths, + const wxArrayString& storage_names, + bool switch_to_device_tab, + const Slic3r::Flashforge* host, + bool supports_material_station, + std::vector slots, + const std::vector& project_filaments); + + virtual void init() override; + virtual void EndModal(int ret) override; + virtual std::map extendedInfo() const override; + +private: + struct MappingRow { + int tool_id {-1}; + wxWindow* card {nullptr}; + }; + + void load_slots(); + bool ensure_slots_loaded(bool force_reload = false); + void rebuild_mapping_rows(); + void auto_assign_mappings(); + void refresh_mapping_card(MappingRow& row); + void sync_mapping_section_visibility(); + const Slic3r::FlashforgeMaterialSlot* find_slot_by_id(const std::string& slot_id_text) const; + const FilamentInfo* find_filament_by_tool_id(int tool_id) const; + bool slot_matches_filament(const Slic3r::FlashforgeMaterialSlot& slot, const FilamentInfo& filament) const; + bool validate_before_close(); + std::string normalize_material(const std::string& material) const; + wxColour to_wx_colour(const std::string& color) const; + +private: + const Slic3r::Flashforge* m_host {nullptr}; + std::vector m_project_filaments; + std::vector m_slots; + std::vector m_mapping_rows; + wxBoxSizer* m_flashforge_options_sizer {nullptr}; + wxBoxSizer* m_mapping_section_sizer {nullptr}; + wxWrapSizer* m_mapping_wrap_sizer {nullptr}; + wxStaticText* m_status_text {nullptr}; + ::CheckBox* m_checkbox_leveling {nullptr}; + ::CheckBox* m_checkbox_timelapse {nullptr}; + ::CheckBox* m_checkbox_ifs {nullptr}; + bool m_leveling_before_print {true}; + bool m_time_lapse_video {false}; + bool m_use_material_station {false}; + bool m_supports_material_station {false}; + bool m_slots_loaded {false}; + + const char* CONFIG_KEY_LEVELING = "flashforge_leveling_before_print"; + const char* CONFIG_KEY_TIMELAPSE = "flashforge_timelapse_video"; + const char* CONFIG_KEY_IFS = "flashforge_use_material_station"; +}; + wxDECLARE_EVENT(EVT_PRINTHOST_PROGRESS, PrintHostQueueDialog::Event); wxDECLARE_EVENT(EVT_PRINTHOST_ERROR, PrintHostQueueDialog::Event); wxDECLARE_EVENT(EVT_PRINTHOST_CANCEL, PrintHostQueueDialog::Event); diff --git a/src/slic3r/Utils/Flashforge.cpp b/src/slic3r/Utils/Flashforge.cpp index 6fe3a83083..88b3eb3f69 100644 --- a/src/slic3r/Utils/Flashforge.cpp +++ b/src/slic3r/Utils/Flashforge.cpp @@ -1,8 +1,13 @@ #include "Flashforge.hpp" #include +#include #include #include #include +#include +#include +#include +#include #include #include #include @@ -19,6 +24,10 @@ #include #include +#include +#include +#include + #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" @@ -30,20 +39,298 @@ namespace fs = boost::filesystem; namespace pt = boost::property_tree; +using json = nlohmann::json; namespace Slic3r { +namespace { + +constexpr unsigned short FLASHFORGE_DISCOVERY_PORT = 48899; +constexpr unsigned short FLASHFORGE_DISCOVERY_LISTEN_PORT = 18007; + +const std::array FLASHFORGE_DISCOVERY_MESSAGE = { + 0x77, 0x77, 0x77, 0x2e, 0x75, 0x73, 0x72, 0x22, + 0x65, 0x36, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00 +}; + +std::string trim_null_terminated_ascii(const char* data, size_t len) +{ + std::string out(data, data + len); + const auto pos = out.find('\0'); + if (pos != std::string::npos) + out.resize(pos); + boost::trim(out); + return out; +} + +bool parse_discovery_response(const std::vector& response, const std::string& ip_address, FlashforgeDiscoveredPrinter& printer) +{ + if (response.size() < 0xC4) + return false; + + printer.name = trim_null_terminated_ascii(reinterpret_cast(response.data()), 32); + printer.serial_number = trim_null_terminated_ascii(reinterpret_cast(response.data() + 0x92), 32); + printer.ip_address = ip_address; + return !(printer.name.empty() && printer.serial_number.empty()); +} + +std::vector get_discovery_broadcast_addresses() +{ + std::set addresses = {"255.255.255.255", "192.168.0.255", "192.168.1.255"}; + + try { + boost::asio::io_context io_context; + boost::asio::ip::tcp::resolver resolver(io_context); + boost::system::error_code ec; + const auto host_name = boost::asio::ip::host_name(ec); + if (!ec) { + const auto results = resolver.resolve(boost::asio::ip::tcp::v4(), host_name, "", ec); + if (!ec) { + for (const auto& entry : results) { + const auto addr = entry.endpoint().address(); + if (!addr.is_v4()) + continue; + + const auto bytes = addr.to_v4().to_bytes(); + if (bytes[0] == 127) + continue; + + addresses.insert((boost::format("%1%.%2%.%3%.255") % static_cast(bytes[0]) % static_cast(bytes[1]) % static_cast(bytes[2])).str()); + } + } + } + } catch (...) { + } + + return {addresses.begin(), addresses.end()}; +} + +std::string safe_config_string(DynamicPrintConfig* config, const char* key) +{ + if (config == nullptr) + return {}; + + if (const auto* opt = config->option(key); opt != nullptr) + return opt->value; + + return {}; +} + +bool try_parse_json_int(const json& value, int& out) +{ + try { + if (value.is_number_integer() || value.is_number_unsigned()) { + out = value.get(); + return true; + } + + if (value.is_boolean()) { + out = value.get() ? 1 : 0; + return true; + } + + if (value.is_string()) { + std::string text = value.get(); + boost::trim(text); + if (text.empty()) + return false; + + size_t pos = 0; + const long parsed = std::stol(text, &pos, 10); + if (pos == text.size()) { + out = static_cast(parsed); + return true; + } + } + } catch (...) { + } + + return false; +} + +bool validate_local_api_response(const std::string& response_body, wxString& error_msg) +{ + const auto parsed = json::parse(response_body, nullptr, false, true); + if (parsed.is_discarded() || !parsed.is_object()) { + error_msg = _(L("Flashforge returned an invalid JSON response.")); + return false; + } + + int result_code = 0; + bool has_code = false; + + if (parsed.contains("code")) + has_code = try_parse_json_int(parsed["code"], result_code); + if (!has_code && parsed.contains("err")) + has_code = try_parse_json_int(parsed["err"], result_code); + + if (has_code && result_code != 0) { + std::string message; + if (parsed.contains("message") && parsed["message"].is_string()) + message = parsed["message"].get(); + else if (parsed.contains("msg") && parsed["msg"].is_string()) + message = parsed["msg"].get(); + + if (message.empty()) + message = "Request failed"; + + error_msg = GUI::from_u8((boost::format("Flashforge local API error %1%: %2%") % result_code % message).str()); + return false; + } + + return true; +} + +std::string sanitize_flashforge_filename(const std::string& filename, const std::string& fallback_extension = {}) +{ + std::string basename = fs::path(filename).filename().string(); + if (basename.empty()) { + basename = "print"; + if (!fallback_extension.empty()) + basename += fallback_extension; + } + + for (char& ch : basename) { + const bool is_ascii_alnum = (ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'); + if (!is_ascii_alnum && ch != '.' && ch != '_' && ch != '-') { + ch = '_'; + } + } + + return basename; +} + +} // namespace + Flashforge::Flashforge(DynamicPrintConfig* config) - : m_host(config->opt_string("print_host")) + : m_host() + , m_serial_number() + , m_check_code() , m_console_port("8899") - , m_gcFlavor(config->option>("gcode_flavor")->value) + , m_gcFlavor(gcfMarlinLegacy) , m_bufferSize(4096) // 4K buffer size -{} +{ + m_host = safe_config_string(config, "print_host"); + m_serial_number = safe_config_string(config, "flashforge_serial_number"); + m_check_code = safe_config_string(config, "printhost_apikey"); + + if (config != nullptr) { + if (const auto* gcode_flavor = config->option>("gcode_flavor"); gcode_flavor != nullptr) + m_gcFlavor = gcode_flavor->value; + } +} const char* Flashforge::get_name() const { return "Flashforge"; } +bool Flashforge::discover_printers(std::vector& printers, wxString& msg, int timeout_ms, int idle_timeout_ms, int max_retries) +{ + printers.clear(); + + try { + const auto broadcast_addresses = get_discovery_broadcast_addresses(); + std::map by_ip; + + for (int attempt = 0; attempt < std::max(1, max_retries); ++attempt) { + boost::asio::io_context io_context; + boost::asio::ip::udp::socket socket(io_context); + boost::system::error_code ec; + + socket.open(boost::asio::ip::udp::v4(), ec); + if (ec) { + msg = wxString::FromUTF8(ec.message().c_str()); + return false; + } + + socket.set_option(boost::asio::socket_base::broadcast(true), ec); + if (ec) { + msg = wxString::FromUTF8(ec.message().c_str()); + return false; + } + + socket.set_option(boost::asio::socket_base::reuse_address(true), ec); + if (ec) { + msg = wxString::FromUTF8(ec.message().c_str()); + return false; + } + + socket.bind({boost::asio::ip::udp::v4(), FLASHFORGE_DISCOVERY_LISTEN_PORT}, ec); + if (ec) { + msg = wxString::FromUTF8(ec.message().c_str()); + return false; + } + + for (const auto& addr : broadcast_addresses) { + socket.send_to(boost::asio::buffer(FLASHFORGE_DISCOVERY_MESSAGE), + {boost::asio::ip::make_address_v4(addr, ec), FLASHFORGE_DISCOVERY_PORT}, 0, ec); + ec.clear(); + } + + socket.non_blocking(true, ec); + if (ec) { + msg = wxString::FromUTF8(ec.message().c_str()); + return false; + } + + const auto start = std::chrono::steady_clock::now(); + auto last_reply = start; + + while (true) { + const auto now = std::chrono::steady_clock::now(); + if (std::chrono::duration_cast(now - start).count() >= timeout_ms) + break; + if (!by_ip.empty() && std::chrono::duration_cast(now - last_reply).count() >= idle_timeout_ms) + break; + + std::vector buffer(512); + boost::asio::ip::udp::endpoint remote_endpoint; + const auto received = socket.receive_from(boost::asio::buffer(buffer), remote_endpoint, 0, ec); + if (!ec) { + buffer.resize(received); + FlashforgeDiscoveredPrinter printer; + if (parse_discovery_response(buffer, remote_endpoint.address().to_string(), printer)) { + by_ip[printer.ip_address] = std::move(printer); + last_reply = std::chrono::steady_clock::now(); + } + } else if (ec == boost::asio::error::would_block || ec == boost::asio::error::try_again) { + ec.clear(); + std::this_thread::sleep_for(std::chrono::milliseconds(50)); + } else { + msg = wxString::FromUTF8(ec.message().c_str()); + return false; + } + } + + if (!by_ip.empty()) + break; + } + + for (auto& [_, printer] : by_ip) + printers.emplace_back(std::move(printer)); + + std::sort(printers.begin(), printers.end(), [](const FlashforgeDiscoveredPrinter& lhs, const FlashforgeDiscoveredPrinter& rhs) { + if (lhs.name != rhs.name) + return lhs.name < rhs.name; + return lhs.ip_address < rhs.ip_address; + }); + + if (printers.empty()) { + msg = _(L("No Flashforge printers were discovered on the local network.")); + return false; + } + + return true; + } catch (const std::exception& ex) { + msg = wxString::FromUTF8(ex.what()); + return false; + } +} + bool Flashforge::test(wxString& msg) const { + if (!m_serial_number.empty() && !m_check_code.empty()) + return test_local_api(msg); + BOOST_LOG_TRIVIAL(debug) << boost::format("[Flashforge Serial] testing connection"); // Utils::TCPConsole console(m_host, m_console_port); Utils::TCPConsole client(m_host, m_console_port); @@ -58,11 +345,19 @@ bool Flashforge::test(wxString& msg) const return res; } -wxString Flashforge::get_test_ok_msg() const { return _(L("Serial connection to Flashforge is working correctly.")); } +wxString Flashforge::get_test_ok_msg() const +{ + if (!m_serial_number.empty() && !m_check_code.empty()) + return _(L("Connected to Flashforge local API successfully.")); + return _(L("Serial connection to Flashforge is working correctly.")); +} wxString Flashforge::get_test_failed_msg(wxString& msg) const { - return GUI::from_u8((boost::format("%s: %s") % _utf8(L("Could not connect to Flashforge via serial")) % std::string(msg.ToUTF8())).str()); + const std::string prefix = (!m_serial_number.empty() && !m_check_code.empty()) ? + _utf8(L("Could not connect to Flashforge local API")) : + _utf8(L("Could not connect to Flashforge via serial")); + return GUI::from_u8((boost::format("%s: %s") % prefix % std::string(msg.ToUTF8())).str()); } @@ -98,21 +393,25 @@ bool Flashforge::connect(wxString& msg) const bool Flashforge::start_print(wxString& msg, const std::string& filename) const { Utils::TCPConsole client(m_host, m_console_port); - Slic3r::Utils::SerialMessage startPrintCommand = {(boost::format("~M23 0:/user/%1%") % filename).str(), Slic3r::Utils::Command}; + const std::string safe_filename = sanitize_flashforge_filename(filename); + Slic3r::Utils::SerialMessage startPrintCommand = {(boost::format("~M23 0:/user/%1%") % safe_filename).str(), Slic3r::Utils::Command}; client.enqueue_cmd(startPrintCommand); bool res = client.run_queue(); if (!res) { msg = wxString::FromUTF8(client.error_message().c_str()); - BOOST_LOG_TRIVIAL(info) << boost::format("[Flashforge Serial] Failed to start print %1%") % filename; + BOOST_LOG_TRIVIAL(info) << boost::format("[Flashforge Serial] Failed to start print %1%") % safe_filename; } else - BOOST_LOG_TRIVIAL(info) << boost::format("[Flashforge Serial] Started print %1%") % filename; + BOOST_LOG_TRIVIAL(info) << boost::format("[Flashforge Serial] Started print %1%") % safe_filename; return res; } bool Flashforge::upload(PrintHostUpload upload_data, ProgressFn progress_fn, ErrorFn error_fn, InfoFn info_fn) const { + if (!m_serial_number.empty() && !m_check_code.empty()) + return upload_local_api(std::move(upload_data), std::move(progress_fn), std::move(error_fn)); + bool res = true; wxString errormsg; @@ -121,6 +420,8 @@ bool Flashforge::upload(PrintHostUpload upload_data, ProgressFn progress_fn, Err try { res = connect(errormsg); + const std::string fallback_extension = upload_data.source_path.extension().string().empty() ? ".gcode" : upload_data.source_path.extension().string(); + const std::string upload_filename = sanitize_flashforge_filename(upload_data.upload_path.string(), fallback_extension); std::ifstream newfile; newfile.open(upload_data.source_path.c_str(), std::ios::binary); // open a file to perform read operation using file object @@ -142,7 +443,7 @@ bool Flashforge::upload(PrintHostUpload upload_data, ProgressFn progress_fn, Err newfile.close(); // close the file object. } Slic3r::Utils::SerialMessage fileuploadCommand = - {(boost::format("~M28 %1% 0:/user/%2%") % gcodeFile.size() % upload_data.upload_path.generic_string()).str(), + {(boost::format("~M28 %1% 0:/user/%2%") % gcodeFile.size() % upload_filename).str(), Slic3r::Utils::Command}; client.enqueue_cmd(fileuploadCommand); @@ -178,7 +479,7 @@ bool Flashforge::upload(PrintHostUpload upload_data, ProgressFn progress_fn, Err res = client.run_queue(); if (upload_data.post_action == PrintHostPostUploadAction::StartPrint) - res = start_print(errormsg, upload_data.upload_path.string()); + res = start_print(errormsg, upload_filename); } } catch (const std::exception& e) { @@ -190,6 +491,185 @@ bool Flashforge::upload(PrintHostUpload upload_data, ProgressFn progress_fn, Err return res; } +bool Flashforge::test_local_api(wxString& msg) const +{ + std::string body; + return request_local_api_json("detail", json{{"serialNumber", m_serial_number}, {"checkCode", m_check_code}}.dump(), body, msg); +} + +bool Flashforge::fetch_material_slots(std::vector& slots, bool* supports_material_station, wxString& msg) const +{ + slots.clear(); + + if (m_serial_number.empty() || m_check_code.empty()) { + msg = _(L("Flashforge local API requires both serial number and access code.")); + return false; + } + + std::string body; + if (!request_local_api_json("detail", json{{"serialNumber", m_serial_number}, {"checkCode", m_check_code}}.dump(), body, msg)) + return false; + + const auto parsed = json::parse(body, nullptr, false, true); + if (parsed.is_discarded()) { + msg = _(L("Flashforge returned an invalid JSON response.")); + return false; + } + + const auto& detail = parsed.contains("detail") ? parsed["detail"] : parsed; + const auto& station = detail.contains("matlStationInfo") ? detail["matlStationInfo"] : + detail.contains("MatlStationInfo") ? detail["MatlStationInfo"] : json(); + const auto& slot_infos = station.contains("slotInfos") ? station["slotInfos"] : + station.contains("SlotInfos") ? station["SlotInfos"] : json::array(); + + bool reports_material_station = false; + + int has_material_station_flag = 0; + if (detail.contains("hasMatlStation") && try_parse_json_int(detail["hasMatlStation"], has_material_station_flag)) + reports_material_station = has_material_station_flag != 0; + else if (detail.contains("HasMatlStation") && try_parse_json_int(detail["HasMatlStation"], has_material_station_flag)) + reports_material_station = has_material_station_flag != 0; + + int slot_count = 0; + if (station.contains("slotCnt") && try_parse_json_int(station["slotCnt"], slot_count)) + reports_material_station = reports_material_station || slot_count > 0; + else if (station.contains("SlotCnt") && try_parse_json_int(station["SlotCnt"], slot_count)) + reports_material_station = reports_material_station || slot_count > 0; + + if (slot_infos.is_array() && !slot_infos.empty()) + reports_material_station = true; + + if (supports_material_station != nullptr) + *supports_material_station = reports_material_station; + + for (const auto& slot : slot_infos) { + FlashforgeMaterialSlot info; + info.slot_id = slot.value("slotId", static_cast(slots.size()) + 1); + info.has_filament = slot.value("hasFilament", false); + info.material_name = slot.value("materialName", std::string()); + info.material_color = slot.value("materialColor", std::string()); + slots.emplace_back(std::move(info)); + } + + return true; +} + +bool Flashforge::upload_local_api(PrintHostUpload upload_data, ProgressFn progress_fn, ErrorFn error_fn) const +{ + bool res = true; + std::string material_map_b64; + std::string material_map_json = "[]"; + auto leveling_before_print = upload_data.extended_info["levelingBeforePrint"] == "1"; + auto time_lapse_video = upload_data.extended_info["timeLapseVideo"] == "1"; + auto use_material_station = upload_data.extended_info["useMatlStation"] == "1"; + + if (auto it = upload_data.extended_info.find("materialMappings"); it != upload_data.extended_info.end()) + material_map_json = it->second; + + material_map_b64.resize(boost::beast::detail::base64::encoded_size(material_map_json.size())); + material_map_b64.resize(boost::beast::detail::base64::encode(material_map_b64.data(), material_map_json.data(), material_map_json.size())); + + auto url = make_http_url("uploadGcode"); + const std::string fallback_extension = upload_data.source_path.extension().string().empty() ? (upload_data.use_3mf ? ".3mf" : ".gcode") : upload_data.source_path.extension().string(); + auto filename = sanitize_flashforge_filename(upload_data.upload_path.string(), fallback_extension); + std::string file_size; + try { + file_size = std::to_string(fs::file_size(upload_data.source_path)); + } catch (...) { + file_size = "0"; + } + + auto http = Http::post(url); + http.header("serialNumber", m_serial_number) + .header("checkCode", m_check_code) + .header("fileSize", file_size) + .header("printNow", upload_data.post_action == PrintHostPostUploadAction::StartPrint ? "true" : "false") + .header("levelingBeforePrint", leveling_before_print ? "true" : "false") + .header("flowCalibration", "false") + .header("firstLayerInspection", "false") + .header("timeLapseVideo", time_lapse_video ? "true" : "false") + .header("useMatlStation", use_material_station ? "true" : "false") + .header("gcodeToolCnt", upload_data.extended_info["gcodeToolCnt"]) + .header("materialMappings", material_map_b64) + .form_add_file("gcodeFile", upload_data.source_path.string(), filename) + .on_complete([&](std::string body, unsigned status) { + wxString msg; + if (!validate_local_api_response(body, msg)) { + BOOST_LOG_TRIVIAL(error) << boost::format("[Flashforge HTTP] upload rejected by printer: HTTP %1% body: `%2%`") % status % body; + error_fn(msg); + res = false; + } else { + BOOST_LOG_TRIVIAL(info) << boost::format("[Flashforge HTTP] upload complete: HTTP %1% body: %2%") % status % body; + } + }) + .on_error([&](std::string body, std::string error, unsigned status) { + BOOST_LOG_TRIVIAL(error) << boost::format("[Flashforge HTTP] upload failed: %1%, HTTP %2%, body: `%3%`") % error % status % body; + error_fn(format_error(body, error, status)); + res = false; + }) + .on_progress([&](Http::Progress progress, bool& cancel) { + progress_fn(std::move(progress), cancel); + if (cancel) + res = false; + }) + .perform_sync(); + + return res; +} + +bool Flashforge::request_local_api_json(const std::string& path, const std::string& body, std::string& response_body, wxString& error_msg) const +{ + bool ok = true; + auto http = Http::post(make_http_url(path)); + http.header("Content-Type", "application/json") + .set_post_body(body) + .on_complete([&](std::string body_text, unsigned) { + response_body = std::move(body_text); + if (!validate_local_api_response(response_body, error_msg)) + ok = false; + }) + .on_error([&](std::string body_text, std::string error, unsigned status) { + response_body = std::move(body_text); + error_msg = format_error(response_body, error, status); + ok = false; + }) + .perform_sync(); + return ok; +} + +std::string Flashforge::make_http_url(const std::string& path) const +{ + return (boost::format("http://%1%:8898/%2%") % extract_host_name() % path).str(); +} + +std::string Flashforge::extract_host_name() const +{ + std::string host = m_host; + if (host.find("://") == std::string::npos) { + const auto slash_pos = host.find('/'); + if (slash_pos != std::string::npos) + host = host.substr(0, slash_pos); + return host; + } + + std::string out = host; + CURLU* hurl = curl_url(); + if (!hurl) + return host; + + const auto rc = curl_url_set(hurl, CURLUPART_URL, host.c_str(), 0); + if (rc == CURLUE_OK) { + char* raw_host = nullptr; + if (curl_url_get(hurl, CURLUPART_HOST, &raw_host, 0) == CURLUE_OK && raw_host != nullptr) { + out = raw_host; + curl_free(raw_host); + } + } + + curl_url_cleanup(hurl); + return out; +} + int Flashforge::get_err_code_from_body(const std::string& body) const { pt::ptree root; diff --git a/src/slic3r/Utils/Flashforge.hpp b/src/slic3r/Utils/Flashforge.hpp index 82f9092753..ea7acdcb11 100644 --- a/src/slic3r/Utils/Flashforge.hpp +++ b/src/slic3r/Utils/Flashforge.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_FlashForge_hpp_ #define slic3r_FlashForge_hpp_ +#include #include #include #include "PrintHost.hpp" @@ -12,6 +13,21 @@ namespace Slic3r { class DynamicPrintConfig; class Http; +struct FlashforgeMaterialSlot +{ + int slot_id {0}; // API is 1-based. + bool has_filament {false}; + std::string material_name; + std::string material_color; +}; + +struct FlashforgeDiscoveredPrinter +{ + std::string name; + std::string serial_number; + std::string ip_address; +}; + class Flashforge : public PrintHost { public: @@ -24,13 +40,17 @@ public: wxString get_test_ok_msg() const override; wxString get_test_failed_msg(wxString &msg) const override; bool upload(PrintHostUpload upload_data, ProgressFn prorgess_fn, ErrorFn error_fn, InfoFn info_fn) const override; - bool has_auto_discovery() const override { return false; } + bool has_auto_discovery() const override { return true; } bool can_test() const override { return true; } PrintHostPostUploadActions get_post_upload_actions() const override { return PrintHostPostUploadAction::StartPrint; } std::string get_host() const override { return m_host; } + bool fetch_material_slots(std::vector& slots, bool* supports_material_station, wxString& msg) const; + static bool discover_printers(std::vector& printers, wxString& msg, int timeout_ms = 10000, int idle_timeout_ms = 1500, int max_retries = 3); private: std::string m_host; + std::string m_serial_number; + std::string m_check_code; std::string m_console_port; const int m_bufferSize; GCodeFlavor m_gcFlavor; @@ -43,6 +63,11 @@ private: Slic3r::Utils::SerialMessage tempStatusCommand = {"~M105\r\n", Slic3r::Utils::Command}; Slic3r::Utils::SerialMessage printStatusCommand = {"~M27\r\n", Slic3r::Utils::Command}; Slic3r::Utils::SerialMessage saveFileCommand = {"~M29\r\n",Slic3r::Utils::Command}; + bool upload_local_api(PrintHostUpload upload_data, ProgressFn progress_fn, ErrorFn error_fn) const; + bool test_local_api(wxString& msg) const; + bool request_local_api_json(const std::string& path, const std::string& body, std::string& response_body, wxString& error_msg) const; + std::string make_http_url(const std::string& path) const; + std::string extract_host_name() const; int get_err_code_from_body(const std::string &body) const; bool connect(wxString& msg) const; bool start_print(wxString& msg, const std::string& filename) const; From 6f79b6395994227b74162307109e419bcc403097 Mon Sep 17 00:00:00 2001 From: Mitchell Mashburn <128167557+re3Dev@users.noreply.github.com> Date: Wed, 27 May 2026 23:08:19 -0500 Subject: [PATCH 15/69] Update re:3D profiles. (#13750) * Update/add re:3D profiles. * Fix encoding issue with UTF-8 BOM * Change spaces to tabs. * Fix alignment-based space indentation issues. * Test: rename_from property * Test 2: rename_from property * Test 3: use 'renamed' instead of 'rename' * Add renamed property for each conflicting profile. * Revert to optimized assets improved on [#13149](https://github.com/OrcaSlicer/OrcaSlicer/pull/13149) --- resources/profiles/re3D.json | 132 ++++++--- .../re3D/filament/fdm_filament_common.json | 169 +---------- .../re3D/filament/fdm_filament_pc.json | 86 +----- .../re3D/filament/fdm_filament_pet.json | 74 +---- .../re3D/filament/fdm_filament_pla.json | 92 +----- ... => re3D Greengate rPETG @0.8 nozzle.json} | 161 ++++++----- .../re3D Greengate rPETG @1.75 nozzle.json | 113 ++++++++ .../re3D/filament/re3D Greengate rPETG.json | 49 +--- .../re3D/filament/re3D PC @0.4 nozzle.json | 173 ++++++++++++ .../re3D/filament/re3D PC @0.8 nozzle.json | 173 ++++++++++++ resources/profiles/re3D/filament/re3D PC.json | 21 +- .../re3D/filament/re3D PETG @0.4 nozzle.json | 173 ++++++++++++ .../re3D/filament/re3D PETG @0.8 nozzle.json | 173 ++++++++++++ .../profiles/re3D/filament/re3D PETG.json | 28 +- .../re3D/filament/re3D PLA @0.4 nozzle.json | 174 ++++++++++++ .../re3D/filament/re3D PLA @0.8 nozzle.json | 174 ++++++++++++ .../profiles/re3D/filament/re3D PLA.json | 21 +- .../re3D/filament/re3D rPP @0.8 nozzle.json | 65 +++++ .../re3D/filament/re3D rPP @1.75 nozzle.json | 65 +++++ .../profiles/re3D/filament/re3D rPP.json | 49 +--- .../re3D/machine/fdm_machine_common.json | 116 +------- .../re3D/machine/fdm_re3D_common.json | 265 +++++++++--------- .../re3D/machine/fgf_re3D_common.json | 90 +----- .../machine/re3D Gigabot 4 0.4 nozzle.json | 31 +- .../machine/re3D Gigabot 4 0.8 nozzle.json | 41 +-- .../re3D Gigabot 4 XLT 0.4 nozzle.json | 29 +- .../re3D Gigabot 4 XLT 0.8 nozzle.json | 37 +-- .../re3D/machine/re3D Gigabot 4 XLT.json | 3 +- .../profiles/re3D/machine/re3D Gigabot 4.json | 3 +- .../machine/re3D Gigabot X2 1.75 nozzle.json | 28 -- .../re3D Gigabot X2 XLT 1.75 nozzle.json | 28 -- .../re3D/machine/re3D Gigabot X2 XLT.json | 12 - .../re3D/machine/re3D Gigabot X2.json | 12 - .../machine/re3D GigabotX 2 0.8 nozzle.json | 33 +++ .../machine/re3D GigabotX 2 1.75 nozzle.json | 34 +++ .../re3D GigabotX 2 XLT 0.8 nozzle.json | 33 +++ .../re3D GigabotX 2 XLT 1.75 nozzle.json | 34 +++ .../re3D/machine/re3D GigabotX 2 XLT.json | 13 + .../re3D/machine/re3D GigabotX 2.json | 13 + .../machine/re3D Terabot 4 0.4 nozzle.json | 29 +- .../machine/re3D Terabot 4 0.8 nozzle.json | 31 +- .../profiles/re3D/machine/re3D Terabot 4.json | 3 +- .../machine/re3D Terabot X2 1.75 nozzle.json | 28 -- .../re3D/machine/re3D Terabot X2.json | 12 - .../machine/re3D TerabotX 2 0.8 nozzle.json | 33 +++ .../machine/re3D TerabotX 2 1.75 nozzle.json | 34 +++ .../re3D/machine/re3D TerabotX 2.json | 13 + .../0.26mm Standard @re3D fdm 0.4.json | 47 +--- .../process/0.2mm Fine @re3D fdm 0.4.json | 28 +- .../process/0.2mm Standard @re3D fdm 0.8.json | 47 ---- .../process/0.32mm Draft @re3D fdm 0.4.json | 29 +- .../process/0.3mm Fine @re3D fdm 0.8.json | 26 ++ .../process/0.4mm Draft @re3D fdm 0.8.json | 29 +- .../process/0.6mm Standard @re3D fgf 0.8.json | 26 ++ .../1.0mm Standard @re3D fgf 1.75.json | 27 +- .../re3D/process/fdm_process_common.json | 36 +-- .../re3D/process/fdm_process_re3D_common.json | 148 +++++----- .../re3D/process/fgf_process_re3D_common.json | 49 ++-- src/slic3r/GUI/CreatePresetsDialog.cpp | 2 +- 59 files changed, 2245 insertions(+), 1452 deletions(-) rename resources/profiles/re3D/filament/{fdm_filament_abs.json => re3D Greengate rPETG @0.8 nozzle.json} (54%) create mode 100644 resources/profiles/re3D/filament/re3D Greengate rPETG @1.75 nozzle.json create mode 100644 resources/profiles/re3D/filament/re3D PC @0.4 nozzle.json create mode 100644 resources/profiles/re3D/filament/re3D PC @0.8 nozzle.json create mode 100644 resources/profiles/re3D/filament/re3D PETG @0.4 nozzle.json create mode 100644 resources/profiles/re3D/filament/re3D PETG @0.8 nozzle.json create mode 100644 resources/profiles/re3D/filament/re3D PLA @0.4 nozzle.json create mode 100644 resources/profiles/re3D/filament/re3D PLA @0.8 nozzle.json create mode 100644 resources/profiles/re3D/filament/re3D rPP @0.8 nozzle.json create mode 100644 resources/profiles/re3D/filament/re3D rPP @1.75 nozzle.json delete mode 100644 resources/profiles/re3D/machine/re3D Gigabot X2 1.75 nozzle.json delete mode 100644 resources/profiles/re3D/machine/re3D Gigabot X2 XLT 1.75 nozzle.json delete mode 100644 resources/profiles/re3D/machine/re3D Gigabot X2 XLT.json delete mode 100644 resources/profiles/re3D/machine/re3D Gigabot X2.json create mode 100644 resources/profiles/re3D/machine/re3D GigabotX 2 0.8 nozzle.json create mode 100644 resources/profiles/re3D/machine/re3D GigabotX 2 1.75 nozzle.json create mode 100644 resources/profiles/re3D/machine/re3D GigabotX 2 XLT 0.8 nozzle.json create mode 100644 resources/profiles/re3D/machine/re3D GigabotX 2 XLT 1.75 nozzle.json create mode 100644 resources/profiles/re3D/machine/re3D GigabotX 2 XLT.json create mode 100644 resources/profiles/re3D/machine/re3D GigabotX 2.json delete mode 100644 resources/profiles/re3D/machine/re3D Terabot X2 1.75 nozzle.json delete mode 100644 resources/profiles/re3D/machine/re3D Terabot X2.json create mode 100644 resources/profiles/re3D/machine/re3D TerabotX 2 0.8 nozzle.json create mode 100644 resources/profiles/re3D/machine/re3D TerabotX 2 1.75 nozzle.json create mode 100644 resources/profiles/re3D/machine/re3D TerabotX 2.json delete mode 100644 resources/profiles/re3D/process/0.2mm Standard @re3D fdm 0.8.json create mode 100644 resources/profiles/re3D/process/0.3mm Fine @re3D fdm 0.8.json create mode 100644 resources/profiles/re3D/process/0.6mm Standard @re3D fgf 0.8.json diff --git a/resources/profiles/re3D.json b/resources/profiles/re3D.json index ef664c9ee2..b081d3d6d9 100644 --- a/resources/profiles/re3D.json +++ b/resources/profiles/re3D.json @@ -12,21 +12,21 @@ "name": "re3D Gigabot 4 XLT", "sub_path": "machine/re3D Gigabot 4 XLT.json" }, + { + "name": "re3D GigabotX 2", + "sub_path": "machine/re3D GigabotX 2.json" + }, + { + "name": "re3D GigabotX 2 XLT", + "sub_path": "machine/re3D GigabotX 2 XLT.json" + }, { "name": "re3D Terabot 4", "sub_path": "machine/re3D Terabot 4.json" }, { - "name": "re3D Gigabot X2", - "sub_path": "machine/re3D Gigabot X2.json" - }, - { - "name": "re3D Gigabot X2 XLT", - "sub_path": "machine/re3D Gigabot X2 XLT.json" - }, - { - "name": "re3D Terabot X2", - "sub_path": "machine/re3D Terabot X2.json" + "name": "re3D TerabotX 2", + "sub_path": "machine/re3D TerabotX 2.json" } ], "process_list": [ @@ -43,28 +43,32 @@ "sub_path": "process/fgf_process_re3D_common.json" }, { - "name": "0.2mm Fine @re3D fdm 0.4", + "name": "0.2 Fine", "sub_path": "process/0.2mm Fine @re3D fdm 0.4.json" }, { - "name": "0.26mm Standard @re3D fdm 0.4", + "name": "0.26 Standard", "sub_path": "process/0.26mm Standard @re3D fdm 0.4.json" }, { - "name": "0.32mm Draft @re3D fdm 0.4", + "name": "0.32 Draft", "sub_path": "process/0.32mm Draft @re3D fdm 0.4.json" }, { - "name": "0.2mm Standard @re3D fdm 0.8", - "sub_path": "process/0.2mm Standard @re3D fdm 0.8.json" + "name": "0.3 Fine", + "sub_path": "process/0.3mm Fine @re3D fdm 0.8.json" }, { - "name": "0.4mm Draft @re3D fdm 0.8", + "name": "0.4 Standard", "sub_path": "process/0.4mm Draft @re3D fdm 0.8.json" }, { - "name": "1.0mm Standard @re3D fgf 1.75", + "name": "1.0 Standard", "sub_path": "process/1.0mm Standard @re3D fgf 1.75.json" + }, + { + "name": "0.6 Standard", + "sub_path": "process/0.6mm Standard @re3D fgf 0.8.json" } ], "filament_list": [ @@ -72,37 +76,77 @@ "name": "fdm_filament_common", "sub_path": "filament/fdm_filament_common.json" }, - { - "name": "fdm_filament_pet", - "sub_path": "filament/fdm_filament_pet.json" - }, { "name": "fdm_filament_pla", "sub_path": "filament/fdm_filament_pla.json" }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, { "name": "fdm_filament_pc", "sub_path": "filament/fdm_filament_pc.json" }, { - "name": "re3D Greengate rPETG", - "sub_path": "filament/re3D Greengate rPETG.json" - }, - { - "name": "re3D PC", - "sub_path": "filament/re3D PC.json" + "name": "re3D PLA", + "sub_path": "filament/re3D PLA.json" }, { "name": "re3D PETG", "sub_path": "filament/re3D PETG.json" }, { - "name": "re3D PLA", - "sub_path": "filament/re3D PLA.json" + "name": "re3D PC", + "sub_path": "filament/re3D PC.json" + }, + { + "name": "re3D Greengate rPETG", + "sub_path": "filament/re3D Greengate rPETG.json" }, { "name": "re3D rPP", "sub_path": "filament/re3D rPP.json" + }, + { + "name": "re3D PLA @0.4 nozzle", + "sub_path": "filament/re3D PLA @0.4 nozzle.json" + }, + { + "name": "re3D PLA @0.8 nozzle", + "sub_path": "filament/re3D PLA @0.8 nozzle.json" + }, + { + "name": "re3D PETG @0.4 nozzle", + "sub_path": "filament/re3D PETG @0.4 nozzle.json" + }, + { + "name": "re3D PETG @0.8 nozzle", + "sub_path": "filament/re3D PETG @0.8 nozzle.json" + }, + { + "name": "re3D PC @0.4 nozzle", + "sub_path": "filament/re3D PC @0.4 nozzle.json" + }, + { + "name": "re3D PC @0.8 nozzle", + "sub_path": "filament/re3D PC @0.8 nozzle.json" + }, + { + "name": "re3D Greengate rPETG @0.8 nozzle", + "sub_path": "filament/re3D Greengate rPETG @0.8 nozzle.json" + }, + { + "name": "re3D Greengate rPETG @1.75 nozzle", + "sub_path": "filament/re3D Greengate rPETG @1.75 nozzle.json" + }, + { + "name": "re3D rPP @0.8 nozzle", + "sub_path": "filament/re3D rPP @0.8 nozzle.json" + }, + { + "name": "re3D rPP @1.75 nozzle", + "sub_path": "filament/re3D rPP @1.75 nozzle.json" } ], "machine_list": [ @@ -134,6 +178,22 @@ "name": "re3D Gigabot 4 XLT 0.8 nozzle", "sub_path": "machine/re3D Gigabot 4 XLT 0.8 nozzle.json" }, + { + "name": "re3D GigabotX 2 0.8 nozzle", + "sub_path": "machine/re3D GigabotX 2 0.8 nozzle.json" + }, + { + "name": "re3D GigabotX 2 1.75 nozzle", + "sub_path": "machine/re3D GigabotX 2 1.75 nozzle.json" + }, + { + "name": "re3D GigabotX 2 XLT 0.8 nozzle", + "sub_path": "machine/re3D GigabotX 2 XLT 0.8 nozzle.json" + }, + { + "name": "re3D GigabotX 2 XLT 1.75 nozzle", + "sub_path": "machine/re3D GigabotX 2 XLT 1.75 nozzle.json" + }, { "name": "re3D Terabot 4 0.4 nozzle", "sub_path": "machine/re3D Terabot 4 0.4 nozzle.json" @@ -143,16 +203,12 @@ "sub_path": "machine/re3D Terabot 4 0.8 nozzle.json" }, { - "name": "re3D Gigabot X2 1.75 nozzle", - "sub_path": "machine/re3D Gigabot X2 1.75 nozzle.json" + "name": "re3D TerabotX 2 0.8 nozzle", + "sub_path": "machine/re3D TerabotX 2 0.8 nozzle.json" }, { - "name": "re3D Gigabot X2 XLT 1.75 nozzle", - "sub_path": "machine/re3D Gigabot X2 XLT 1.75 nozzle.json" - }, - { - "name": "re3D Terabot X2 1.75 nozzle", - "sub_path": "machine/re3D Terabot X2 1.75 nozzle.json" + "name": "re3D TerabotX 2 1.75 nozzle", + "sub_path": "machine/re3D TerabotX 2 1.75 nozzle.json" } ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/fdm_filament_common.json b/resources/profiles/re3D/filament/fdm_filament_common.json index 745f258139..ce8ec10c62 100644 --- a/resources/profiles/re3D/filament/fdm_filament_common.json +++ b/resources/profiles/re3D/filament/fdm_filament_common.json @@ -2,170 +2,5 @@ "type": "filament", "name": "fdm_filament_common", "from": "system", - "instantiation": "false", - "cool_plate_temp": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "overhang_fan_threshold": [ - "95%" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "filament_flow_ratio": [ - "1" - ], - "reduce_fan_stop_start_freq": [ - "0" - ], - "fan_cooling_layer_time": [ - "60" - ], - "filament_cost": [ - "0" - ], - "filament_density": [ - "0" - ], - "filament_deretraction_speed": [ - "nil" - ], - "filament_diameter": [ - "2.85" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_multitool_ramming_volume": [ - "15" - ], - "filament_multitool_ramming_flow": [ - "15" - ], - "filament_retraction_minimum_travel": [ - "nil" - ], - "filament_retract_before_wipe": [ - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil" - ], - "filament_retraction_length": [ - "nil" - ], - "filament_z_hop": [ - "nil" - ], - "filament_z_hop_types": [ - "nil" - ], - "filament_retract_restart_extra": [ - "nil" - ], - "filament_retraction_speed": [ - "nil" - ], - "filament_settings_id": [ - "" - ], - "filament_soluble": [ - "0" - ], - "filament_type": [ - "PLA" - ], - "filament_vendor": [ - "Generic" - ], - "filament_wipe": [ - "nil" - ], - "filament_wipe_distance": [ - "nil" - ], - "bed_type": [ - "Cool Plate" - ], - "nozzle_temperature_initial_layer": [ - "200" - ], - "full_fan_speed_layer": [ - "0" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "35" - ], - "slow_down_min_speed": [ - "10" - ], - "slow_down_layer_time": [ - "8" - ], - "filament_start_gcode": [ - "; Filament gcode\n" - ], - "nozzle_temperature": [ - "200" - ], - "temperature_vitrification": [ - "100" - ], - "filament_loading_speed_start": [ - "0" - ], - "filament_loading_speed": [ - "0" - ], - "filament_unloading_speed_start": [ - "0" - ], - "filament_unloading_speed": [ - "0" - ], - "filament_cooling_moves": [ - "0" - ], - "filament_cooling_initial_speed": [ - "0" - ], - "filament_cooling_final_speed": [ - "0" - ] -} + "instantiation": "false" +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/fdm_filament_pc.json b/resources/profiles/re3D/filament/fdm_filament_pc.json index 439cf4f683..46e7670b93 100644 --- a/resources/profiles/re3D/filament/fdm_filament_pc.json +++ b/resources/profiles/re3D/filament/fdm_filament_pc.json @@ -4,91 +4,7 @@ "from": "system", "instantiation": "false", "inherits": "fdm_filament_common", - "pressure_advance": [ - "0.096" - ], - "cool_plate_temp": [ - "115" - ], - "eng_plate_temp": [ - "115" - ], - "hot_plate_temp": [ - "115" - ], - "textured_plate_temp": [ - "115" - ], - "cool_plate_temp_initial_layer": [ - "113" - ], - "eng_plate_temp_initial_layer": [ - "113" - ], - "hot_plate_temp_initial_layer": [ - "113" - ], - "textured_plate_temp_initial_layer": [ - "113" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "fan_cooling_layer_time": [ - "30" - ], - "slow_down_layer_time": [ - "2" - ], - "filament_max_volumetric_speed": [ - "12" - ], "filament_type": [ "PC" - ], - "filament_density": [ - "1.04" - ], - "filament_cost": [ - "0" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "fan_max_speed": [ - "60" - ], - "fan_min_speed": [ - "10" - ], - "overhang_fan_speed": [ - "60" - ], - "overhang_fan_threshold": [ - "25%" - ], - "support_material_interface_fan_speed": [ - "100" - ], - "nozzle_temperature": [ - "260" - ], - "temperature_vitrification": [ - "120" - ], - "nozzle_temperature_range_low": [ - "260" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "filament_start_gcode": [ - "; filament start gcode\n" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/fdm_filament_pet.json b/resources/profiles/re3D/filament/fdm_filament_pet.json index 73c3886a2c..3aab46b0d5 100644 --- a/resources/profiles/re3D/filament/fdm_filament_pet.json +++ b/resources/profiles/re3D/filament/fdm_filament_pet.json @@ -4,79 +4,7 @@ "from": "system", "instantiation": "false", "inherits": "fdm_filament_common", - "filament_density": [ - "1.27" - ], - "filament_cost": [ - "0" - ], - "temperature_vitrification": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "enable_overhang_bridge_fan": [ - "1" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "80" - ], - "filament_diameter": [ - "2.85" - ], - "filament_flow_ratio": [ - "0.91" - ], - "filament_max_volumetric_speed": [ - "9.5" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], "filament_type": [ "PETG" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "nozzle_temperature_range_high": [ - "250" - ], - "overhang_fan_threshold": [ - "95%" - ], - "pressure_advance": [ - "0.205" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "slow_down_layer_time": [ - "8" - ], - "slow_down_min_speed": [ - "10" - ], - "support_material_interface_fan_speed": [ - "100" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/fdm_filament_pla.json b/resources/profiles/re3D/filament/fdm_filament_pla.json index 14f0ce3828..b678250264 100644 --- a/resources/profiles/re3D/filament/fdm_filament_pla.json +++ b/resources/profiles/re3D/filament/fdm_filament_pla.json @@ -4,97 +4,7 @@ "from": "system", "instantiation": "false", "inherits": "fdm_filament_common", - "filament_flow_ratio": [ - "0.91" - ], - "pressure_advance": [ - "0.11" - ], - "fan_cooling_layer_time": [ - "100" - ], - "filament_max_volumetric_speed": [ - "12" - ], "filament_type": [ "PLA" - ], - "filament_density": [ - "1.24" - ], - "filament_cost": [ - "20" - ], - "cool_plate_temp": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "reduce_fan_stop_start_freq": [ - "1" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "overhang_fan_speed": [ - "100" - ], - "overhang_fan_threshold": [ - "0%" - ], - "close_fan_the_first_x_layers": [ - "1" - ], - "nozzle_temperature": [ - "220" - ], - "temperature_vitrification": [ - "45" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "slow_down_min_speed": [ - "10" - ], - "slow_down_layer_time": [ - "4" - ], - "additional_cooling_fan_speed": [ - "70" - ], - "filament_start_gcode": [ - "; filament start gcode\n" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/fdm_filament_abs.json b/resources/profiles/re3D/filament/re3D Greengate rPETG @0.8 nozzle.json similarity index 54% rename from resources/profiles/re3D/filament/fdm_filament_abs.json rename to resources/profiles/re3D/filament/re3D Greengate rPETG @0.8 nozzle.json index 9154848f93..0649a23f8f 100644 --- a/resources/profiles/re3D/filament/fdm_filament_abs.json +++ b/resources/profiles/re3D/filament/re3D Greengate rPETG @0.8 nozzle.json @@ -1,94 +1,113 @@ { "type": "filament", - "name": "fdm_filament_abs", + "filament_id": "GFG01", + "setting_id": "GFSG01", + "name": "re3D Greengate rPETG @0.8 nozzle", "from": "system", - "instantiation": "false", - "inherits": "fdm_filament_common", - "fan_cooling_layer_time": [ - "100" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_type": [ - "ABS" - ], - "filament_density": [ - "1.24" - ], - "filament_cost": [ - "20" - ], - "cool_plate_temp": [ - "60" - ], - "eng_plate_temp": [ - "60" - ], - "hot_plate_temp": [ - "60" - ], - "textured_plate_temp": [ - "60" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" - ], - "textured_plate_temp_initial_layer": [ - "60" - ], + "instantiation": "true", + "inherits": "fdm_filament_pet", "nozzle_temperature_initial_layer": [ + "0" + ], + "nozzle_temperature": [ + "0" + ], + "nozzle_temperature_range_low": [ "220" ], - "reduce_fan_stop_start_freq": [ - "1" + "nozzle_temperature_range_high": [ + "260" ], - "slow_down_for_layer_cooling": [ - "1" + "hot_plate_temp_initial_layer": [ + "70" + ], + "hot_plate_temp": [ + "70" + ], + "filament_flow_ratio": [ + "1.0" + ], + "enable_pressure_advance": [ + "0" + ], + "slow_down_layer_time": [ + "20" + ], + "slow_down_min_speed": [ + "25" + ], + "filament_start_gcode": [ + "M190 S75\nM104 S220 T0\nM104 S210 T1\nM104 S200 T2\nM109 S220 T0\nM109 S210 T1\nM109 S200 T2" + ], + "filament_density": [ + "1.27" + ], + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "60" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" ], "fan_max_speed": [ "100" ], "fan_min_speed": [ - "100" + "30" ], - "overhang_fan_speed": [ - "100" + "fan_cooling_layer_time": [ + "20" + ], + "full_fan_speed_layer": [ + "2" ], "overhang_fan_threshold": [ - "50%" + "95%" ], - "close_fan_the_first_x_layers": [ + "overhang_fan_speed": [ + "80" + ], + "enable_overhang_bridge_fan": [ "1" ], - "nozzle_temperature": [ - "220" + "slow_down_for_layer_cooling": [ + "1" + ], + "pressure_advance": [ + "0.205" + ], + "reduce_fan_stop_start_freq": [ + "1" ], "temperature_vitrification": [ - "60" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "slow_down_min_speed": [ - "10" - ], - "slow_down_layer_time": [ - "4" - ], - "additional_cooling_fan_speed": [ "70" ], - "filament_start_gcode": [ - "; filament start gcode\n" + "support_material_interface_fan_speed": [ + "100" + ], + "filament_soluble": [ + "0" + ], + "compatible_printers": [ + "re3D GigabotX 2 0.8 nozzle", + "re3D GigabotX 2 XLT 0.8 nozzle", + "re3D TerabotX 2 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D Greengate rPETG @1.75 nozzle.json b/resources/profiles/re3D/filament/re3D Greengate rPETG @1.75 nozzle.json new file mode 100644 index 0000000000..a409f08bbe --- /dev/null +++ b/resources/profiles/re3D/filament/re3D Greengate rPETG @1.75 nozzle.json @@ -0,0 +1,113 @@ +{ + "type": "filament", + "filament_id": "GFG01", + "setting_id": "GFSG01_175", + "name": "re3D Greengate rPETG @1.75 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "nozzle_temperature_initial_layer": [ + "0" + ], + "nozzle_temperature": [ + "0" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "hot_plate_temp": [ + "70" + ], + "filament_flow_ratio": [ + "1.0" + ], + "enable_pressure_advance": [ + "0" + ], + "slow_down_layer_time": [ + "20" + ], + "slow_down_min_speed": [ + "25" + ], + "filament_start_gcode": [ + "M190 S75\nM104 S220 T0\nM104 S210 T1\nM104 S200 T2\nM109 S220 T0\nM109 S210 T1\nM109 S200 T2" + ], + "filament_density": [ + "1.27" + ], + "filament_diameter": [ + "2.85" + ], + "filament_max_volumetric_speed": [ + "60" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "30" + ], + "fan_cooling_layer_time": [ + "20" + ], + "full_fan_speed_layer": [ + "2" + ], + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "80" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "pressure_advance": [ + "0.205" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "temperature_vitrification": [ + "70" + ], + "support_material_interface_fan_speed": [ + "100" + ], + "filament_soluble": [ + "0" + ], + "compatible_printers": [ + "re3D GigabotX 2 1.75 nozzle", + "re3D GigabotX 2 XLT 1.75 nozzle", + "re3D TerabotX 2 1.75 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D Greengate rPETG.json b/resources/profiles/re3D/filament/re3D Greengate rPETG.json index 09eb505102..6c56f72fb5 100644 --- a/resources/profiles/re3D/filament/re3D Greengate rPETG.json +++ b/resources/profiles/re3D/filament/re3D Greengate rPETG.json @@ -1,47 +1,20 @@ { "type": "filament", - "filament_id": "GFG99", - "setting_id": "GFSG99", "name": "re3D Greengate rPETG", "from": "system", "instantiation": "true", "inherits": "fdm_filament_pet", - "nozzle_temperature_initial_layer": [ - "255" - ], - "nozzle_temperature": [ - "255" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "nozzle_temperature_range_high": [ - "260" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "hot_plate_temp": [ - "80" - ], - "filament_flow_ratio": [ - "1.02" - ], - "enable_pressure_advance": [ - "0" - ], - "slow_down_layer_time": [ - "20" - ], - "slow_down_min_speed": [ - "25" - ], - "filament_start_gcode": [ - "M190 S75\nM104 S220 T0\nM104 S210 T1\nM104 S200 T2\nM109 S220 T0\nM109 S210 T1\nM109 S200 T2" + "filament_id": "GFG01", + "setting_id": "re3d_greengate_rpetg", + "filament_settings_id": [ + "re3D Greengate rPETG" ], "compatible_printers": [ - "re3D Gigabot X2 1.75 nozzle", - "re3D Gigabot X2 XLT 1.75 nozzle", - "re3D Terabot X2 1.75 nozzle" + "re3D GigabotX 2", + "re3D GigabotX 2 XLT", + "re3D TerabotX 2" + ], + "filament_vendor": [ + "re3D" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D PC @0.4 nozzle.json b/resources/profiles/re3D/filament/re3D PC @0.4 nozzle.json new file mode 100644 index 0000000000..97e5308b5b --- /dev/null +++ b/resources/profiles/re3D/filament/re3D PC @0.4 nozzle.json @@ -0,0 +1,173 @@ +{ + "type": "filament", + "name": "re3D PC @0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_id": "GFG99", + "setting_id": "re3d_pc_04", + "filament_settings_id": [ + "re3D PC @0.4 nozzle" + ], + "compatible_printers": [ + "re3D Gigabot 4 0.4 nozzle", + "re3D Gigabot 4 XLT 0.4 nozzle", + "re3D Terabot 4 0.4 nozzle" + ], + "filament_vendor": [ + "re3D" + ], + "filament_density": [ + "1.19" + ], + "filament_diameter": [ + "2.85" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_max_volumetric_speed": [ + "11.5" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "20" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "113" + ], + "cool_plate_temp": [ + "115" + ], + "cool_plate_temp_initial_layer": [ + "113" + ], + "eng_plate_temp": [ + "115" + ], + "eng_plate_temp_initial_layer": [ + "113" + ], + "textured_plate_temp": [ + "115" + ], + "textured_plate_temp_initial_layer": [ + "113" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "fan_cooling_layer_time": [ + "20" + ], + "close_fan_the_first_x_layers": [ + "2" + ], + "overhang_fan_threshold": [ + "50%" + ], + "overhang_fan_speed": [ + "40" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "30" + ], + "slow_down_min_speed": [ + "30" + ], + "pressure_advance": [ + "0.096" + ], + "enable_pressure_advance": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_soluble": [ + "0" + ], + "support_material_interface_fan_speed": [ + "100" + ], + "filament_multitool_ramming": [ + "1" + ], + "filament_multitool_ramming_volume": [ + "20" + ], + "filament_multitool_ramming_flow": [ + "10.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_tower_interface_pre_extrusion_dist": [ + "0" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_ironing_area": [ + "0" + ], + "filament_tower_interface_purge_volume": [ + "0" + ], + "filament_tower_interface_print_temp": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_stamping_loading_speed": [ + "0" + ], + "filament_stamping_distance": [ + "0" + ] +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D PC @0.8 nozzle.json b/resources/profiles/re3D/filament/re3D PC @0.8 nozzle.json new file mode 100644 index 0000000000..783856f0a3 --- /dev/null +++ b/resources/profiles/re3D/filament/re3D PC @0.8 nozzle.json @@ -0,0 +1,173 @@ +{ + "type": "filament", + "name": "re3D PC @0.8 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_id": "GFG99", + "setting_id": "re3d_pc_08", + "filament_settings_id": [ + "re3D PC @0.8 nozzle" + ], + "compatible_printers": [ + "re3D Gigabot 4 0.8 nozzle", + "re3D Gigabot 4 XLT 0.8 nozzle", + "re3D Terabot 4 0.8 nozzle" + ], + "filament_vendor": [ + "re3D" + ], + "filament_density": [ + "1.19" + ], + "filament_diameter": [ + "2.85" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_max_volumetric_speed": [ + "11.5" + ], + "nozzle_temperature": [ + "265" + ], + "nozzle_temperature_initial_layer": [ + "265" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "hot_plate_temp": [ + "115" + ], + "hot_plate_temp_initial_layer": [ + "113" + ], + "cool_plate_temp": [ + "115" + ], + "cool_plate_temp_initial_layer": [ + "113" + ], + "eng_plate_temp": [ + "115" + ], + "eng_plate_temp_initial_layer": [ + "113" + ], + "textured_plate_temp": [ + "115" + ], + "textured_plate_temp_initial_layer": [ + "113" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "30" + ], + "fan_cooling_layer_time": [ + "20" + ], + "close_fan_the_first_x_layers": [ + "2" + ], + "overhang_fan_threshold": [ + "50%" + ], + "overhang_fan_speed": [ + "40" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "30" + ], + "slow_down_min_speed": [ + "30" + ], + "pressure_advance": [ + "0.096" + ], + "enable_pressure_advance": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_soluble": [ + "0" + ], + "support_material_interface_fan_speed": [ + "100" + ], + "filament_multitool_ramming": [ + "1" + ], + "filament_multitool_ramming_volume": [ + "20" + ], + "filament_multitool_ramming_flow": [ + "10.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_tower_interface_pre_extrusion_dist": [ + "0" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_ironing_area": [ + "0" + ], + "filament_tower_interface_purge_volume": [ + "0" + ], + "filament_tower_interface_print_temp": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_stamping_loading_speed": [ + "0" + ], + "filament_stamping_distance": [ + "0" + ] +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D PC.json b/resources/profiles/re3D/filament/re3D PC.json index 682eaefc33..12498c0d2b 100644 --- a/resources/profiles/re3D/filament/re3D PC.json +++ b/resources/profiles/re3D/filament/re3D PC.json @@ -1,17 +1,20 @@ { "type": "filament", - "filament_id": "GFG99", - "setting_id": "GFSG99", "name": "re3D PC", "from": "system", "instantiation": "true", "inherits": "fdm_filament_pc", + "filament_id": "GFG99", + "setting_id": "re3d_pc", + "filament_settings_id": [ + "re3D PC" + ], "compatible_printers": [ - "re3D Gigabot 4 0.4 nozzle", - "re3D Gigabot 4 XLT 0.4 nozzle", - "re3D Terabot 4 0.4 nozzle", - "re3D Gigabot 4 0.8 nozzle", - "re3D Gigabot 4 XLT 0.8 nozzle", - "re3D Terabot 4 0.8 nozzle" + "re3D Gigabot 4", + "re3D Gigabot 4 XLT", + "re3D Terabot 4" + ], + "filament_vendor": [ + "re3D" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D PETG @0.4 nozzle.json b/resources/profiles/re3D/filament/re3D PETG @0.4 nozzle.json new file mode 100644 index 0000000000..3878394f8d --- /dev/null +++ b/resources/profiles/re3D/filament/re3D PETG @0.4 nozzle.json @@ -0,0 +1,173 @@ +{ + "type": "filament", + "name": "re3D PETG @0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "filament_id": "GFG03", + "setting_id": "re3d_petg_04", + "filament_settings_id": [ + "re3D PETG @0.4 nozzle" + ], + "compatible_printers": [ + "re3D Gigabot 4 0.4 nozzle", + "re3D Gigabot 4 XLT 0.4 nozzle", + "re3D Terabot 4 0.4 nozzle" + ], + "filament_vendor": [ + "re3D" + ], + "close_fan_the_first_x_layers": [ + "2" + ], + "filament_density": [ + "1.27" + ], + "filament_diameter": [ + "2.85" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_max_volumetric_speed": [ + "10.5" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "20" + ], + "fan_cooling_layer_time": [ + "20" + ], + "full_fan_speed_layer": [ + "3" + ], + "overhang_fan_threshold": [ + "50%" + ], + "overhang_fan_speed": [ + "80" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "20" + ], + "slow_down_min_speed": [ + "30" + ], + "pressure_advance": [ + "0.205" + ], + "enable_pressure_advance": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "support_material_interface_fan_speed": [ + "100" + ], + "filament_soluble": [ + "0" + ], + "filament_multitool_ramming": [ + "1" + ], + "filament_multitool_ramming_volume": [ + "20" + ], + "filament_multitool_ramming_flow": [ + "10.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_tower_interface_pre_extrusion_dist": [ + "0" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_ironing_area": [ + "0" + ], + "filament_tower_interface_purge_volume": [ + "0" + ], + "filament_tower_interface_print_temp": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_stamping_loading_speed": [ + "0" + ], + "filament_stamping_distance": [ + "0" + ] +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D PETG @0.8 nozzle.json b/resources/profiles/re3D/filament/re3D PETG @0.8 nozzle.json new file mode 100644 index 0000000000..61583c2cd3 --- /dev/null +++ b/resources/profiles/re3D/filament/re3D PETG @0.8 nozzle.json @@ -0,0 +1,173 @@ +{ + "type": "filament", + "name": "re3D PETG @0.8 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "filament_id": "GFG03", + "setting_id": "re3d_petg_08", + "filament_settings_id": [ + "re3D PETG @0.8 nozzle" + ], + "compatible_printers": [ + "re3D Gigabot 4 0.8 nozzle", + "re3D Gigabot 4 XLT 0.8 nozzle", + "re3D Terabot 4 0.8 nozzle" + ], + "filament_vendor": [ + "re3D" + ], + "close_fan_the_first_x_layers": [ + "2" + ], + "filament_density": [ + "1.27" + ], + "filament_diameter": [ + "2.85" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_max_volumetric_speed": [ + "10.5" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "20" + ], + "fan_cooling_layer_time": [ + "20" + ], + "full_fan_speed_layer": [ + "3" + ], + "overhang_fan_threshold": [ + "50%" + ], + "overhang_fan_speed": [ + "80" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "20" + ], + "slow_down_min_speed": [ + "30" + ], + "pressure_advance": [ + "0.205" + ], + "enable_pressure_advance": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "support_material_interface_fan_speed": [ + "100" + ], + "filament_soluble": [ + "0" + ], + "filament_multitool_ramming": [ + "1" + ], + "filament_multitool_ramming_volume": [ + "20" + ], + "filament_multitool_ramming_flow": [ + "10.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_tower_interface_pre_extrusion_dist": [ + "0" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_ironing_area": [ + "0" + ], + "filament_tower_interface_purge_volume": [ + "0" + ], + "filament_tower_interface_print_temp": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_stamping_loading_speed": [ + "0" + ], + "filament_stamping_distance": [ + "0" + ] +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D PETG.json b/resources/profiles/re3D/filament/re3D PETG.json index d1dc763475..959c558564 100644 --- a/resources/profiles/re3D/filament/re3D PETG.json +++ b/resources/profiles/re3D/filament/re3D PETG.json @@ -1,26 +1,20 @@ { "type": "filament", - "filament_id": "GFG99", - "setting_id": "GFSG99", "name": "re3D PETG", "from": "system", "instantiation": "true", "inherits": "fdm_filament_pet", - "filament_start_gcode": [ - "; Filament gcode" - ], - "filament_end_gcode": [ - "; filament end gcode" - ], - "filament_retraction_length": [ - "1" + "filament_id": "GFG03", + "setting_id": "re3d_petg", + "filament_settings_id": [ + "re3D PETG" ], "compatible_printers": [ - "re3D Gigabot 4 0.4 nozzle", - "re3D Gigabot 4 XLT 0.4 nozzle", - "re3D Terabot 4 0.4 nozzle", - "re3D Gigabot 4 0.8 nozzle", - "re3D Gigabot 4 XLT 0.8 nozzle", - "re3D Terabot 4 0.8 nozzle" + "re3D Gigabot 4", + "re3D Gigabot 4 XLT", + "re3D Terabot 4" + ], + "filament_vendor": [ + "re3D" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D PLA @0.4 nozzle.json b/resources/profiles/re3D/filament/re3D PLA @0.4 nozzle.json new file mode 100644 index 0000000000..9b41a6b863 --- /dev/null +++ b/resources/profiles/re3D/filament/re3D PLA @0.4 nozzle.json @@ -0,0 +1,174 @@ +{ + "type": "filament", + "name": "re3D PLA @0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_id": "GFL99", + "setting_id": "re3d_pla_04", + "filament_settings_id": [ + "re3D PLA @0.4 nozzle" + ], + "compatible_printers": [ + "re3D Gigabot 4 0.4 nozzle", + "re3D Gigabot 4 XLT 0.4 nozzle", + "re3D Terabot 4 0.4 nozzle" + ], + "filament_vendor": [ + "re3D" + ], + "close_fan_the_first_x_layers": "2", + "filament_density": [ + "1.24" + ], + "filament_diameter": [ + "2.85" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "fan_cooling_layer_time": [ + "20" + ], + "full_fan_speed_layer": [ + "2" + ], + "overhang_fan_threshold": [ + "0%" + ], + "overhang_fan_speed": [ + "80" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "20" + ], + "slow_down_min_speed": [ + "30" + ], + "pressure_advance": [ + "0.096" + ], + "enable_pressure_advance": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "temperature_vitrification": [ + "70" + ], + "support_material_interface_fan_speed": [ + "100" + ], + "filament_soluble": [ + "0" + ], + "filament_multitool_ramming": [ + "1" + ], + "filament_multitool_ramming_volume": [ + "20" + ], + "filament_multitool_ramming_flow": [ + "10.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_tower_interface_pre_extrusion_dist": [ + "0" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_ironing_area": [ + "0" + ], + "filament_tower_interface_purge_volume": [ + "0" + ], + "filament_tower_interface_print_temp": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_stamping_loading_speed": [ + "0" + ], + "filament_stamping_distance": [ + "0" + ] +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D PLA @0.8 nozzle.json b/resources/profiles/re3D/filament/re3D PLA @0.8 nozzle.json new file mode 100644 index 0000000000..a38682a5d0 --- /dev/null +++ b/resources/profiles/re3D/filament/re3D PLA @0.8 nozzle.json @@ -0,0 +1,174 @@ +{ + "type": "filament", + "name": "re3D PLA @0.8 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_id": "GFL99", + "setting_id": "re3d_pla_08", + "filament_settings_id": [ + "re3D PLA @0.8 nozzle" + ], + "compatible_printers": [ + "re3D Gigabot 4 0.8 nozzle", + "re3D Gigabot 4 XLT 0.8 nozzle", + "re3D Terabot 4 0.8 nozzle" + ], + "filament_vendor": [ + "re3D" + ], + "close_fan_the_first_x_layers": "2", + "filament_density": [ + "1.24" + ], + "filament_diameter": [ + "2.85" + ], + "filament_flow_ratio": [ + "0.99" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "cool_plate_temp": [ + "65" + ], + "cool_plate_temp_initial_layer": [ + "65" + ], + "eng_plate_temp": [ + "65" + ], + "eng_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "65" + ], + "textured_plate_temp_initial_layer": [ + "65" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "fan_cooling_layer_time": [ + "20" + ], + "full_fan_speed_layer": [ + "2" + ], + "overhang_fan_threshold": [ + "0%" + ], + "overhang_fan_speed": [ + "80" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "20" + ], + "slow_down_min_speed": [ + "30" + ], + "pressure_advance": [ + "0.096" + ], + "enable_pressure_advance": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "temperature_vitrification": [ + "70" + ], + "support_material_interface_fan_speed": [ + "100" + ], + "filament_soluble": [ + "0" + ], + "filament_multitool_ramming": [ + "1" + ], + "filament_multitool_ramming_volume": [ + "20" + ], + "filament_multitool_ramming_flow": [ + "10.5" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_tower_interface_pre_extrusion_dist": [ + "0" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_ironing_area": [ + "0" + ], + "filament_tower_interface_purge_volume": [ + "0" + ], + "filament_tower_interface_print_temp": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_stamping_loading_speed": [ + "0" + ], + "filament_stamping_distance": [ + "0" + ] +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D PLA.json b/resources/profiles/re3D/filament/re3D PLA.json index 73a37cf35b..bf2894030a 100644 --- a/resources/profiles/re3D/filament/re3D PLA.json +++ b/resources/profiles/re3D/filament/re3D PLA.json @@ -1,17 +1,20 @@ { "type": "filament", - "filament_id": "GFL99", - "setting_id": "GFSL99", "name": "re3D PLA", "from": "system", "instantiation": "true", "inherits": "fdm_filament_pla", + "filament_id": "GFL99", + "setting_id": "re3d_pla", + "filament_settings_id": [ + "re3D PLA" + ], "compatible_printers": [ - "re3D Gigabot 4 0.4 nozzle", - "re3D Gigabot 4 XLT 0.4 nozzle", - "re3D Terabot 4 0.4 nozzle", - "re3D Gigabot 4 0.8 nozzle", - "re3D Gigabot 4 XLT 0.8 nozzle", - "re3D Terabot 4 0.8 nozzle" + "re3D Gigabot 4", + "re3D Gigabot 4 XLT", + "re3D Terabot 4" + ], + "filament_vendor": [ + "re3D" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D rPP @0.8 nozzle.json b/resources/profiles/re3D/filament/re3D rPP @0.8 nozzle.json new file mode 100644 index 0000000000..3312aa9702 --- /dev/null +++ b/resources/profiles/re3D/filament/re3D rPP @0.8 nozzle.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "filament_id": "GFG02", + "setting_id": "GFSG02", + "name": "re3D rPP @0.8 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "filament_type": [ + "PP" + ], + "filament_vendor": [ + "re3D" + ], + "close_fan_the_first_x_layers": [ + "2" + ], + "default_filament_colour": [ + "#FFFFFF" + ], + "filament_density": [ + "0.675" + ], + "filament_max_volumetric_speed": [ + "40" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_range_low": [ + "180" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "hot_plate_temp": [ + "110" + ], + "filament_flow_ratio": [ + "1.1" + ], + "enable_pressure_advance": [ + "0" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "3" + ], + "filament_start_gcode": [ + "; filament start gcode\nM190 S110\nM104 S190 T0\nM104 S185 T1\nM104 S170 T2\nM109 S190 T0\nM109 S185 T1\nM109 S170 T2\n" + ], + "compatible_printers": [ + "re3D GigabotX 2 0.8 nozzle", + "re3D GigabotX 2 XLT 0.8 nozzle", + "re3D TerabotX 2 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D rPP @1.75 nozzle.json b/resources/profiles/re3D/filament/re3D rPP @1.75 nozzle.json new file mode 100644 index 0000000000..219216279c --- /dev/null +++ b/resources/profiles/re3D/filament/re3D rPP @1.75 nozzle.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "filament_id": "GFG02", + "setting_id": "GFSG02_175", + "name": "re3D rPP @1.75 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "filament_type": [ + "PP" + ], + "filament_vendor": [ + "re3D" + ], + "close_fan_the_first_x_layers": [ + "2" + ], + "default_filament_colour": [ + "#FFFFFF" + ], + "filament_density": [ + "0.675" + ], + "filament_max_volumetric_speed": [ + "50" + ], + "nozzle_temperature_initial_layer": [ + "185" + ], + "nozzle_temperature": [ + "185" + ], + "nozzle_temperature_range_low": [ + "180" + ], + "nozzle_temperature_range_high": [ + "280" + ], + "hot_plate_temp_initial_layer": [ + "110" + ], + "hot_plate_temp": [ + "110" + ], + "filament_flow_ratio": [ + "1.15" + ], + "enable_pressure_advance": [ + "0" + ], + "slow_down_layer_time": [ + "50" + ], + "slow_down_min_speed": [ + "3" + ], + "filament_start_gcode": [ + "; filament start gcode\nM190 S110\nM104 S185 T0\nM104 S185 T1\nM104 S185 T2\nM109 S185 T0\nM109 S185 T1\nM109 S185 T2\n" + ], + "compatible_printers": [ + "re3D GigabotX 2 1.75 nozzle", + "re3D GigabotX 2 XLT 1.75 nozzle", + "re3D TerabotX 2 1.75 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/re3D/filament/re3D rPP.json b/resources/profiles/re3D/filament/re3D rPP.json index 420b795366..b82b6e46eb 100644 --- a/resources/profiles/re3D/filament/re3D rPP.json +++ b/resources/profiles/re3D/filament/re3D rPP.json @@ -1,7 +1,5 @@ { "type": "filament", - "filament_id": "GFG99", - "setting_id": "GFSG99", "name": "re3D rPP", "from": "system", "instantiation": "true", @@ -9,42 +7,17 @@ "filament_type": [ "PP" ], - "nozzle_temperature_initial_layer": [ - "185" - ], - "nozzle_temperature": [ - "185" - ], - "nozzle_temperature_range_low": [ - "180" - ], - "nozzle_temperature_range_high": [ - "200" - ], - "hot_plate_temp_initial_layer": [ - "110" - ], - "hot_plate_temp": [ - "110" - ], - "filament_flow_ratio": [ - "1.18" - ], - "enable_pressure_advance": [ - "0" - ], - "slow_down_layer_time": [ - "60" - ], - "slow_down_min_speed": [ - "10" - ], - "filament_start_gcode": [ - "M190 S110\nM104 S185 T0\nM104 S185 T1\nM104 S185 T2\nM109 S185 T0\nM109 S185 T1\nM109 S185 T2" + "filament_id": "GFG02", + "setting_id": "re3d_rpp", + "filament_settings_id": [ + "re3D rPP" ], "compatible_printers": [ - "re3D Gigabot X2 1.75 nozzle", - "re3D Gigabot X2 XLT 1.75 nozzle", - "re3D Terabot X2 1.75 nozzle" + "re3D GigabotX 2", + "re3D GigabotX 2 XLT", + "re3D TerabotX 2" + ], + "filament_vendor": [ + "re3D" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/fdm_machine_common.json b/resources/profiles/re3D/machine/fdm_machine_common.json index 6e711d57c5..736342291d 100644 --- a/resources/profiles/re3D/machine/fdm_machine_common.json +++ b/resources/profiles/re3D/machine/fdm_machine_common.json @@ -3,115 +3,11 @@ "name": "fdm_machine_common", "from": "system", "instantiation": "false", - "printer_technology": "FFF", - "deretraction_speed": [ - "40" - ], - "extruder_colour": [ - "#FCE94F" - ], - "extruder_offset": [ - "0x0" - ], + "auxiliary_fan": "0", + "bed_exclude_area": ["0x0"], + "family": "re3D", "gcode_flavor": "klipper", + "emit_machine_limits_to_gcode": "0", "silent_mode": "0", - "machine_max_acceleration_e": [ - "5000" - ], - "machine_max_acceleration_extruding": [ - "10000" - ], - "machine_max_acceleration_retracting": [ - "1000" - ], - "machine_max_acceleration_x": [ - "10000" - ], - "machine_max_acceleration_y": [ - "10000" - ], - "machine_max_acceleration_z": [ - "100" - ], - "machine_max_speed_e": [ - "60" - ], - "machine_max_speed_x": [ - "500" - ], - "machine_max_speed_y": [ - "500" - ], - "machine_max_speed_z": [ - "10" - ], - "machine_max_jerk_e": [ - "5" - ], - "machine_max_jerk_x": [ - "8" - ], - "machine_max_jerk_y": [ - "8" - ], - "machine_max_jerk_z": [ - "0.4" - ], - "machine_min_extruding_rate": [ - "0" - ], - "machine_min_travel_rate": [ - "0" - ], - "max_layer_height": [ - "0.4" - ], - "min_layer_height": [ - "0.1" - ], - "printable_height": "400", - "extruder_clearance_radius": "65", - "extruder_clearance_height_to_rod": "36", - "extruder_clearance_height_to_lid": "140", - "nozzle_diameter": [ - "0.4" - ], - "printer_settings_id": "", - "printer_variant": "0.4", - "retraction_minimum_travel": [ - "2" - ], - "retract_before_wipe": [ - "70%" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "5" - ], - "retract_length_toolchange": [ - "1" - ], - "z_hop": [ - "0" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "0" - ], - "retraction_speed": [ - "60" - ], - "single_extruder_multi_material": "1", - "change_filament_gcode": "", - "wipe": [ - "1" - ], - "z_lift_type": "NormalLift", - "default_print_profile": "0.16mm Optimal @Bambu Lab X1 Carbon 0.4 nozzle", - "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up", - "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end" -} + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/fdm_re3D_common.json b/resources/profiles/re3D/machine/fdm_re3D_common.json index 10bb924d52..b8922e2fb9 100644 --- a/resources/profiles/re3D/machine/fdm_re3D_common.json +++ b/resources/profiles/re3D/machine/fdm_re3D_common.json @@ -1,146 +1,131 @@ { - "type": "machine", - "name": "fdm_re3D_common", - "from": "system", - "instantiation": "false", - "inherits": "fdm_machine_common", - "gcode_flavor": "klipper", - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "5000", - "5000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "20000", - "20000" - ], - "machine_max_acceleration_x": [ - "5000", - "5000" - ], - "machine_max_acceleration_y": [ - "5000", - "5000" - ], - "machine_max_acceleration_z": [ - "5000", - "5000" - ], - "machine_max_speed_e": [ - "20", - "20" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "20", - "20" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9" - ], - "machine_max_jerk_z": [ - "0.2", - "0.2" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "max_layer_height": [ - "0.32" - ], - "min_layer_height": [ - "0.2" - ], - "extruder_clearance_radius": "125", - "extruder_clearance_height_to_rod": "25", - "printer_settings_id": "", - "printer_technology": "FFF", - "printer_variant": "0.4", - "retraction_minimum_travel": [ - "1" - ], - "retract_before_wipe": [ - "70%" - ], - "retract_when_changing_layer": [ - "1" - ], - "retraction_length": [ - "1.0" - ], - "retract_length_toolchange": [ - "12" - ], - "z_hop": [ - "0" - ], - "retract_restart_extra": [ - "0" - ], - "retract_restart_extra_toolchange": [ - "-0.08" - ], - "retraction_speed": [ - "200" - ], - "deretraction_speed": [ - "200" - ], - "z_hop_types": "Normal Lift", - "silent_mode": "0", - "single_extruder_multi_material": [ - "0" - ], - "machine_tool_change_time": [ - "30" - ], - "change_filament_gcode": "", - "machine_pause_gcode": "PAUSE", - "wipe": [ - "0" - ], - "default_filament_profile": [ - "" - ], - "default_print_profile": "", "bed_exclude_area": [ "0x0" ], - "machine_start_gcode": "M220 S100\nM221 S100\nG28\nG92 E0\nG1 Z0.3 F200\n", - "machine_end_gcode": "M104 S0 T0\nM104 S0 T1\nM140 S0\n\nG28 X Y\nM18\nM107\n", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", - "scan_first_layer": "0", - "auxiliary_fan": "0", + "instantiation": "false", + "type": "machine", + "deretraction_speed": [ + "30", + "30" + ], + "enable_filament_ramming": "1", + "extruder_offset": [ + "0x0", + "0x0" + ], "extruders_count": [ "2" - ] -} + ], + "inherits": "fdm_machine_common", + "machine_end_gcode": "G92 E0\nTURN_OFF_HEATERS\nG28 X Y\nM18\nM107", + "machine_start_gcode": "M83 ; Use relative extrusion distances\nG28 ; Home all axes\nM140 S{first_layer_bed_temperature[initial_tool]} ; Start heating bed\nM190 S{first_layer_bed_temperature[initial_tool]} ; Wait for bed to reach temperature\n\nT{initial_tool}\n\n\n; ---------------------------\n; HEAT THE USED TOOL\n; ---------------------------\n{if is_extruder_used[initial_tool]}\nM104 T{initial_tool} S{first_layer_temperature[initial_tool]} ; Preheat active extruder to first layer temperature\nM109 T{initial_tool} S{first_layer_temperature[initial_tool]} ; Wait for active extruder to reach temperature\n{endif}\n\nG1 F18000\nG4 S0\nG92 E0", + "machine_tool_change_time": [ + "90" + ], + "name": "fdm_re3D_common", + "printer_technology": "FFF", + "retract_before_wipe": [ + "70%", + "70%" + ], + "retract_length_toolchange": [ + "12", + "12" + ], + "retract_restart_extra": [ + "0", + "0" + ], + "retract_restart_extra_toolchange": [ + "-0.08", + "-0.08" + ], + "retract_when_changing_layer": [ + "1", + "1" + ], + "retraction_length": [ + "1.0", + "1.0" + ], + "retraction_minimum_travel": [ + "1", + "1" + ], + "retraction_speed": [ + "30", + "30" + ], + "single_extruder_multi_material": "0", + "wipe": [ + "1", + "1" + ], + "z_hop": [ + "0", + "0" + ], + "z_hop_types": [ + "Normal Lift", + "Normal Lift" + ], + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "default_nozzle_volume_type": [ + "Standard", + "Standard" + ], + "disable_m73": "0", + "extruder_colour": [ + "#FCE94F", + "#FCE94F" + ], + "extruder_type": [ + "Direct Drive", + "Direct Drive" + ], + "extruder_variant_list": [ + "Direct Drive Standard", + "Direct Drive Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "host_type": "octoprint", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_pause_gcode": "PAUSE", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "master_extruder_id": "1", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printer_extruder_id": [ + "1", + "2" + ], + "printer_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive Standard" + ], + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "travel_slope": [ + "3", + "3" + ], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe_distance": [ + "1", + "1" + ], + "wipe_tower_type": "type2", + "z_offset": "0" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/fgf_re3D_common.json b/resources/profiles/re3D/machine/fgf_re3D_common.json index d88c074b74..3e0e409228 100644 --- a/resources/profiles/re3D/machine/fgf_re3D_common.json +++ b/resources/profiles/re3D/machine/fgf_re3D_common.json @@ -5,81 +5,6 @@ "instantiation": "false", "inherits": "fdm_machine_common", "gcode_flavor": "klipper", - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "5000", - "5000" - ], - "machine_max_acceleration_retracting": [ - "5000", - "5000" - ], - "machine_max_acceleration_travel": [ - "20000", - "5000" - ], - "machine_max_acceleration_x": [ - "5000", - "5000" - ], - "machine_max_acceleration_y": [ - "5000", - "5000" - ], - "machine_max_acceleration_z": [ - "2000", - "2000" - ], - "machine_max_speed_e": [ - "60", - "60" - ], - "machine_max_speed_x": [ - "500", - "500" - ], - "machine_max_speed_y": [ - "500", - "500" - ], - "machine_max_speed_z": [ - "20", - "20" - ], - "machine_max_jerk_e": [ - "2.5", - "2.5" - ], - "machine_max_jerk_x": [ - "9", - "9" - ], - "machine_max_jerk_y": [ - "9", - "9" - ], - "machine_max_jerk_z": [ - "0.2", - "0.2" - ], - "machine_min_extruding_rate": [ - "0", - "0" - ], - "machine_min_travel_rate": [ - "0", - "0" - ], - "max_layer_height": [ - "2.25" - ], - "min_layer_height": [ - "0.3" - ], - "extruder_clearance_radius": "70", "printer_settings_id": "", "printer_technology": "FFF", "purge_in_prime_tower": "0", @@ -90,6 +15,9 @@ "retract_before_wipe": [ "70%" ], + "extruders_count": [ + "1" + ], "retract_when_changing_layer": [ "1" ], @@ -97,10 +25,10 @@ "0" ], "retract_length_toolchange": [ - "2" + "0" ], "z_hop": [ - "0.4" + "0" ], "retract_restart_extra": [ "0" @@ -116,16 +44,12 @@ ], "z_hop_types": "Normal Lift", "silent_mode": "0", - "single_extruder_multi_material": "1", + "single_extruder_multi_material": "0", "change_filament_gcode": "M600", "machine_pause_gcode": "PAUSE", "wipe": [ "1" ], - "default_filament_profile": [ - "re3D Greengate rPETG" - ], - "default_print_profile": "1.0mm Standard @re3D fgf 1.75", "bed_exclude_area": [ "0x0" ], @@ -136,4 +60,4 @@ "scan_first_layer": "0", "nozzle_type": "undefine", "auxiliary_fan": "0" -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D Gigabot 4 0.4 nozzle.json b/resources/profiles/re3D/machine/re3D Gigabot 4 0.4 nozzle.json index 79300ac827..4d2b39c096 100644 --- a/resources/profiles/re3D/machine/re3D Gigabot 4 0.4 nozzle.json +++ b/resources/profiles/re3D/machine/re3D Gigabot 4 0.4 nozzle.json @@ -1,31 +1,36 @@ { "type": "machine", - "setting_id": "GM001", "name": "re3D Gigabot 4 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_re3D_common", + "instantiation": "true", + "machine_tech": "FFF", + "model_id": "GB4", "printer_model": "re3D Gigabot 4", - "nozzle_diameter": [ - "0.4", - "0.4" - ], - "printer_variant": "0.4", + "bed_texture": "Gigabot 4_buildplate_texture.png", + "default_materials": "re3D PETG;re3D PLA;re3D PC", "printable_area": [ "0x0", "590x0", "590x600", "0x600" ], - "printable_height": "590", + "printable_height": "600", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "printer_variant": "0.4", "max_layer_height": [ "0.32" ], "min_layer_height": [ "0.2" ], - "retraction_length": [ - "0.6" + "default_filament_profile": [ + "re3D PLA @0.4 nozzle", + "re3D PETG @0.4 nozzle" ], - "default_print_profile": "0.28mm Standard @re3D fdm 0.4" -} + "default_print_profile": "0.26 Standard", + "printer_settings_id": "re3d_gigbot4_04", + "setting_id": "re3d_gigbot4_04" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D Gigabot 4 0.8 nozzle.json b/resources/profiles/re3D/machine/re3D Gigabot 4 0.8 nozzle.json index 46655fc4b2..15f0de246d 100644 --- a/resources/profiles/re3D/machine/re3D Gigabot 4 0.8 nozzle.json +++ b/resources/profiles/re3D/machine/re3D Gigabot 4 0.8 nozzle.json @@ -1,31 +1,36 @@ { "type": "machine", - "setting_id": "GM001", "name": "re3D Gigabot 4 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_re3D_common", + "instantiation": "true", + "machine_tech": "FFF", + "model_id": "GB4", "printer_model": "re3D Gigabot 4", - "nozzle_diameter": [ - "0.8", - "0.8" - ], + "bed_texture": "Gigabot 4_buildplate_texture.png", + "default_materials": "re3D PETG;re3D PLA;re3D PC", "printable_area": [ "0x0", "590x0", "590x600", "0x600" ], - "printable_height": "590", - "max_layer_height": [ - "0.64" - ], - "min_layer_height": [ - "0.3" - ], - "retraction_length": [ - "1.0" + "printable_height": "600", + "nozzle_diameter": [ + "0.8", + "0.8" ], "printer_variant": "0.8", - "default_print_profile": "0.2mm Standard @re3D fdm 0.8" -} + "max_layer_height": [ + "0.6" + ], + "min_layer_height": [ + "0.2" + ], + "default_filament_profile": [ + "re3D PLA @0.8 nozzle", + "re3D PETG @0.8 nozzle" + ], + "default_print_profile": "0.4 Standard", + "printer_settings_id": "re3d_gigbot4_08", + "setting_id": "re3d_gigbot4_08" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D Gigabot 4 XLT 0.4 nozzle.json b/resources/profiles/re3D/machine/re3D Gigabot 4 XLT 0.4 nozzle.json index e1724d5d80..763628ee73 100644 --- a/resources/profiles/re3D/machine/re3D Gigabot 4 XLT 0.4 nozzle.json +++ b/resources/profiles/re3D/machine/re3D Gigabot 4 XLT 0.4 nozzle.json @@ -1,15 +1,13 @@ { "type": "machine", - "setting_id": "GM001", "name": "re3D Gigabot 4 XLT 0.4 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_re3D_common", + "instantiation": "true", + "machine_tech": "FFF", + "model_id": "GB4", "printer_model": "re3D Gigabot 4 XLT", - "nozzle_diameter": [ - "0.4", - "0.4" - ], + "bed_texture": "Gigabot 4 XLT_buildplate_texture.png", + "default_materials": "re3D PETG;re3D PLA;re3D PC", "printable_area": [ "0x0", "590x0", @@ -17,15 +15,22 @@ "0x760" ], "printable_height": "900", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "printer_variant": "0.4", "max_layer_height": [ "0.32" ], "min_layer_height": [ "0.2" ], - "retraction_length": [ - "0.6" + "default_filament_profile": [ + "re3D PLA @0.4 nozzle", + "re3D PETG @0.4 nozzle" ], - "printer_variant": "0.4", - "default_print_profile": "0.28mm Standard @re3D fdm 0.4" -} + "default_print_profile": "0.26 Standard", + "printer_settings_id": "re3d_gigabot4_xlt_04", + "setting_id": "re3d_gigabot4_xlt_04" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D Gigabot 4 XLT 0.8 nozzle.json b/resources/profiles/re3D/machine/re3D Gigabot 4 XLT 0.8 nozzle.json index f338a789fb..a12f8784ed 100644 --- a/resources/profiles/re3D/machine/re3D Gigabot 4 XLT 0.8 nozzle.json +++ b/resources/profiles/re3D/machine/re3D Gigabot 4 XLT 0.8 nozzle.json @@ -1,31 +1,36 @@ { "type": "machine", - "setting_id": "GM001", "name": "re3D Gigabot 4 XLT 0.8 nozzle", - "from": "system", - "instantiation": "true", "inherits": "fdm_re3D_common", + "instantiation": "true", + "machine_tech": "FFF", + "model_id": "GB4", "printer_model": "re3D Gigabot 4 XLT", + "bed_texture": "Gigabot 4 XLT_buildplate_texture.png", + "default_materials": "re3D PETG;re3D PLA;re3D PC", + "printable_area": [ + "0x0", + "590x0", + "590x760", + "0x760" + ], + "printable_height": "900", "nozzle_diameter": [ "0.8", "0.8" ], - "printable_area": [ - "0x0", - "600x0", - "600x760", - "0x760" - ], - "printable_height": "900", + "printer_variant": "0.8", "max_layer_height": [ - "0.64" + "0.6" ], "min_layer_height": [ "0.2" ], - "retraction_length": [ - "1.0" + "default_filament_profile": [ + "re3D PLA @0.8 nozzle", + "re3D PETG @0.8 nozzle" ], - "printer_variant": "0.8", - "default_print_profile": "0.2mm Standard @re3D fdm 0.8" -} + "default_print_profile": "0.4 Standard", + "printer_settings_id": "re3d_gigabot4_xlt_08", + "setting_id": "re3d_gigabot4_xlt_08" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D Gigabot 4 XLT.json b/resources/profiles/re3D/machine/re3D Gigabot 4 XLT.json index f14de38eb2..fcad038e3d 100644 --- a/resources/profiles/re3D/machine/re3D Gigabot 4 XLT.json +++ b/resources/profiles/re3D/machine/re3D Gigabot 4 XLT.json @@ -1,8 +1,9 @@ { "type": "machine_model", "name": "re3D Gigabot 4 XLT", - "model_id": "GB4XLT", + "model_id": "re3D Gigabot 4 XLT", "nozzle_diameter": "0.4;0.8", + "instantiation": "false", "machine_tech": "FFF", "family": "re3D", "bed_model": "", diff --git a/resources/profiles/re3D/machine/re3D Gigabot 4.json b/resources/profiles/re3D/machine/re3D Gigabot 4.json index 53abd9b459..642fabc7d8 100644 --- a/resources/profiles/re3D/machine/re3D Gigabot 4.json +++ b/resources/profiles/re3D/machine/re3D Gigabot 4.json @@ -1,8 +1,9 @@ { "type": "machine_model", "name": "re3D Gigabot 4", - "model_id": "GB4", + "model_id": "re3D Gigabot 4", "nozzle_diameter": "0.4;0.8", + "instantiation": "false", "machine_tech": "FFF", "family": "re3D", "bed_model": "", diff --git a/resources/profiles/re3D/machine/re3D Gigabot X2 1.75 nozzle.json b/resources/profiles/re3D/machine/re3D Gigabot X2 1.75 nozzle.json deleted file mode 100644 index ef3c79727c..0000000000 --- a/resources/profiles/re3D/machine/re3D Gigabot X2 1.75 nozzle.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "machine", - "setting_id": "GM001", - "name": "re3D Gigabot X2 1.75 nozzle", - "from": "system", - "instantiation": "true", - "inherits": "fgf_re3D_common", - "printer_model": "re3D Gigabot X2", - "nozzle_diameter": [ - "1.75" - ], - "printable_area": [ - "0x0", - "552x0", - "552x593", - "0x593" - ], - "printable_height": "470", - "extruder_clearance_height_to_rod": "220", - "extruder_clearance_height_to_lid": "630", - "max_layer_height": [ - "1.4" - ], - "min_layer_height": [ - "0.4" - ], - "printer_variant": "1.75" -} diff --git a/resources/profiles/re3D/machine/re3D Gigabot X2 XLT 1.75 nozzle.json b/resources/profiles/re3D/machine/re3D Gigabot X2 XLT 1.75 nozzle.json deleted file mode 100644 index cd703130f0..0000000000 --- a/resources/profiles/re3D/machine/re3D Gigabot X2 XLT 1.75 nozzle.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "machine", - "setting_id": "GM001", - "name": "re3D Gigabot X2 XLT 1.75 nozzle", - "from": "system", - "instantiation": "true", - "inherits": "fgf_re3D_common", - "printer_model": "re3D Gigabot X2 XLT", - "nozzle_diameter": [ - "1.75" - ], - "printable_area": [ - "0x0", - "552x0", - "552x740", - "0x740" - ], - "printable_height": "765", - "extruder_clearance_height_to_rod": "220", - "extruder_clearance_height_to_lid": "630", - "max_layer_height": [ - "1.4" - ], - "min_layer_height": [ - "0.6" - ], - "printer_variant": "1.75" -} diff --git a/resources/profiles/re3D/machine/re3D Gigabot X2 XLT.json b/resources/profiles/re3D/machine/re3D Gigabot X2 XLT.json deleted file mode 100644 index c208bb1ab1..0000000000 --- a/resources/profiles/re3D/machine/re3D Gigabot X2 XLT.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "machine_model", - "name": "re3D Gigabot X2 XLT", - "model_id": "GBX2XLT", - "nozzle_diameter": "1.75", - "machine_tech": "FFF", - "family": "re3D", - "bed_model": "", - "bed_texture": "re3D Gigabot X2 XLT_buildplate_texture.svg", - "hotend_model": "GBX-HOTEND.stl", - "default_materials": "re3D rPP;re3D Greengate rPETG;" -} diff --git a/resources/profiles/re3D/machine/re3D Gigabot X2.json b/resources/profiles/re3D/machine/re3D Gigabot X2.json deleted file mode 100644 index d21307184a..0000000000 --- a/resources/profiles/re3D/machine/re3D Gigabot X2.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "machine_model", - "name": "re3D Gigabot X2", - "model_id": "GBX2", - "nozzle_diameter": "1.75", - "machine_tech": "FFF", - "family": "re3D", - "bed_model": "", - "bed_texture": "re3D Gigabot X2_buildplate_texture.svg", - "hotend_model": "GBX-HOTEND.stl", - "default_materials": "re3D rPP;re3D Greengate rPETG;" -} diff --git a/resources/profiles/re3D/machine/re3D GigabotX 2 0.8 nozzle.json b/resources/profiles/re3D/machine/re3D GigabotX 2 0.8 nozzle.json new file mode 100644 index 0000000000..b0f1e87aad --- /dev/null +++ b/resources/profiles/re3D/machine/re3D GigabotX 2 0.8 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "re3D GigabotX 2 0.8 nozzle", + "inherits": "fgf_re3D_common", + "instantiation": "true", + "machine_tech": "FGF", + "model_id": "re3D GBX2", + "printer_model": "re3D GigabotX 2", + "bed_texture": "Gigabot 4_buildplate_texture.png", + "printable_area": [ + "0x0", + "552x0", + "552x593", + "0x593" + ], + "printable_height": "470", + "nozzle_diameter": [ + "0.8" + ], + "printer_variant": "0.8", + "max_layer_height": [ + "0.6" + ], + "min_layer_height": [ + "0.3" + ], + "default_filament_profile": [ + "re3D Greengate rPETG @0.8 nozzle" + ], + "default_print_profile": "0.6 Standard", + "printer_settings_id": "re3d_gbx_08", + "setting_id": "re3d_gbx_08" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D GigabotX 2 1.75 nozzle.json b/resources/profiles/re3D/machine/re3D GigabotX 2 1.75 nozzle.json new file mode 100644 index 0000000000..4e5bc46cd8 --- /dev/null +++ b/resources/profiles/re3D/machine/re3D GigabotX 2 1.75 nozzle.json @@ -0,0 +1,34 @@ +{ + "type": "machine", + "name": "re3D GigabotX 2 1.75 nozzle", + "renamed_from": "re3D Gigabot X2 1.75 nozzle", + "inherits": "fgf_re3D_common", + "instantiation": "true", + "machine_tech": "FGF", + "model_id": "re3D GBX2", + "printer_model": "re3D GigabotX 2", + "bed_texture": "Gigabot 4_buildplate_texture.png", + "printable_area": [ + "0x0", + "552x0", + "552x593", + "0x593" + ], + "printable_height": "470", + "nozzle_diameter": [ + "1.75" + ], + "printer_variant": "1.75", + "max_layer_height": [ + "1.3" + ], + "min_layer_height": [ + "0.6" + ], + "default_filament_profile": [ + "re3D Greengate rPETG @1.75 nozzle" + ], + "default_print_profile": "1.0 Standard", + "printer_settings_id": "re3d_gbx_175", + "setting_id": "re3d_gbx_175" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D GigabotX 2 XLT 0.8 nozzle.json b/resources/profiles/re3D/machine/re3D GigabotX 2 XLT 0.8 nozzle.json new file mode 100644 index 0000000000..d62ce7e6c9 --- /dev/null +++ b/resources/profiles/re3D/machine/re3D GigabotX 2 XLT 0.8 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "re3D GigabotX 2 XLT 0.8 nozzle", + "inherits": "fgf_re3D_common", + "instantiation": "true", + "machine_tech": "FGF", + "model_id": "re3D GBX2 XLT", + "printer_model": "re3D GigabotX 2 XLT", + "bed_texture": "GigabotX 2 XLT_buildplate_texture.png", + "printable_area": [ + "0x0", + "552x0", + "552x740", + "0x740" + ], + "printable_height": "470", + "nozzle_diameter": [ + "0.8" + ], + "printer_variant": "0.8", + "max_layer_height": [ + "0.6" + ], + "min_layer_height": [ + "0.3" + ], + "default_filament_profile": [ + "re3D Greengate rPETG @0.8 nozzle" + ], + "default_print_profile": "0.6 Standard", + "printer_settings_id": "re3d_gbx_xlt_08", + "setting_id": "re3d_gbx_xlt_08" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D GigabotX 2 XLT 1.75 nozzle.json b/resources/profiles/re3D/machine/re3D GigabotX 2 XLT 1.75 nozzle.json new file mode 100644 index 0000000000..37fd6ca0a9 --- /dev/null +++ b/resources/profiles/re3D/machine/re3D GigabotX 2 XLT 1.75 nozzle.json @@ -0,0 +1,34 @@ +{ + "type": "machine", + "name": "re3D GigabotX 2 XLT 1.75 nozzle", + "renamed_from": "re3D Gigabot X2 XLT 1.75 nozzle", + "inherits": "fgf_re3D_common", + "instantiation": "true", + "machine_tech": "FGF", + "model_id": "re3D GBX2 XLT", + "printer_model": "re3D GigabotX 2 XLT", + "bed_texture": "GigabotX 2 XLT_buildplate_texture.png", + "printable_area": [ + "0x0", + "552x0", + "552x740", + "0x740" + ], + "printable_height": "470", + "nozzle_diameter": [ + "1.75" + ], + "printer_variant": "1.75", + "max_layer_height": [ + "1.3" + ], + "min_layer_height": [ + "0.6" + ], + "default_filament_profile": [ + "re3D Greengate rPETG @1.75 nozzle" + ], + "default_print_profile": "1.0 Standard", + "printer_settings_id": "re3d_gbx_xlt_175", + "setting_id": "re3d_gbx_xlt_175" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D GigabotX 2 XLT.json b/resources/profiles/re3D/machine/re3D GigabotX 2 XLT.json new file mode 100644 index 0000000000..bfd396ec3c --- /dev/null +++ b/resources/profiles/re3D/machine/re3D GigabotX 2 XLT.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "re3D GigabotX 2 XLT", + "model_id": "re3D GigabotX 2 XLT", + "nozzle_diameter": "0.8;1.75", + "instantiation": "false", + "machine_tech": "FGF", + "family": "re3D", + "bed_model": "", + "bed_texture": "re3D Gigabot X2 XLT_buildplate_texture.svg", + "hotend_model": "GBX-HOTEND.stl", + "default_materials": "re3D Greengate rPETG;re3D rPP;" +} diff --git a/resources/profiles/re3D/machine/re3D GigabotX 2.json b/resources/profiles/re3D/machine/re3D GigabotX 2.json new file mode 100644 index 0000000000..71da64c8c3 --- /dev/null +++ b/resources/profiles/re3D/machine/re3D GigabotX 2.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "re3D GigabotX 2", + "model_id": "re3D GigabotX 2", + "nozzle_diameter": "0.8;1.75", + "instantiation": "false", + "machine_tech": "FGF", + "family": "re3D", + "bed_model": "", + "bed_texture": "re3D Gigabot X2_buildplate_texture.svg", + "hotend_model": "GBX-HOTEND.stl", + "default_materials": "re3D Greengate rPETG;re3D rPP;" +} diff --git a/resources/profiles/re3D/machine/re3D Terabot 4 0.4 nozzle.json b/resources/profiles/re3D/machine/re3D Terabot 4 0.4 nozzle.json index e1435eba58..bb63aaa995 100644 --- a/resources/profiles/re3D/machine/re3D Terabot 4 0.4 nozzle.json +++ b/resources/profiles/re3D/machine/re3D Terabot 4 0.4 nozzle.json @@ -1,15 +1,13 @@ { "type": "machine", - "setting_id": "GM001", "name": "re3D Terabot 4 0.4 nozzle", - "from": "system", + "inherits": "fdm_re3D_common", "instantiation": "true", - "inherits": "fgf_re3D_common", + "machine_tech": "FFF", + "model_id": "TB4", "printer_model": "re3D Terabot 4", - "nozzle_diameter": [ - "0.4", - "0.4" - ], + "bed_texture": "Gigabot 4_buildplate_texture.png", + "default_materials": "re3D PETG;re3D PLA;re3D PC", "printable_area": [ "0x0", "915x0", @@ -17,15 +15,22 @@ "0x915" ], "printable_height": "1000", + "nozzle_diameter": [ + "0.4", + "0.4" + ], + "printer_variant": "0.4", "max_layer_height": [ "0.32" ], "min_layer_height": [ "0.2" ], - "retraction_length": [ - "0.6" + "default_filament_profile": [ + "re3D PLA @0.4 nozzle", + "re3D PETG @0.4 nozzle" ], - "printer_variant": "0.4", - "default_print_profile": "0.28mm Standard @re3D fdm 0.4" -} + "default_print_profile": "0.26 Standard", + "printer_settings_id": "re3d_terabot4_04", + "setting_id": "re3d_terabot4_04" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D Terabot 4 0.8 nozzle.json b/resources/profiles/re3D/machine/re3D Terabot 4 0.8 nozzle.json index bbc631238f..a9948d83ab 100644 --- a/resources/profiles/re3D/machine/re3D Terabot 4 0.8 nozzle.json +++ b/resources/profiles/re3D/machine/re3D Terabot 4 0.8 nozzle.json @@ -1,15 +1,13 @@ { "type": "machine", - "setting_id": "GM001", "name": "re3D Terabot 4 0.8 nozzle", - "from": "system", + "inherits": "fdm_re3D_common", "instantiation": "true", - "inherits": "fgf_re3D_common", + "machine_tech": "FFF", + "model_id": "TB4", "printer_model": "re3D Terabot 4", - "nozzle_diameter": [ - "0.8", - "0.8" - ], + "bed_texture": "Gigabot 4_buildplate_texture.png", + "default_materials": "re3D PETG;re3D PLA;re3D PC", "printable_area": [ "0x0", "915x0", @@ -17,15 +15,22 @@ "0x915" ], "printable_height": "1000", + "nozzle_diameter": [ + "0.8", + "0.8" + ], + "printer_variant": "0.8", "max_layer_height": [ - "0.64" + "0.6" ], "min_layer_height": [ "0.2" ], - "retraction_length": [ - "1.0" + "default_filament_profile": [ + "re3D PLA @0.8 nozzle", + "re3D PETG @0.8 nozzle" ], - "printer_variant": "0.8", - "default_print_profile": "0.2mm Standard @re3D fdm 0.8" -} + "default_print_profile": "0.4 Standard", + "printer_settings_id": "re3d_terabot4_08", + "setting_id": "re3d_terabot4_08" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D Terabot 4.json b/resources/profiles/re3D/machine/re3D Terabot 4.json index 294a3bbf8b..725f67470e 100644 --- a/resources/profiles/re3D/machine/re3D Terabot 4.json +++ b/resources/profiles/re3D/machine/re3D Terabot 4.json @@ -1,8 +1,9 @@ { "type": "machine_model", "name": "re3D Terabot 4", - "model_id": "TB4", + "model_id": "re3D Terabot 4", "nozzle_diameter": "0.4;0.8", + "instantiation": "false", "machine_tech": "FFF", "family": "re3D", "bed_model": "", diff --git a/resources/profiles/re3D/machine/re3D Terabot X2 1.75 nozzle.json b/resources/profiles/re3D/machine/re3D Terabot X2 1.75 nozzle.json deleted file mode 100644 index f246b20415..0000000000 --- a/resources/profiles/re3D/machine/re3D Terabot X2 1.75 nozzle.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "machine", - "setting_id": "GM001", - "name": "re3D Terabot X2 1.75 nozzle", - "from": "system", - "instantiation": "true", - "inherits": "fgf_re3D_common", - "printer_model": "re3D Terabot X2", - "nozzle_diameter": [ - "1.75" - ], - "printable_area": [ - "0x0", - "879x0", - "879x908", - "0x908" - ], - "printable_height": "830", - "extruder_clearance_height_to_rod": "220", - "extruder_clearance_height_to_lid": "630", - "max_layer_height": [ - "1.4" - ], - "min_layer_height": [ - "0.4" - ], - "printer_variant": "1.75" -} diff --git a/resources/profiles/re3D/machine/re3D Terabot X2.json b/resources/profiles/re3D/machine/re3D Terabot X2.json deleted file mode 100644 index 6ae22cc2e1..0000000000 --- a/resources/profiles/re3D/machine/re3D Terabot X2.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "machine_model", - "name": "re3D Terabot X2", - "model_id": "TBX2", - "nozzle_diameter": "1.75", - "machine_tech": "FFF", - "family": "re3D", - "bed_model": "", - "bed_texture": "re3D Terabot X2_buildplate_texture.svg", - "hotend_model": "GBX-HOTEND.stl", - "default_materials": "re3D rPP;re3D Greengate rPETG;" -} diff --git a/resources/profiles/re3D/machine/re3D TerabotX 2 0.8 nozzle.json b/resources/profiles/re3D/machine/re3D TerabotX 2 0.8 nozzle.json new file mode 100644 index 0000000000..f20b8fd8d4 --- /dev/null +++ b/resources/profiles/re3D/machine/re3D TerabotX 2 0.8 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "name": "re3D TerabotX 2 0.8 nozzle", + "inherits": "fgf_re3D_common", + "instantiation": "true", + "machine_tech": "FGF", + "model_id": "re3D TBX2", + "printer_model": "re3D TerabotX 2", + "bed_texture": "Gigabot 4_buildplate_texture.png", + "printable_area": [ + "0x0", + "892x0", + "892x908", + "0x908" + ], + "printable_height": "870", + "nozzle_diameter": [ + "0.8" + ], + "printer_variant": "0.8", + "max_layer_height": [ + "0.6" + ], + "min_layer_height": [ + "0.3" + ], + "default_filament_profile": [ + "re3D Greengate rPETG @0.8 nozzle" + ], + "default_print_profile": "0.6 Standard", + "printer_settings_id": "re3d_tbx2_08", + "setting_id": "re3d_tbx2_08" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D TerabotX 2 1.75 nozzle.json b/resources/profiles/re3D/machine/re3D TerabotX 2 1.75 nozzle.json new file mode 100644 index 0000000000..2d5f38fa73 --- /dev/null +++ b/resources/profiles/re3D/machine/re3D TerabotX 2 1.75 nozzle.json @@ -0,0 +1,34 @@ +{ + "type": "machine", + "name": "re3D TerabotX 2 1.75 nozzle", + "renamed_from": "re3D Terabot X2 1.75 nozzle", + "inherits": "fgf_re3D_common", + "instantiation": "true", + "machine_tech": "FGF", + "model_id": "re3D TBX2", + "printer_model": "re3D TerabotX 2", + "bed_texture": "Gigabot 4_buildplate_texture.png", + "printable_area": [ + "0x0", + "892x0", + "892x908", + "0x908" + ], + "printable_height": "870", + "nozzle_diameter": [ + "1.75" + ], + "printer_variant": "1.75", + "max_layer_height": [ + "1.3" + ], + "min_layer_height": [ + "0.6" + ], + "default_filament_profile": [ + "re3D Greengate rPETG @1.75 nozzle" + ], + "default_print_profile": "1.0 Standard", + "printer_settings_id": "re3d_tbx2_175", + "setting_id": "re3d_tbx2_175" +} \ No newline at end of file diff --git a/resources/profiles/re3D/machine/re3D TerabotX 2.json b/resources/profiles/re3D/machine/re3D TerabotX 2.json new file mode 100644 index 0000000000..24624971ec --- /dev/null +++ b/resources/profiles/re3D/machine/re3D TerabotX 2.json @@ -0,0 +1,13 @@ +{ + "type": "machine_model", + "name": "re3D TerabotX 2", + "model_id": "re3D TerabotX 2", + "nozzle_diameter": "0.8;1.75", + "instantiation": "false", + "machine_tech": "FGF", + "family": "re3D", + "bed_model": "", + "bed_texture": "re3D Terabot X2_buildplate_texture.svg", + "hotend_model": "GBX-HOTEND.stl", + "default_materials": "re3D Greengate rPETG;re3D rPP;" +} diff --git a/resources/profiles/re3D/process/0.26mm Standard @re3D fdm 0.4.json b/resources/profiles/re3D/process/0.26mm Standard @re3D fdm 0.4.json index d46ce33863..0c26f0c748 100644 --- a/resources/profiles/re3D/process/0.26mm Standard @re3D fdm 0.4.json +++ b/resources/profiles/re3D/process/0.26mm Standard @re3D fdm 0.4.json @@ -1,7 +1,8 @@ { "type": "process", - "setting_id": "GP004", - "name": "0.26mm Standard @re3D fdm 0.4", + "setting_id": "fdm__04_026", + "name": "0.26 Standard", + "renamed_from": "0.26mm Standard @re3D fdm 0.4", "from": "system", "instantiation": "true", "inherits": "fdm_process_re3D_common", @@ -12,36 +13,14 @@ ], "layer_height": "0.26", "initial_layer_print_height": "0.4", - "top_shell_layers": "4", - "top_shell_thickness": "0.6", - "bottom_shell_layers": "3", - "line_width": "0.45", - "outer_wall_line_width": "0.45", - "inner_wall_line_width": "0.45", + "line_width": "0.48", + "outer_wall_line_width": "0.48", + "inner_wall_line_width": "0.48", "initial_layer_line_width": "0.6", - "sparse_infill_line_width": "0.45", - "internal_solid_infill_line_width": "0.45", - "top_surface_line_width": "0.45", - "support_line_width": "0.45", - "overhang_1_4_speed": "45", - "overhang_2_4_speed": "35", - "overhang_3_4_speed": "25", - "overhang_4_4_speed": "15", - "initial_layer_speed": "30", - "initial_layer_infill_speed": "30", - "initial_layer_travel_speed": "50", - "outer_wall_speed": "80", - "inner_wall_speed": "80", - "small_perimeter_speed": "80", - "small_perimeter_threshold": "80", - "sparse_infill_speed": "80", - "internal_solid_infill_speed": "80", - "top_surface_speed": "80", - "gap_infill_speed": "80", - "support_speed": "80", - "support_interface_speed": "80", - "travel_speed": "300", - "standby_temperature_delta": "-55", - "support_top_z_distance": "0.28", - "support_bottom_z_distance": "0.28" -} + "sparse_infill_line_width": "0.48", + "internal_solid_infill_line_width": "0.48", + "top_surface_line_width": "0.48", + "support_line_width": "0.48", + "support_top_z_distance": "0.2", + "support_bottom_z_distance": "0.2" +} \ No newline at end of file diff --git a/resources/profiles/re3D/process/0.2mm Fine @re3D fdm 0.4.json b/resources/profiles/re3D/process/0.2mm Fine @re3D fdm 0.4.json index 0c22fe5a84..a0845ca402 100644 --- a/resources/profiles/re3D/process/0.2mm Fine @re3D fdm 0.4.json +++ b/resources/profiles/re3D/process/0.2mm Fine @re3D fdm 0.4.json @@ -1,22 +1,26 @@ { "type": "process", - "setting_id": "GP004", - "name": "0.2mm Fine @re3D fdm 0.4", + "setting_id": "fdm_04_02", + "name": "0.2 Fine", + "renamed_from": "0.2mm Fine @re3D fdm 0.4", "from": "system", "inherits": "fdm_process_re3D_common", "instantiation": "true", - "layer_height": "0.2", "compatible_printers": [ "re3D Gigabot 4 0.4 nozzle", "re3D Gigabot 4 XLT 0.4 nozzle", "re3D Terabot 4 0.4 nozzle" ], - "line_width": "0.42", - "outer_wall_line_width": "0.42", - "inner_wall_line_width": "0.42", - "initial_layer_line_width": "0.5", - "sparse_infill_line_width": "0.42", - "internal_solid_infill_line_width": "0.42", - "top_surface_line_width": "0.42", - "support_line_width": "0.42" -} + "layer_height": "0.2", + "initial_layer_print_height": "0.4", + "line_width": "0.44", + "outer_wall_line_width": "0.44", + "inner_wall_line_width": "0.44", + "initial_layer_line_width": "0.6", + "sparse_infill_line_width": "0.48", + "internal_solid_infill_line_width": "0.48", + "top_surface_line_width": "0.44", + "support_line_width": "0.48", + "support_top_z_distance": "0.2", + "support_bottom_z_distance": "0.2" +} \ No newline at end of file diff --git a/resources/profiles/re3D/process/0.2mm Standard @re3D fdm 0.8.json b/resources/profiles/re3D/process/0.2mm Standard @re3D fdm 0.8.json deleted file mode 100644 index 4138586ecb..0000000000 --- a/resources/profiles/re3D/process/0.2mm Standard @re3D fdm 0.8.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "type": "process", - "setting_id": "GP004", - "name": "0.2mm Standard @re3D fdm 0.8", - "from": "system", - "inherits": "fdm_process_re3D_common", - "instantiation": "true", - "compatible_printers": [ - "re3D Gigabot 4 0.8 nozzle", - "re3D Gigabot 4 XLT 0.8 nozzle", - "re3D Terabot 4 0.8 nozzle" - ], - "layer_height": "0.2", - "initial_layer_print_height": "0.4", - "top_shell_layers": "4", - "top_shell_thickness": "0.6", - "bottom_shell_layers": "3", - "line_width": "0.8", - "outer_wall_line_width": "0.8", - "inner_wall_line_width": "0.8", - "initial_layer_line_width": "0.8", - "sparse_infill_line_width": "0.8", - "internal_solid_infill_line_width": "0.8", - "top_surface_line_width": "0.8", - "support_line_width": "0.8", - "overhang_1_4_speed": "45", - "overhang_2_4_speed": "35", - "overhang_3_4_speed": "25", - "overhang_4_4_speed": "15", - "initial_layer_speed": "30", - "initial_layer_infill_speed": "30", - "initial_layer_travel_speed": "50", - "outer_wall_speed": "45", - "inner_wall_speed": "45", - "small_perimeter_speed": "45", - "small_perimeter_threshold": "45", - "sparse_infill_speed": "45", - "internal_solid_infill_speed": "45", - "top_surface_speed": "45", - "gap_infill_speed": "45", - "support_speed": "45", - "support_interface_speed": "45", - "travel_speed": "300", - "standby_temperature_delta": "-55", - "support_top_z_distance": "0.24", - "support_bottom_z_distance": "0.24" -} diff --git a/resources/profiles/re3D/process/0.32mm Draft @re3D fdm 0.4.json b/resources/profiles/re3D/process/0.32mm Draft @re3D fdm 0.4.json index 1a3b377d51..90dbe2bc1e 100644 --- a/resources/profiles/re3D/process/0.32mm Draft @re3D fdm 0.4.json +++ b/resources/profiles/re3D/process/0.32mm Draft @re3D fdm 0.4.json @@ -1,7 +1,8 @@ { "type": "process", - "setting_id": "GP004", - "name": "0.32mm Draft @re3D fdm 0.4", + "setting_id": "fdm_04_032", + "name": "0.32 Draft", + "renamed_from": "0.32mm Draft @re3D fdm 0.4", "from": "system", "instantiation": "true", "inherits": "fdm_process_re3D_common", @@ -12,9 +13,6 @@ ], "layer_height": "0.32", "initial_layer_print_height": "0.4", - "top_shell_layers": "4", - "top_shell_thickness": "0.6", - "bottom_shell_layers": "3", "line_width": "0.48", "outer_wall_line_width": "0.48", "inner_wall_line_width": "0.48", @@ -23,25 +21,6 @@ "internal_solid_infill_line_width": "0.48", "top_surface_line_width": "0.48", "support_line_width": "0.48", - "overhang_1_4_speed": "45", - "overhang_2_4_speed": "35", - "overhang_3_4_speed": "25", - "overhang_4_4_speed": "15", - "initial_layer_speed": "30", - "initial_layer_infill_speed": "30", - "initial_layer_travel_speed": "50", - "outer_wall_speed": "80", - "inner_wall_speed": "80", - "small_perimeter_speed": "80", - "small_perimeter_threshold": "80", - "sparse_infill_speed": "80", - "internal_solid_infill_speed": "80", - "top_surface_speed": "80", - "gap_infill_speed": "80", - "support_speed": "80", - "support_interface_speed": "80", - "travel_speed": "300", - "standby_temperature_delta": "-55", "support_top_z_distance": "0.35", "support_bottom_z_distance": "0.35" -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/process/0.3mm Fine @re3D fdm 0.8.json b/resources/profiles/re3D/process/0.3mm Fine @re3D fdm 0.8.json new file mode 100644 index 0000000000..a6e61edca4 --- /dev/null +++ b/resources/profiles/re3D/process/0.3mm Fine @re3D fdm 0.8.json @@ -0,0 +1,26 @@ +{ + "type": "process", + "setting_id": "fdm_08_03", + "name": "0.3 Fine", + "renamed_from": "0.2mm Standard @re3D fdm 0.8", + "from": "system", + "inherits": "fdm_process_re3D_common", + "instantiation": "true", + "compatible_printers": [ + "re3D Gigabot 4 0.8 nozzle", + "re3D Gigabot 4 XLT 0.8 nozzle", + "re3D Terabot 4 0.8 nozzle" + ], + "layer_height": "0.3", + "initial_layer_print_height": "0.4", + "line_width": "1", + "outer_wall_line_width": "1", + "inner_wall_line_width": "1", + "initial_layer_line_width": "1", + "sparse_infill_line_width": "1", + "internal_solid_infill_line_width": "1", + "top_surface_line_width": "1", + "support_line_width": "1", + "support_top_z_distance": "0.24", + "support_bottom_z_distance": "0.24" +} \ No newline at end of file diff --git a/resources/profiles/re3D/process/0.4mm Draft @re3D fdm 0.8.json b/resources/profiles/re3D/process/0.4mm Draft @re3D fdm 0.8.json index 1e12d094fc..e75ad36283 100644 --- a/resources/profiles/re3D/process/0.4mm Draft @re3D fdm 0.8.json +++ b/resources/profiles/re3D/process/0.4mm Draft @re3D fdm 0.8.json @@ -1,7 +1,8 @@ { "type": "process", - "setting_id": "GP004", - "name": "0.4mm Draft @re3D fdm 0.8", + "setting_id": "fdm_08_04", + "name": "0.4 Standard", + "renamed_from": "0.4mm Draft @re3D fdm 0.8", "from": "system", "instantiation": "true", "inherits": "fdm_process_re3D_common", @@ -12,9 +13,6 @@ ], "layer_height": "0.4", "initial_layer_print_height": "0.6", - "top_shell_layers": "4", - "top_shell_thickness": "0.6", - "bottom_shell_layers": "3", "line_width": "1", "outer_wall_line_width": "1", "inner_wall_line_width": "1", @@ -23,25 +21,6 @@ "internal_solid_infill_line_width": "1", "top_surface_line_width": "1", "support_line_width": "1", - "overhang_1_4_speed": "45", - "overhang_2_4_speed": "35", - "overhang_3_4_speed": "25", - "overhang_4_4_speed": "15", - "initial_layer_speed": "30", - "initial_layer_infill_speed": "30", - "initial_layer_travel_speed": "50", - "outer_wall_speed": "45", - "inner_wall_speed": "45", - "small_perimeter_speed": "45", - "small_perimeter_threshold": "45", - "sparse_infill_speed": "45", - "internal_solid_infill_speed": "45", - "top_surface_speed": "45", - "gap_infill_speed": "45", - "support_speed": "45", - "support_interface_speed": "45", - "travel_speed": "300", - "standby_temperature_delta": "-55", "support_top_z_distance": "0.42", "support_bottom_z_distance": "0.42" -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/process/0.6mm Standard @re3D fgf 0.8.json b/resources/profiles/re3D/process/0.6mm Standard @re3D fgf 0.8.json new file mode 100644 index 0000000000..801a2b4d28 --- /dev/null +++ b/resources/profiles/re3D/process/0.6mm Standard @re3D fgf 0.8.json @@ -0,0 +1,26 @@ +{ + "type": "process", + "setting_id": "fgf_08_06", + "name": "0.6 Standard", + "from": "system", + "inherits": "fgf_process_re3D_common", + "instantiation": "true", + "layer_height": "0.6", + "initial_layer_print_height": "0.8", + "line_width": "1.0", + "outer_wall_line_width": "1.0", + "inner_wall_line_width": "1.0", + "sparse_infill_line_width": "1.0", + "internal_solid_infill_line_width": "1.0", + "top_surface_line_width": "1.0", + "support_line_width": "1.0", + "initial_layer_line_width": "1.0", + "support_top_z_distance": "0", + "top_shell_layers": "5", + "support_bottom_z_distance": "0", + "compatible_printers": [ + "re3D GigabotX 2 0.8 nozzle", + "re3D GigabotX 2 XLT 0.8 nozzle", + "re3D TerabotX 2 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/re3D/process/1.0mm Standard @re3D fgf 1.75.json b/resources/profiles/re3D/process/1.0mm Standard @re3D fgf 1.75.json index 9a19c419cf..35c0c8aded 100644 --- a/resources/profiles/re3D/process/1.0mm Standard @re3D fgf 1.75.json +++ b/resources/profiles/re3D/process/1.0mm Standard @re3D fgf 1.75.json @@ -1,16 +1,27 @@ { "type": "process", - "setting_id": "GP004", - "name": "1.0mm Standard @re3D fgf 1.75", + "setting_id": "fgf_175_10", + "name": "1.0 Standard", + "renamed_from": "1.0mm Standard @re3D fgf 1.75", "from": "system", "inherits": "fgf_process_re3D_common", "instantiation": "true", "layer_height": "1.0", - "bottom_shell_layers": "2", - "top_shell_layers": "5", + "initial_layer_print_height": "1.0", + "line_width": "1.9", + "outer_wall_line_width": "1.9", + "inner_wall_line_width": "1.9", + "initial_layer_line_width": "1.9", + "sparse_infill_line_width": "1.9", + "internal_solid_infill_line_width": "1.9", + "top_surface_line_width": "1.9", + "support_line_width": "1.9", + "support_top_z_distance": "0", + "support_bottom_z_distance": "0", + "top_shell_layers": "3", "compatible_printers": [ - "re3D Gigabot X2 1.75 nozzle", - "re3D Gigabot X2 XLT 1.75 nozzle", - "re3D Terabot X2 1.75 nozzle" + "re3D GigabotX 2 1.75 nozzle", + "re3D GigabotX 2 XLT 1.75 nozzle", + "re3D TerabotX 2 1.75 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/process/fdm_process_common.json b/resources/profiles/re3D/process/fdm_process_common.json index d946a16e60..164ff9d58a 100644 --- a/resources/profiles/re3D/process/fdm_process_common.json +++ b/resources/profiles/re3D/process/fdm_process_common.json @@ -6,33 +6,33 @@ "adaptive_layer_height": "0", "reduce_crossing_wall": "0", "bridge_flow": "0.95", - "bridge_speed": "25", + "bridge_speed": "10", "brim_width": "5", "compatible_printers": [], "print_sequence": "by layer", - "default_acceleration": "10000", + "default_acceleration": "0", "bridge_no_support": "0", "elefant_foot_compensation": "0.1", "outer_wall_line_width": "0.4", - "outer_wall_speed": "120", - "line_width": "0.45", + "outer_wall_speed": "25", + "line_width": "0.4", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "crosshatch", - "initial_layer_line_width": "0.42", + "initial_layer_line_width": "0.4", "initial_layer_print_height": "0.2", - "initial_layer_speed": "20", - "gap_infill_speed": "30", + "initial_layer_speed": "15", + "gap_infill_speed": "25", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.4", "infill_wall_overlap": "25%", - "sparse_infill_speed": "50", + "sparse_infill_speed": "70", "interface_shells": "0", "detect_overhang_wall": "0", "reduce_infill_retraction": "0", "filename_format": "{input_filename_base}.gcode", "wall_loops": "3", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.4", "inner_wall_speed": "40", "print_settings_id": "", "raft_layers": "0", @@ -40,16 +40,16 @@ "skirt_distance": "2", "skirt_height": "2", "minimum_sparse_infill_area": "0", - "internal_solid_infill_line_width": "0.45", - "internal_solid_infill_speed": "40", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "60", "spiral_mode": "0", - "standby_temperature_delta": "-5", + "standby_temperature_delta": "-20", "enable_support": "0", "support_filament": "0", - "support_line_width": "0.42", + "support_line_width": "0.38", "support_interface_filament": "0", "support_on_build_plate_only": "0", - "support_top_z_distance": "0.15", + "support_top_z_distance": "0.2", "support_interface_loop_pattern": "0", "support_interface_top_layers": "2", "support_interface_spacing": "0", @@ -61,9 +61,9 @@ "support_object_xy_distance": "0.5", "detect_thin_wall": "0", "top_surface_line_width": "0.4", - "top_surface_speed": "30", - "travel_speed": "400", - "enable_prime_tower": "0", + "top_surface_speed": "35", + "travel_speed": "150", + "enable_prime_tower": "1", "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0" diff --git a/resources/profiles/re3D/process/fdm_process_re3D_common.json b/resources/profiles/re3D/process/fdm_process_re3D_common.json index e2f0eac9c9..a1547448e3 100644 --- a/resources/profiles/re3D/process/fdm_process_re3D_common.json +++ b/resources/profiles/re3D/process/fdm_process_re3D_common.json @@ -5,120 +5,112 @@ "instantiation": "false", "inherits": "fdm_process_common", "adaptive_layer_height": "0", - "reduce_crossing_wall": "0", + "reduce_crossing_wall": "1", + "bridge_flow": "0.985", + "bridge_speed": "25", + "brim_width": "8", + "print_sequence": "by layer", + "default_acceleration": "5000", + "bridge_no_support": "0", + "elefant_foot_compensation": "0", + "outer_wall_speed": "120", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "rectilinear", + "initial_layer_speed": "50", + "gap_infill_speed": "30", + "infill_combination": "0", + "infill_wall_overlap": "25%", + "sparse_infill_speed": "50", + "detect_overhang_wall": "1", + "reduce_infill_retraction": "0", + "filename_format": "{input_filename_base}.gcode", + "wall_loops": "3", + "inner_wall_speed": "40", + "wall_generator": "arachne", + "raft_layers": "0", + "seam_position": "nearest", + "skirt_distance": "8", + "skirt_height": "1", + "minimum_sparse_infill_area": "0", + "internal_solid_infill_speed": "40", + "spiral_mode": "0", + "standby_temperature_delta": "-75", + "enable_support": "1", + "support_filament": "0", + "support_interface_filament": "0", + "support_on_build_plate_only": "0", + "support_interface_loop_pattern": "0", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.05", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.5", + "detect_thin_wall": "0", + "top_surface_speed": "30", + "travel_speed": "300", + "enable_prime_tower": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", "max_travel_detour_distance": "0", "bottom_surface_pattern": "monotonic", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", - "bridge_flow": "1", - "bridge_speed": "25", - "brim_width": "8", "brim_object_gap": "0.1", "compatible_printers_condition": "", - "print_sequence": "by layer", - "default_acceleration": "5500", "top_surface_acceleration": "500", - "bridge_no_support": "0", "draft_shield": "disabled", - "elefant_foot_compensation": "0.0", - "enable_arc_fitting": "0", - "outer_wall_line_width": "0.44", + "enable_arc_fitting": "1", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.44", "infill_direction": "45", - "sparse_infill_density": "10%", - "sparse_infill_pattern": "gyroid", "initial_layer_acceleration": "500", - "travel_acceleration": "5500", - "inner_wall_acceleration": "5500", - "initial_layer_line_width": "0.6", - "initial_layer_print_height": "0.4", - "infill_combination": "0", - "sparse_infill_line_width": "0.44", - "infill_wall_overlap": "25%", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", "interface_shells": "0", "ironing_flow": "10%", "ironing_spacing": "0.1", "ironing_speed": "20", "ironing_type": "no ironing", - "layer_height": "0.2", - "reduce_infill_retraction": "0", - "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", - "detect_overhang_wall": "1", "overhang_1_4_speed": "45", "overhang_2_4_speed": "35", "overhang_3_4_speed": "25", "overhang_4_4_speed": "15", - "inner_wall_line_width": "0.44", - "wall_loops": "2", - "print_settings_id": "", - "raft_layers": "0", - "seam_position": "aligned", - "skirt_distance": "10", - "skirt_height": "1", - "skirt_loops": "3", - "minimum_sparse_infill_area": "15", - "internal_solid_infill_line_width": "0.44", - "spiral_mode": "0", - "standby_temperature_delta": "-5", - "enable_support": "1", - "resolution": "0.012", + "print_settings_id": "fdm_process_re3D_common", + "skirt_loops": "2", + "resolution": "0.0", "support_type": "normal(auto)", "support_style": "snug", - "support_on_build_plate_only": "0", - "support_top_z_distance": "0.22", - "support_bottom_z_distance": "0.22", - "support_filament": "0", - "support_line_width": "0.44", - "support_interface_loop_pattern": "0", - "support_interface_filament": "0", - "support_interface_top_layers": "3", - "support_interface_bottom_layers": "1", - "support_interface_spacing": "0.5", - "support_interface_speed": "45", - "support_base_pattern": "rectilinear", - "support_base_pattern_spacing": "2.5", - "support_speed": "45", - "support_threshold_angle": "30", - "support_object_xy_distance": "0.35", + "support_interface_bottom_layers": "2", "tree_support_branch_angle": "45", "tree_support_wall_count": "0", - "detect_thin_wall": "0", "top_surface_pattern": "monotonicline", - "top_surface_line_width": "0.44", "top_shell_layers": "4", "top_shell_thickness": "0.6", - "initial_layer_speed": "30", - "initial_layer_infill_speed": "30", - "outer_wall_speed": "45", - "inner_wall_speed": "45", - "internal_solid_infill_speed": "45", - "top_surface_speed": "45", - "gap_infill_speed": "45", - "sparse_infill_speed": "45", - "travel_speed": "300", - "enable_prime_tower": "1", + "initial_layer_infill_speed": "50", "wipe_tower_no_sparse_layers": "0", - "prime_tower_width": "30", - "xy_hole_compensation": "0", - "xy_contour_compensation": "0", - "precise_outer_wall": "1", + "precise_outer_wall": "0", "outer_wall_acceleration": "2500", - "bridge_acceleration": "5500", - "sparse_infill_acceleration": "5500", - "internal_solid_infill_acceleration": "5500", + "bridge_acceleration": "5000", + "sparse_infill_acceleration": "5000", + "internal_solid_infill_acceleration": "5000", "accel_to_decel_enable": "0", "prime_volume": "200", "ooze_prevention": "1", "preheat_time": "30", - "initial_layer_travel_speed": "50", + "initial_layer_travel_speed": "100", "slow_down_layers": "2", - "small_perimeter_speed": "45", - "small_perimeter_threshold": "45", + "small_perimeter_speed": "20", + "small_perimeter_threshold": "10", "exclude_object": "1", "compatible_printers": [ "re3D Gigabot 4 0.4 nozzle", + "re3D Gigabot 4 0.8 nozzle", "re3D Gigabot 4 XLT 0.4 nozzle", - "re3D Terabot 4 0.4 nozzle" + "re3D Gigabot 4 XLT 0.8 nozzle", + "re3D Terabot 4 0.4 nozzle", + "re3D Terabot 4 0.8 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/re3D/process/fgf_process_re3D_common.json b/resources/profiles/re3D/process/fgf_process_re3D_common.json index d690745a65..3258753500 100644 --- a/resources/profiles/re3D/process/fgf_process_re3D_common.json +++ b/resources/profiles/re3D/process/fgf_process_re3D_common.json @@ -7,71 +7,61 @@ "adaptive_layer_height": "0", "reduce_crossing_wall": "1", "max_travel_detour_distance": "0", - "bottom_surface_pattern": "monotonic", + "bottom_surface_pattern": "monotonicline", "bottom_shell_layers": "2", "bottom_shell_thickness": "0", "bridge_speed": "40", "brim_type": "no_brim", "brim_width": "5", "brim_object_gap": "0.1", - "compatible_printers_condition": "", "print_sequence": "by layer", - "default_acceleration": "500", + "default_acceleration": "2500", "top_surface_acceleration": "500", "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "1", - "outer_wall_line_width": "1.9", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "1.9", "infill_direction": "45", "sparse_infill_density": "20%", - "sparse_infill_pattern": "gyroid", + "sparse_infill_pattern": "rectilinear", "initial_layer_acceleration": "500", - "travel_acceleration": "700", - "inner_wall_acceleration": "500", - "initial_layer_line_width": "1.9", - "initial_layer_print_height": "1", + "travel_acceleration": "2500", + "inner_wall_acceleration": "2500", "infill_combination": "0", - "sparse_infill_line_width": "1.9", "infill_wall_overlap": "50%", - "wall_generator": "classic", + "wall_generator": "arachne", "interface_shells": "0", "ironing_flow": "15%", "ironing_spacing": "0.1", "ironing_speed": "15", "ironing_type": "no ironing", - "layer_height": "1", "reduce_infill_retraction": "1", - "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filename_format": "{input_filename_base}.gcode", "detect_overhang_wall": "1", "overhang_1_4_speed": "0", "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "1.9", "wall_loops": "2", - "print_settings_id": "", + "print_settings_id": "fgf_process_re3D_common", "raft_layers": "0", "seam_position": "aligned", - "seam_gap": "0", + "seam_gap": "10", "staggered_inner_seams": "1", - "skirt_distance": "2", + "skirt_distance": "10", "skirt_height": "1", "skirt_loops": "3", "minimum_sparse_infill_area": "15", - "internal_solid_infill_line_width": "1.9", "spiral_mode": "0", - "standby_temperature_delta": "-5", + "standby_temperature_delta": "0", "enable_support": "0", - "resolution": "0.012", + "resolution": "0.0", "support_type": "normal(auto)", "support_style": "default", "support_on_build_plate_only": "0", "support_top_z_distance": "0.2", "support_filament": "0", - "support_line_width": "1.9", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "2", @@ -80,14 +70,13 @@ "support_interface_speed": "100", "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", - "support_speed": "150", + "support_speed": "50", "support_threshold_angle": "30", "support_object_xy_distance": "0.35", "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", "top_surface_pattern": "monotonic", - "top_surface_line_width": "1.9", "top_shell_layers": "4", "top_shell_thickness": "0", "initial_layer_speed": "30", @@ -106,6 +95,7 @@ "xy_contour_compensation": "0", "infill_anchor": "2mm", "ensure_vertical_shell_thickness": "none", + "accel_to_decel_enable": "0", "slow_down_layers": "1", "default_jerk": "5", "outer_wall_jerk": "9", @@ -115,8 +105,11 @@ "first_layer_jerk": "9", "travel_jerk": "9", "compatible_printers": [ - "re3D Gigabot X2 1.75 nozzle", - "re3D Gigabot X2 XLT 1.75 nozzle", - "re3D Terabot X2 1.75 nozzle" + "re3D GigabotX 2 0.8 nozzle", + "re3D GigabotX 2 1.75 nozzle", + "re3D GigabotX 2 XLT 0.8 nozzle", + "re3D GigabotX 2 XLT 1.75 nozzle", + "re3D TerabotX 2 0.8 nozzle", + "re3D TerabotX 2 1.75 nozzle" ] -} +} \ No newline at end of file diff --git a/src/slic3r/GUI/CreatePresetsDialog.cpp b/src/slic3r/GUI/CreatePresetsDialog.cpp index 7f5ccede02..8cf642ef71 100644 --- a/src/slic3r/GUI/CreatePresetsDialog.cpp +++ b/src/slic3r/GUI/CreatePresetsDialog.cpp @@ -138,7 +138,7 @@ static const std::unordered_map> printer_m "RatRig V-Core 4 IDEX 400", "RatRig V-Core 4 IDEX 400 COPY MODE", "RatRig V-Core 4 IDEX 400 MIRROR MODE", "RatRig V-Core 4 IDEX 500", "RatRig V-Core 4 IDEX 500 COPY MODE", "RatRig V-Core 4 IDEX 500 MIRROR MODE"}}, {"re3D", {"re3D Gigabot 4", "re3D Gigabot 4 XLT", "re3D Terabot 4", - "re3D Gigabot X2", "re3D Gigabot X2 XLT", "re3D Terabot X2"}}, + "re3D GigabotX 2", "re3D GigabotX 2 XLT", "re3D TerabotX 2"}}, {"RolohaunDesign", {"Rook MK1 LDO"}}, {"SecKit", {"SecKit SK-Tank", "Seckit Go3"}}, {"Snapmaker", {"Snapmaker J1", "Snapmaker A250", "Snapmaker A350", "Snapmaker A250 Dual", "Snapmaker A350 Dual", From 69e16cd7ef87d278172cc42c11ce69553b245be4 Mon Sep 17 00:00:00 2001 From: d4not <95161267+d4not@users.noreply.github.com> Date: Wed, 27 May 2026 23:20:41 -0700 Subject: [PATCH 16/69] fix: prevent CPU-spin in Sidebar leave handler on inactive Wayland workspace (#13897) When the OrcaSlicer window is on an inactive Hyprland (or any Wayland compositor that keeps surfaces mapped while hidden) workspace, GTK keeps delivering synthetic leave-notify events to the printer-preset row. The wxEVT_LEAVE_WINDOW handler at Plater.cpp:1855 calls wxFindWindowAtPoint(), which walks the entire wxWidgets window tree calling IsShown() / gtk_widget_get_child_visible() on each widget, then Hide()s the edit button and triggers a Layout() of the parent panel. The Hide()+Layout() re-fires more leave events, creating a feedback loop that pegs a CPU core at 100% indefinitely. GDB attached to a frozen process confirmed the main thread stuck in: wxFindWindowAtPoint (recursing through widget tree) -> wxWindow::IsShown -> gtk_widget_get_child_visible ... Sidebar::Sidebar(Plater*)::$_14 <- the leave handler lambda wxEvtHandler::SafelyProcessEvent wxGTKImpl::WindowLeaveCallback gtk_main_do_event ... IsShownOnScreen() can't be used as a guard here because GTK on Wayland reports widgets as visible even when the toplevel surface is on an inactive workspace (see existing comment at Plater.cpp:9304). Fix: state-based short-circuit. If btn_edit_printer is already hidden, the handler has no transition to perform - skip the expensive tree walk and the Hide()+Layout() that would re-trigger the feedback loop. After the first leave event, every subsequent leave event is O(1). Refs: - #12387 (open issue with matching setup: Arch + Hyprland + RTX 3060 + Bambu A1) - #11196 (introduced the hover-edit-button feature in Nov 2025) --- src/slic3r/GUI/Plater.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 8d46b6dc3b..f16f655ee6 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1853,6 +1853,14 @@ Sidebar::Sidebar(Plater *parent) e.Skip(); }); w->Bind(wxEVT_LEAVE_WINDOW, [this, panel_color](wxMouseEvent &e) { + // Orca: if the edit button is already hidden the handler has no + // state to change, so skip the expensive wxFindWindowAtPoint tree + // walk. Without this guard, when the parent window is on an + // inactive Hyprland/Wayland workspace, GTK keeps delivering + // synthetic leave events and the Hide()+Layout() below re-enters + // the same handler in a feedback loop that pegs a CPU core. + // (IsShownOnScreen() can't be used here — see Plater.cpp:9304.) + if (!p->btn_edit_printer->IsShown()) { e.Skip(); return; } // Use event-relative coords instead of wxGetMousePosition() which // returns (0,0) on Wayland for global screen coordinates. wxWindow* evtObj = dynamic_cast(e.GetEventObject()); From 460e248aed308d96da4d6d7b6b0f969a3b774981 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Thu, 28 May 2026 17:57:11 +0800 Subject: [PATCH 17/69] privacy: disable Bambu cloud telemetry before DLL start() (#13898) * privacy: disable Bambu cloud telemetry before DLL start() --- src/slic3r/GUI/GUI_App.cpp | 10 +++++++++- src/slic3r/Utils/NetworkAgent.cpp | 15 ++++++++------- src/slic3r/Utils/NetworkAgent.hpp | 5 +++-- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 6b4f5fc89d..082eb12b6a 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -3349,6 +3349,8 @@ bool GUI_App::on_init_network(bool try_backup) std::string country_code = app_config->get_country_code(); m_agent->set_country_code(country_code); m_agent->start(); + // Orca: disable Bambu telemetry up-front (before any login) so it never starts. + check_track_enable(); } // When using Orca cloud alongside the BBL network plugin, the BBL DLL agent still @@ -3365,6 +3367,12 @@ bool GUI_App::on_init_network(bool try_backup) bbl.init_log(); bbl.set_cert_file(resources_dir() + "/cert", "slicer_base64.cer"); bbl.set_country_code(app_config->get_country_code()); + // Orca: disable Bambu telemetry before start() so the DLL never spins up tracking + // workers. This covers the case where the BBL plugin is loaded for LAN discovery + // but the user has not registered BBL_CLOUD_PROVIDER (so m_agent->track_enable + // would not reach this DLL instance). + bbl.track_enable(false); + bbl.track_remove_files(); bbl.start(); } } @@ -4970,7 +4978,7 @@ void GUI_App::on_user_login_handle(wxCommandEvent &evt) void GUI_App::check_track_enable() { - // Orca: alaways disable track event + // Orca: telemetry only exists on the BBL cloud agent; always disable it. if (m_agent) { m_agent->track_enable(false); m_agent->track_remove_files(); diff --git a/src/slic3r/Utils/NetworkAgent.cpp b/src/slic3r/Utils/NetworkAgent.cpp index 03e677b636..e59795c058 100644 --- a/src/slic3r/Utils/NetworkAgent.cpp +++ b/src/slic3r/Utils/NetworkAgent.cpp @@ -582,21 +582,22 @@ int NetworkAgent::get_my_token(std::string ticket, unsigned int* http_code, std: return -1; } -int NetworkAgent::track_enable(bool enable, const std::string& provider) +int NetworkAgent::track_enable(bool enable) { - this->enable_track = enable; - const auto cloud_agent = get_cloud_agent(provider); + // Orca cloud has no telemetry; the only cloud agent that tracks events is BBL. + this->enable_track = enable; + const auto cloud_agent = get_cloud_agent(BBL_CLOUD_PROVIDER); if (cloud_agent) return cloud_agent->track_enable(enable); - return -1; + return 0; } -int NetworkAgent::track_remove_files(const std::string& provider) +int NetworkAgent::track_remove_files() { - const auto cloud_agent = get_cloud_agent(provider); + const auto cloud_agent = get_cloud_agent(BBL_CLOUD_PROVIDER); if (cloud_agent) return cloud_agent->track_remove_files(); - return -1; + return 0; } int NetworkAgent::track_event(std::string evt_key, std::string content, const std::string& provider) diff --git a/src/slic3r/Utils/NetworkAgent.hpp b/src/slic3r/Utils/NetworkAgent.hpp index e069066b58..49a2e9f5d6 100644 --- a/src/slic3r/Utils/NetworkAgent.hpp +++ b/src/slic3r/Utils/NetworkAgent.hpp @@ -118,8 +118,9 @@ public: int get_model_mall_detail_url(std::string* url, std::string id, const std::string& provider = ORCA_CLOUD_PROVIDER); int get_my_profile(std::string token, unsigned int* http_code, std::string* http_body, const std::string& provider = ORCA_CLOUD_PROVIDER); int get_my_token(std::string ticket, unsigned int* http_code, std::string* http_body, const std::string& provider = ORCA_CLOUD_PROVIDER); - int track_enable(bool enable, const std::string& provider = ORCA_CLOUD_PROVIDER); - int track_remove_files(const std::string& provider = ORCA_CLOUD_PROVIDER); + // Orca: telemetry only exists on the BBL cloud agent (Orca cloud has no track events). + int track_enable(bool enable); + int track_remove_files(); int track_event(std::string evt_key, std::string content, const std::string& provider = ORCA_CLOUD_PROVIDER); int track_header(std::string header, const std::string& provider = ORCA_CLOUD_PROVIDER); int track_update_property(std::string name, std::string value, std::string type = "string", const std::string& provider = ORCA_CLOUD_PROVIDER); From b239d3ac6ca6450112baab95faa748a836e281fa Mon Sep 17 00:00:00 2001 From: SoftFever Date: Thu, 28 May 2026 18:01:41 +0800 Subject: [PATCH 18/69] fix: allow unchecking URL association in Preferences (#13884) (#13899) Wire the existing disassociate_url path into the Associate-tab checkbox so users can revert prusaslicer/bambustudio/cura registrations they previously enabled. --- src/slic3r/GUI/Preferences.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 206549cf17..5cef914e38 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -1172,7 +1172,6 @@ wxBoxSizer* PreferencesDialog::create_item_link_association( wxString url_prefix auto checkbox = new ::CheckBox(m_parent); checkbox->SetToolTip(tooltip); checkbox->SetValue(reg_to_current_instance); // If registered to the current instance, checkbox should be checked - checkbox->Enable(!reg_to_current_instance); // Since unregistering isn't supported, checkbox is disabled when checked // build text next to checkbox auto checkbox_title = new wxStaticText(m_parent, wxID_ANY, title, wxDefaultPosition, DESIGN_TITLE_SIZE); @@ -1223,8 +1222,10 @@ wxBoxSizer* PreferencesDialog::create_item_link_association( wxString url_prefix v_sizer->Add(registered_instance_title, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(DESIGN_LEFT_MARGIN)); checkbox->Bind(wxEVT_TOGGLEBUTTON, [=](wxCommandEvent& e) { - wxGetApp().associate_url(url_prefix.ToStdWstring()); - checkbox->Disable(); + if (checkbox->GetValue()) + wxGetApp().associate_url(url_prefix.ToStdWstring()); + else + wxGetApp().disassociate_url(url_prefix.ToStdWstring()); update_current_association_str(); e.Skip(); }); From ba4d2eeae413d93360715c3bc29d7531eda410bd Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Thu, 28 May 2026 18:11:36 +0800 Subject: [PATCH 19/69] Fix crash when you have custom profile set to multi-extruder but the base printer is semm (#13896) --- src/libslic3r/PresetBundle.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 5e0ab15849..0a9d1f5452 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -2871,6 +2871,14 @@ void PresetBundle::load_selections(AppConfig &config, const PresetPreferences& p if (use_default_nozzle_volume_type) { project_config.option("nozzle_volume_type")->values = current_printer.config.option("default_nozzle_volume_type")->values; + } else { + // Orca: make sure `nozzle_volume_type` not shorter than `default_nozzle_volume_type`, otherwise we got array out of bound access + // later in `Tab::switch_excluder` + auto& opt = project_config.option("nozzle_volume_type")->values; + const auto& opt_default = current_printer.config.option("default_nozzle_volume_type")->values; + while (opt.size() < opt_default.size()) { + opt.emplace_back(opt_default[opt.size()]); + } } // Parse the initial physical printer name. From 8d6ba17aace6f91e74f709a88b9980c4d8dd1093 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Thu, 28 May 2026 19:05:51 +0800 Subject: [PATCH 20/69] ci: dedupe profile-validation PR comments, clean up on success --- .github/workflows/check_profiles.yml | 14 +++++---- .github/workflows/check_profiles_comment.yml | 30 ++++++++++++++++---- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/.github/workflows/check_profiles.yml b/.github/workflows/check_profiles.yml index d24e27ac89..806470b18b 100644 --- a/.github/workflows/check_profiles.yml +++ b/.github/workflows/check_profiles.yml @@ -101,12 +101,18 @@ jobs: ./OrcaSlicer_profile_validator -p ${{ github.workspace }}/resources/profiles -l 2 2>&1 | tee ${{ runner.temp }}/validate_custom.log exit ${PIPESTATUS[0]} + - name: Prepare PR number for comment workflow + if: ${{ always() && github.event_name == 'pull_request' }} + run: | + mkdir -p ${{ runner.temp }}/profile-check-results + echo "${{ github.event.pull_request.number }}" > ${{ runner.temp }}/profile-check-results/pr_number.txt + - name: Prepare comment artifact if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.indentation_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }} run: | - mkdir -p ${{ runner.temp }}/profile-check-results - { + # Marker matched by check_profiles_comment.yml to delete prior comments. + echo "" echo "## :x: Profile Validation Errors" echo "" @@ -150,10 +156,8 @@ jobs: echo "*Please fix the above errors and push a new commit.*" } > ${{ runner.temp }}/profile-check-results/pr_comment.md - echo "${{ github.event.pull_request.number }}" > ${{ runner.temp }}/profile-check-results/pr_number.txt - - name: Upload comment artifact - if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.indentation_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }} + if: ${{ always() && github.event_name == 'pull_request' }} uses: actions/upload-artifact@v7 with: name: profile-check-results diff --git a/.github/workflows/check_profiles_comment.yml b/.github/workflows/check_profiles_comment.yml index 784f99b24a..21098cc467 100644 --- a/.github/workflows/check_profiles_comment.yml +++ b/.github/workflows/check_profiles_comment.yml @@ -10,12 +10,19 @@ on: permissions: pull-requests: write + # Needed to delete outdated bot comments via the issues/comments endpoint. + issues: write + +# Serialize handlers per source branch so parallel runs don't race delete-and-post. +concurrency: + group: ${{ github.workflow }}-${{ github.event.workflow_run.head_repository.full_name }}-${{ github.event.workflow_run.head_branch }} + cancel-in-progress: false jobs: post_comment: name: Post PR comment runs-on: ubuntu-24.04 - if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'failure' }} + if: ${{ github.event.workflow_run.event == 'pull_request' && (github.event.workflow_run.conclusion == 'success' || github.event.workflow_run.conclusion == 'failure') }} steps: - name: Download artifact id: download @@ -26,14 +33,14 @@ jobs: run-id: ${{ github.event.workflow_run.id }} github-token: ${{ github.token }} - - name: Post comment on PR + - name: Update PR comment if: ${{ steps.download.outcome == 'success' }} env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} run: | - if [ ! -f pr_number.txt ] || [ ! -f pr_comment.md ]; then - echo "No comment artifact found, skipping." + if [ ! -f pr_number.txt ]; then + echo "No pr_number.txt in artifact, skipping." exit 0 fi @@ -43,4 +50,17 @@ jobs: exit 1 fi - gh pr comment "$PR_NUMBER" --body-file pr_comment.md + # Delete prior comments matching the marker (from check_profiles.yml) or the legacy heading. + OLD_IDS=$(gh api --paginate "repos/${GH_REPO}/issues/${PR_NUMBER}/comments" \ + --jq '.[] | select(.user.login == "github-actions[bot]") | select((.body | startswith("")) or (.body | startswith("## :x: Profile Validation Errors"))) | .id') + for comment_id in $OLD_IDS; do + echo "Deleting outdated profile-validation comment ${comment_id}" + gh api -X DELETE "repos/${GH_REPO}/issues/comments/${comment_id}" || true + done + + # Post a new comment only when validation failed (pr_comment.md present). + if [ -f pr_comment.md ]; then + gh pr comment "$PR_NUMBER" --body-file pr_comment.md + else + echo "Validation succeeded; cleaned up prior comments without posting." + fi From 417bea04df77dcda82d9a823c6d9203cf5244ccb Mon Sep 17 00:00:00 2001 From: DeathKhan Date: Thu, 28 May 2026 06:45:03 -0500 Subject: [PATCH 21/69] fix(ElegooLink): pass printer SN to CC2 device panel URL (#13878) * fix(ElegooLink): pass printer SN to CC2 device panel URL The CC2 panel subscribes to MQTT topics keyed by the printer serial number. Without sn= in the URL it uses a wrong hardcoded fallback SN, subscribes to the wrong topics, and shows Offline permanently even though the printer is reachable. - Cache the SN in elegoo_cc2_test() (already fetches it, was discarding it) - Look up cache in get_print_host_webui(); fall back to a short LAN HTTP call on first use before the test has run - Append sn= to the panel URL - Clear the wrong hardcoded fallback SN/IP from the panel bundle - Add a small synchronous boot script to the panel that fetches the SN from the printer before the bundle reads URLSearchParams, as a fallback for unpatched binaries * fix(ElegooLink): persist CC2 serial number in AppConfig dev_sn section Store the printer SN under [dev_sn] keyed by normalized print_host after a successful connection test or system/info fetch. Reuse it on later sessions before hitting the network, matching how access_code is keyed by dev_id for other LAN printers. * fix(ElegooLink): answer get_sn IPC instantly from dev_sn cache The CC2 panel always calls get_sn with a 10s timeout. Remove the HTTP fallback from get_sn() and resolve IPC from dev_sn/memory only so Device tab load is not blocked after sn= is already in the URL. * fix(ElegooLink): skip get_sn IPC when URL already has sn The CC2 device panel calls get_sn with a 10s timeout on every MQTT connect even when Orca passes sn= in the query string. Use the URL serial immediately and only fall back to IPC when it is missing. * refactor(ElegooLink): resolve CC2 SN via PrintHost::get_sn in GUI Drop the ElegooLink.hpp include from PrinterWebViewHandler; the webview IPC handler uses the existing PrintHost virtual instead. Keep CC2 serial lookup helpers file-local in ElegooLink.cpp and share them between get_sn() and get_print_host_webui(). * chore: drop redundant include in PrinterWebViewHandler --------- Co-authored-by: SoftFever --- .../elegoolink/web/lan_service_web/index.html | 24 +++- src/slic3r/GUI/PrinterWebViewHandler.cpp | 34 ++--- src/slic3r/Utils/ElegooLink.cpp | 129 ++++++++++++++---- 3 files changed, 130 insertions(+), 57 deletions(-) diff --git a/resources/plugins/elegoolink/web/lan_service_web/index.html b/resources/plugins/elegoolink/web/lan_service_web/index.html index e552aa1e8e..b3b8242ddf 100644 --- a/resources/plugins/elegoolink/web/lan_service_web/index.html +++ b/resources/plugins/elegoolink/web/lan_service_web/index.html @@ -1,4 +1,22 @@ -ELEGOO-Create The FutureELEGOO-Create The Future
\ No newline at end of file + `),this._encryptionMode=e,this._encryptionSecret=t,n&&(this._encryptionSalt=_d(n))}async renewToken(e){if(pi(e,"token",1,2047),!this._key||!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"renewToken should not be called before user join");const t=this._key;this._key=e,this._joinInfo&&(this._joinInfo.token=e);const n=await this._renewTokenMutex.lock();try{if(he("USE_NEW_TOKEN")){D.debug("[".concat(this._clientId,"] start renew token with ticket from unilbs"));const r=await jBe(this._joinInfo,this._axiosCancelSource.token,this._config.httpRetryConfig||jr);D.debug("[".concat(this._clientId,"] get ticket from unilbs success")),await this._gateway.renewToken({token:e,ticket:r})}else D.debug("[".concat(this._clientId,"] start renew token without ticket")),await this._gateway.renewToken({token:e});D.debug("[".concat(this._clientId,"] renewToken success"))}catch(r){throw this._key=t,this._joinInfo.token=t,D.error("[".concat(this._clientId,"] renewToken failed"),r.toString()),r}finally{n()}}enableAudioVolumeIndicator(){this._audioVolumeIndicationInterval?D.warning("you have already enabled audio volume indicator!"):this._audioVolumeIndicationInterval=window.setInterval((()=>{const e=this._p2pChannel.getAudioLevels();this.safeEmit($t.VOLUME_INDICATOR,e)}),he("AUDIO_VOLUME_INDICATION_INTERVAL")||2e3)}getRTCStats(){const e=this._statsCollector.getRTCStats(),t=this._gateway.getInChannelInfo();return e.Duration=Math.round(t.duration/1e3),e}async startLiveStreaming(e,t){if(!t){if(this.codec!=="h264")throw new xe(Q.LIVE_STREAMING_INVALID_RAW_STREAM,"raw streaming is only support h264");if(!this._p2pChannel.hasLocalMedia())throw new xe(Q.LIVE_STREAMING_INVALID_RAW_STREAM,"can not find stream to raw streaming")}if(this._liveRawStreamingClient&&this._liveRawStreamingClient.hasUrl(e)||this._liveTranscodeStreamingClient&&this._liveTranscodeStreamingClient.hasUrl(e))throw new xe(Q.LIVE_STREAMING_TASK_CONFLICT);const n=t?au.TRANSCODE:au.RAW;return this._createLiveStreamingClient(n).startLiveStreamingTask(e,n)}setLiveTranscoding(e){return this._createLiveStreamingClient(au.TRANSCODE).setTranscodingConfig(e)}async stopLiveStreaming(e){const t=[this._liveRawStreamingClient,this._liveTranscodeStreamingClient].filter((n=>n&&n.hasUrl(e)));if(!t.length)throw new xe(Q.INVALID_PARAMS,"can not find live streaming url to stop");await ot.all(t.map((n=>n&&n.stopLiveStreamingTask(e))))}async startChannelMediaRelay(e){IU(e),await this._createChannelMediaRelayClient().startChannelMediaRelay(e)}async updateChannelMediaRelay(e){IU(e),await this._createChannelMediaRelayClient().updateChannelMediaRelay(e)}async stopChannelMediaRelay(){await this._createChannelMediaRelayClient().stopChannelMediaRelay(),this._statsCollector.onStatsChanged&&(this._statsCollector.onStatsChanged=void 0)}async sendStreamMessage(e){var t;let n=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];if(!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"can not send data stream, not joined");if((typeof e=="string"||e instanceof Uint8Array)&&(e={payload:e}),typeof e.payload=="string"){const i=new TextEncoder;e.payload=i.encode(e.payload)}let r=!1;if(this._encryptDataStream&&this._encryptDataStreamIv&&this._encryptDataStreamKey&&window.crypto.subtle&<(t=["aes-128-gcm2","aes-256-gcm2"]).call(t,this._encryptionMode)&&(r=!0,e.payload=await(async function(i,o,s){var a;const c=vc(a=Array.from(s)).call(a,((g,m)=>g+m),0),l={serverTs:0,seq:rNe++,length:s.length,checkSum:c},u=new Uint8Array(hM(c,2)),d=new ArrayBuffer(Yf),f=new DataView(d);f.setUint32(0,l.serverTs),f.setUint16(4,l.seq),f.setUint16(6,l.length),f.setUint16(8,l.checkSum);const h=16-s.length%16;s=lM(s,new Uint8Array(h));const p=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:i,tagLength:mM,additionalData:u},o,s);return lM(new Uint8Array(d),new Uint8Array(p))})(this._encryptDataStreamIv,this._encryptDataStreamKey,e.payload)),new Blob([e.payload]).size>1024)throw new xe(Q.INVALID_PARAMS,r?"encrypted stream message out of range.":"stream message out of range.");return this._gateway.signal.request(Dt.DATA_STREAM,{payload:_d(e.payload),syncWithAudio:e.syncWithAudio,sendTs:Date.now()-dFe},!n)}sendMetadata(e){if(!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"can not send metadata, not joined");if(new Blob([e]).size>1024)throw new xe(Q.METADATA_OUT_OF_RANGE);return this._gateway.signal.request(Dt.SEND_METADATA,{session_id:this._joinInfo.sid,metadata:_d(e)})}async sendCustomReportMessage(e){if(Array.isArray(e)||(e=[e]),e.forEach(oNe),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"can not send custom report, not joined");await mt.sendCustomReportMessage(this._joinInfo.sid,e)}getLocalAudioStats(){return this._statsCollector.getLocalAudioTrackStats()}getRemoteAudioStats(){return this._statsCollector.getRemoteAudioTrackStats()}getLocalVideoStats(){return this._statsCollector.getLocalVideoTrackStats()}getRemoteVideoStats(){return this._statsCollector.getRemoteVideoTrackStats()}getRemoteNetworkQuality(){return this._statsCollector.getRemoteNetworkQualityStats()}async pickSVCLayer(e,t){Kr(t.spatialLayer,"spatialLayer",[0,1,2,3]),Kr(t.temporalLayer,"temporalLayer",[0,1,2,3]);try{await this._gateway.pickSVCLayer(e,t)}catch(n){throw D.error("[".concat(this._clientId,"] pick SVC layer failed"),n.toString()),n}}async setRTMConfig(e){const{apRTM:t=!1,rtmFlag:n}=e;if(nu(t,"apRTM"),Ln(n,"rtmFlag",0),this._rtmConfig.apRTM=t,this._rtmConfig.rtmFlag=n,D.debug("[".concat(this._clientId,"] setRTMconfig ").concat(JSON.stringify(e)," in ").concat(this.connectionState," state")),(this.connectionState==="CONNECTED"||this.connectionState==="RECONNECTING")&&this._joinInfo)return this._joinInfo.apRTM=t,this._joinInfo.rtmFlag=n,this._gateway.setRTM2Flag(n)}_reset(){if(D.debug("[".concat(this._clientId,"] reset client")),this._axiosCancelSource.cancel(),this._axiosCancelSource=Lo.CancelToken.source(),this._streamFallbackTypeCacheMap=new Map,this._remoteStreamTypeCacheMap=new Map,this._configDistribute.stopGetConfigDistribute(),this._joinInfo&&N$(this._joinInfo),this._joinInfo=void 0,this._proxyServer=void 0,this._defaultStreamFallbackType=void 0,this._sessionId=null,this.store.sessionId=null,this._statsCollector.reset(),this._key=void 0,this._appId=void 0,this._uid=void 0,this.store.uid=void 0,this._channelName=void 0,this._encryptionMode="none",this._encryptionSecret=null,this._encryptionSalt=null,this._encryptDataStreamKey=null,this._encryptDataStreamIv=null,this._pendingPublishedUsers=[],this._users.forEach((e=>{e._audioTrack&&e._audioTrack._destroy(),e._videoTrack&&e._videoTrack._destroy(),e._dataChannels&&(e._dataChannels.forEach((t=>t._close())),e._dataChannels.length=0)})),this._users=[],this._audioVolumeIndicationInterval&&(window.clearInterval(this._audioVolumeIndicationInterval),this._audioVolumeIndicationInterval=void 0),this._cloudProxyServerMode==="fallback"&&(this._cloudProxyServerMode="disabled",this.store.cloudProxyServerMode="disabled"),this._p2pChannel.reset(),this._publishMutex=new Hi("client-publish"),this._subscribeMutex=new Hi("client-subscribe"),this._networkQualityInterval&&(window.clearInterval(this._networkQualityInterval),this._networkQualityInterval=void 0),this._liveRawStreamingClient&&(this._liveRawStreamingClient.terminate(),this._liveRawStreamingClient.removeAllListeners(),this._liveRawStreamingClient=void 0),this._liveTranscodeStreamingClient&&(this._liveTranscodeStreamingClient.terminate(),this._liveTranscodeStreamingClient.removeAllListeners(),this._liveTranscodeStreamingClient=void 0),this._channelMediaRelayClient&&(this._channelMediaRelayClient.dispose(),this._channelMediaRelayClient=void 0),this._inspect)try{this._inspect.close(),this._inspect=void 0}catch{}if(this._moderation)try{this.setImageModeration(!1)}catch{}}_startSession(e,t){var n;const r=e||Ph();e?D.debug("[".concat(this._clientId,"] new Session ").concat(r)):D.debug("[".concat(this._clientId,"] renewSession ").concat(this._sessionId," => ").concat(r));const i=e?"":this._sessionId||"";this._sessionId=r,this.store.sessionId=r;const o={lts:new Date().getTime(),mode:this.mode,buildFormat:2,stringUid:(t==null?void 0:t.stringUid)||((n=this._joinInfo)===null||n===void 0?void 0:n.stringUid),channelProfile:this.mode==="live"?1:0,channelMode:0,isABTestSuccess:Number(this._configDistribute.isSuccess),lsid:i,clientRole:this.role==="audience"?2:1};mt.sessionInit(this._sessionId,$a({cname:t.channel,appid:t.appId},o)),this._joinInfo&&(this._joinInfo.sid=r),this._gateway.joinInfo&&(this._gateway.joinInfo.sid=r)}async _publishHighStream(e){if(!this._joinInfo||this._uid===void 0)throw new xe(Q.INVALID_OPERATION,"Can't publish stream, haven't joined yet!");if(this.connectionState!=="CONNECTED"&&this.connectionState!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not publish stream in ".concat(this.connectionState," state"));if(this._turnServer.mode==="auto"&&he("FORCE_TURN")&&!he("TURN_ENABLE_TCP")&&!he("TURN_ENABLE_UDP"))throw new xe(Q.UNEXPECTED_ERROR,"force TURN With No TURN Configuration");D.debug("[".concat(this._clientId,"] publish high stream"));try{const n=await this._p2pChannel.publish(e,this._isDualStreamEnabled,this._lowStreamParameter);if(this._p2pChannel instanceof rs){const r=(await n.next()).value;if(r){try{await this._gateway.sendExtensionMessage(Cr.PUBLISH,r,!0)}catch(i){throw n.throw(i),i}await n.next()}this._p2pChannel.reportPublishEvent(!0,null)}else{const r=(await n.next()).value;if(r){var t;let i;try{i=await this._gateway.publish(this._uid,r,!0)}catch(o){if(o.code!==Q.DISCONNECT_P2P)throw n.throw(o),o}await n.next(((t=i)===null||t===void 0?void 0:t.ortc)||[])}this._p2pChannel.reportPublishEvent(!0,null);for(const i of e)i instanceof Kn&&i._encoderConfig&&this._gateway.setVideoProfile(i._encoderConfig),!i.muted&&i.enabled||await this._p2pChannel.muteLocalTrack(i)}}catch(n){if(this._p2pChannel.reportPublishEvent(!1,n==null?void 0:n.code,e),(n==null?void 0:n.code)===Q.WS_ABORT)return;throw n}}async _publishLowStream(){if(!this._joinInfo||this._uid===void 0)throw new xe(Q.INVALID_OPERATION,"Can't publish stream, haven't joined yet!");if(this.connectionState!=="CONNECTED"&&this.connectionState!=="RECONNECTING")throw new xe(Q.INVALID_OPERATION,"can not publish stream in ".concat(this.connectionState," state"));D.debug("[".concat(this._clientId,"] publish low stream"));const e=this._configDistribute.getLowStreamConfigDistribute();e&&e.bitrate&&(this._lowStreamParameter||(this._lowStreamParameter={width:160,height:120,framerate:15,bitrate:50}),this._lowStreamParameter&&this._lowStreamParameter.bitrate&&e.bitrate{if(!this._joinInfo||!this._appId)return new xe(Q.INVALID_OPERATION,"can not create live streaming client, please join channel first").throw();const n=(r={joinInfo:this._joinInfo,appId:this._appId,websocketRetryConfig:this._config.websocketRetryConfig,httpRetryConfig:this._config.httpRetryConfig},G1("LiveStreaming").create(r));var r;return n.onLiveStreamError=(i,o)=>{mt.reportApiInvoke(this._sessionId,{name:Zr.ON_LIVE_STREAM_ERROR,options:[i,o],tag:vr.TRACER}).onSuccess(),this.safeEmit($t.LIVE_STREAMING_ERROR,i,o)},n.onLiveStreamWarning=(i,o)=>{mt.reportApiInvoke(this._sessionId,{name:Zr.ON_LIVE_STREAM_WARNING,options:[i,o],tag:vr.TRACER}).onSuccess(),this.safeEmit($t.LIVE_STREAMING_WARNING,i,o)},n.on(XA.REQUEST_WORKER_MANAGER_LIST,((i,o,s)=>{if(!this._joinInfo)return s(new xe(Q.INVALID_OPERATION,"can not find join info to get worker manager"));(async function(a,c,l,u){const d=he("UAP_AP").slice(0,he("AJAX_REQUEST_CONCURRENT")).map((f=>c.proxyServer?"https://".concat(c.proxyServer,"/ap/?url=").concat(f+"/api/v1?action=uap"):"https://".concat(f,"/api/v1?action=uap")));return await LBe(d,a,c,l,u)})(i,this._joinInfo,this._axiosCancelSource.token,jr).then(o).catch(s)})),n};return e===au.RAW?(this._liveRawStreamingClient=this._liveRawStreamingClient||t(),this._liveRawStreamingClient):(this._liveTranscodeStreamingClient=this._liveTranscodeStreamingClient||t(),this._liveTranscodeStreamingClient)}_createChannelMediaRelayClient(){if(!this._joinInfo)return new xe(Q.INVALID_OPERATION,"can not create channel media relay client, please join channel first").throw();if(!this._channelMediaRelayClient){const{sendResolutionWidth:t,sendResolutionHeight:n}=this.getLocalVideoStats(),r=(e={joinInfo:this._joinInfo,clientId:this._clientId,websocketRetryConfig:this._config.websocketRetryConfig,httpRetryConfig:this._config.httpRetryConfig,resolution:{width:t,height:n}},G1("ChannelMediaRelay").create(e));r.on("state",(i=>{i===zo.RELAY_STATE_FAILURE&&r&&r.dispose(),this.safeEmit($t.CHANNEL_MEDIA_RELAY_STATE,i)})),r.on("event",(i=>{this.safeEmit($t.CHANNEL_MEDIA_RELAY_EVENT,i)})),this._channelMediaRelayClient=r,this._statsCollector.onStatsChanged=(i,o)=>{var s;i==="resolution"&&((s=this._channelMediaRelayClient)===null||s===void 0||s.setVideoProfile(o))}}var e;return this._channelMediaRelayClient}_handleUpdateDataChannel(e,t){const{added:n,deleted:r}=e,i=[];if(t){const o=[];this._users.forEach((s=>{s._dataChannels.forEach((a=>{n.every((c=>c.uid!==s._uintid||c.stream_id!==a.id))&&o.push({uid:s._uintid,stream_id:a.id,ordered:a.ordered,max_retrans_times:a.maxRetransmits,metadata:a.metadata})}))})),o.length>0&&this._handleUpdateDataChannel({added:[],deleted:o})}Array.isArray(n)&&n.length>0&&n.forEach((o=>{const{uid:s,stream_id:a,ordered:c,max_retrans_times:l,metadata:u}=o,d=this._users.find((f=>f._uintid===s));if(!d)return void D.error("[".concat(this._clientId,"] can not find target user!(on_add_data_channel)"));if(D.debug("[".concat(this._clientId,"] data_channel added with uid ").concat(s)),lt(i).call(i,d)||i.push(d),d._uintid||(d._uintid=s),d._dataChannels.findIndex((f=>f.id===o.stream_id))===-1){const f={id:a,ordered:!!c,maxRetransmits:l,metadata:u},h=(function(p){return UU(p,!0)})(f);d._dataChannels.push(h),D.info("[".concat(this._clientId,"] remote user ").concat(d.uid," published datachannel")),t||this.safeEmit($t.USER_PUBLISHED,d,"datachannel",f)}this._p2pChannel.hasPendingRemoteDataChannel(d,o.stream_id)&&(D.debug("[".concat(this._clientId,"] resubscribe datachannel for user ").concat(d.uid," after reconnect.")),this._subscribeDataChannel(d,o.stream_id).catch((f=>{D.error("[".concat(this._clientId,"] resubscribe datachannel error"),f.toString())})))})),t&&(this.safeEmit($t.PUBLISHED_USER_LIST,this._pendingPublishedUsers),this._pendingPublishedUsers=[]),Array.isArray(r)&&r.length>0&&r.forEach((o=>{const{uid:s,stream_id:a}=o,c=this._users.find((u=>u._uintid===s));if(!c)return void D.error("[".concat(this._clientId,"] can not find target user!(on_delete_data_channel)"));const l=c._dataChannels.find((u=>u.id===o.stream_id));l&&(D.debug("[".concat(this._clientId,"] data_stream delete with uid ").concat(s)),this._p2pChannel.unsubscribeDataChannel(c,[l]).then((u=>{if(c._dataChannels=c._dataChannels.filter((d=>d!==l)),u)return this._gateway.unsubscribeDataChannel(u,c.uid)})),D.info("[".concat(this._clientId,"] remote user ").concat(s," unpublished datachannel ,id:").concat(l.id)),this.safeEmit($t.USER_UNPUBLISHED,c,"datachannel",l._config))}))}_handleRemoveDataChannels(e){const t=this._users.find((n=>n.uid===e.uid));if(t){if(t._dataChannels!==void 0&&t._dataChannels.length>0){D.debug("[".concat(this._clientId,"] datachannel removed with uid ").concat(e.uid));const n=()=>{D.info("[".concat(this._clientId,"] remote user ").concat(t.uid," unpublished datachannel")),t._dataChannels.forEach((r=>{this.safeEmit($t.USER_UNPUBLISHED,t,"datachannel",r._config)}))};this._p2pChannel.unsubscribeDataChannel(t,t._dataChannels).then((r=>{if(r)return this._gateway.unsubscribeDataChannel(r,t.uid)})),n()}}else D.warning("[".concat(this._clientId,"] can not find target user!(on_remove_datachannel)"))}_handleGatewayEvents(){this._gateway.on(Ci.DISCONNECT_P2P,(async()=>{await this._p2pChannel.disconnectForReconnect()})),this._gateway.on(Ci.CONNECTION_STATE_CHANGE,((e,t,n)=>{var r;if(n===Tn.FALLBACK)return;const i=()=>{this.safeEmit($t.CONNECTION_STATE_CHANGE,e,t,n)};if(mt.reportApiInvoke(this._sessionId||((r=this._gateway.joinInfo)===null||r===void 0?void 0:r.sid)||null,{name:Zr.CONNECTION_STATE_CHANGE,options:[e,t,n],tag:vr.TRACER}).onSuccess(JSON.stringify({cur:e,prev:t,reason:n})),D.info("[".concat(this._clientId,"] connection state change: ").concat(t," -> ").concat(e)),e==="DISCONNECTED")return this._reset(),void i();if(e==="RECONNECTING")this._users.forEach((s=>{s._trust_in_room_=!1,s._trust_audio_enabled_state_=!1,s._trust_video_enabled_state_=!1,s._trust_audio_mute_state_=!1,s._trust_video_mute_state_=!1,s._trust_audio_stream_added_state_=!1,s._trust_video_stream_added_state_=!1,s._is_pre_created||(s._audio_pre_subscribed||(s._audioSSRC=void 0,s._audioOrtc=void 0),s._video_pre_subscribed||(s._videoSSRC=void 0,s._videoOrtc=void 0,s._rtxSsrcId=void 0),s._cname=void 0)})),this._userOfflineTimeout&&window.clearTimeout(this._userOfflineTimeout),this._streamRemovedTimeout&&window.clearTimeout(this._streamRemovedTimeout),this._userOfflineTimeout=void 0,this._streamRemovedTimeout=void 0;else if(e==="CONNECTED"){var o;this._streamFallbackTypeCacheMap.forEach(((s,a)=>{this._gateway.setStreamFallbackOption(a,s).catch((c=>{D.warning("[".concat(this._clientId,"] auto set stream fallback option failed"),c)}))})),this._remoteStreamTypeCacheMap.forEach(((s,a)=>{this._gateway.setRemoteVideoStreamType(a,s).catch((c=>{D.warning("[".concat(this._clientId,"] auto set remote stream type failed"),c)}))})),this._remoteDefaultVideoStreamType!==void 0&&((o=this._joinInfo)===null||o===void 0?void 0:o.defaultVideoStream)===void 0&&this.setRemoteDefaultVideoStreamType(this._remoteDefaultVideoStreamType).then((()=>{D.debug("[".concat(this._clientId,"] setRemoteDefaultVideoStreamType after gateway connected"))})).catch((s=>{D.error("[".concat(this._clientId,"] setRemoteDefaultVideoStreamType after gateway failed, ").concat(s))})),this.store.useP2P||(this._p2pChannel.republish(),this._userOfflineTimeout=window.setTimeout((()=>{this.connectionState==="CONNECTED"&&(this._userOfflineTimeout=void 0,this._users.filter((s=>!s._trust_in_room_)).forEach((s=>{D.debug("[".concat(this._clientId,"] user offline timeout, emit user offline ").concat(s.uid)),this._handleUserOffline({uid:s.uid})})))}),3e3),this._streamRemovedTimeout=window.setTimeout((()=>{this.connectionState==="CONNECTED"&&(this._streamRemovedTimeout=void 0,this._users.forEach((s=>{s._trust_audio_mute_state_||(D.debug("[".concat(this._clientId,"] auto dispatch audio unmute event ").concat(s.uid)),this._handleMuteStream(s.uid,vt.AUDIO,!1)),s._trust_video_mute_state_||(D.debug("[".concat(this._clientId,"] auto dispatch video unmute event ").concat(s.uid)),this._handleMuteStream(s.uid,vt.VIDEO,!1)),s._trust_audio_enabled_state_||(D.debug("[".concat(this._clientId,"] auto dispatch enable local audio ").concat(s.uid)),this._handleSetStreamLocalEnable("audio",s.uid,!0)),s._trust_video_enabled_state_||(D.debug("[".concat(this._clientId,"] auto dispatch enable local video ").concat(s.uid)),this._handleSetStreamLocalEnable("video",s.uid,!0)),s._trust_video_stream_added_state_||(D.debug("[".concat(this._clientId,"] auto dispatch reset video stream added ").concat(s.uid)),this._handleResetAddStream(s,"video")),s._trust_audio_stream_added_state_||(D.debug("[".concat(this._clientId,"] auto dispatch reset audio stream added ").concat(s.uid)),this._handleResetAddStream(s,"audio")),s._video_added_||s._audio_added_||(D.debug("[".concat(this._clientId,"] auto dispatch stream remove ").concat(s.uid)),this._handleRemoveStream({uid:s.uid,uint_id:s._uintid}))})))}),1e3))}i()})),this._gateway.on(Ci.REQUEST_NEW_GATEWAY_LIST,(async(e,t)=>{if(!this._joinInfo)return t(new xe(Q.UNEXPECTED_ERROR,"can not recover, no join info"));try{let n;const r=await VU($a($a({},this._joinInfo),{},{uid:this._joinInfo.uid,stringUid:void 0}));r?(n=r.ap,GU(r),this._joinInfo.preload=!0):(n=await aC(this._joinInfo,this._axiosCancelSource.token,this._config.httpRetryConfig||jr,this.store),this._joinInfo.preload=!1),this._joinInfo&&(this._joinInfo.apResponse=n.gatewayInfo.res,this._joinInfo.gatewayAddrs=n.gatewayInfo.gatewayAddrs,this._joinInfo.uni_lbs_ip=n.gatewayInfo.uni_lbs_ip);const i=[];n.gatewayInfo.gatewayAddrs.forEach((o=>{let{address:s}=o;const[a,c]=s.split(":");this._joinInfo&&this._joinInfo.proxyServer?i.push({proxy:this._joinInfo.proxyServer,host:a,port:c}):i.push({host:a,port:c})})),e(i)}catch(n){t(n)}})),this._gateway.on(Ci.NETWORK_QUALITY,(e=>{this._networkQualitySensitivity==="normal"&&this.safeEmit($t.NETWORK_QUALITY,e)})),this._gateway.on(Ci.STREAM_TYPE_CHANGE,((e,t)=>{this.safeEmit($t.STREAM_TYPE_CHANGED,e,t),mt.reportApiInvoke(this._sessionId,{name:Zr.STREAM_TYPE_CHANGE,options:[e,t],tag:vr.TRACER}).onSuccess(JSON.stringify({uid:e,streamType:t}))})),this._gateway.on(Ci.IS_P2P_DISCONNECTED,(e=>{this._p2pChannel.isP2PDisconnected()?e(!0):this._p2pChannel.hasLocalMedia()||this._p2pChannel.hasRemoteMedia()?e(!1):e(!0)})),this._gateway.on(Ci.REQUEST_P2P_CONNECTION_PARAMS,(async(e,t,n)=>{try{let r=await this._p2pChannel.getEstablishParams();he("ENABLE_PREALLOC_PC")&&r||(r=await this._p2pChannel.startP2PConnection(e)),t(r)}catch(r){n(r)}})),this._gateway.on(Ci.JOIN_RESPONSE,((e,t)=>{if(this.store.useP2P)return;const n=jF(e.ortc,t,e.attributes.userAttributes.preSubSsrcs);this._p2pChannel.connect(n)})),this._gateway.on(Ci.PRE_CONNECT_PC,(async e=>{const{candidates:t,fingerprint:n}=e;if(this._joinInfo&&t.length>0&&!this._p2pChannel.isPlanB){var r;await this._p2pChannel.startP2PConnection({turnServer:this._joinInfo.turnServer});const{cert:i,cid:o}=this._joinInfo.apResponse;await this._p2pChannel.connect({iceParameters:{iceUfrag:"".concat(o,"_").concat(i),icePwd:"".concat(o,"_").concat(i)},dtlsParameters:{fingerprints:[{hashFunction:"sha-256",fingerprint:(r=he("FINGERPRINT"))!==null&&r!==void 0?r:n}]},candidates:t,rtpCapabilities:{send:{audioCodecs:[],videoCodecs:[],audioExtensions:[],videoExtensions:[]},recv:{audioCodecs:[],videoCodecs:[],audioExtensions:[],videoExtensions:[]}},setup:"active",cname:"o/i14u9pJrxRKAsu",preallocation:!0})}}))}_handleGatewaySignalEvents(){this._gateway.signal.on(Kt.ON_USER_ONLINE,this._handleUserOnline),this._gateway.signal.on(Kt.ON_USER_OFFLINE,this._handleUserOffline),this._gateway.signal.on(Kt.ON_ADD_AUDIO_STREAM,(e=>this._handleAddAudioOrVideoStream("audio",e.uid,e.ssrcId,e.cname,e.uint_id,e.ortc))),this._gateway.signal.on(Kt.ON_ADD_VIDEO_STREAM,(e=>this._handleAddAudioOrVideoStream("video",e.uid,e.ssrcId,e.cname,e.uint_id,e.ortc,e.rtxSsrcId))),this._gateway.signal.on(Kt.ON_REMOTE_DATASTREAM_UPDATE,(e=>{this._handleUpdateDataChannel(e)})),this._gateway.signal.on(Kt.ON_REMOTE_FULL_DATASTREAM_INFO,(e=>{this._handleUpdateDataChannel({added:e.datastreams||[],deleted:[]},!0)})),this._gateway.signal.on(Kt.ON_REMOVE_STREAM,this._handleRemoveStream),this._gateway.signal.on(Kt.ON_P2P_LOST,this._handleP2PLost),this._gateway.signal.on(Kt.MUTE_AUDIO,(e=>this._handleMuteStream(e.uid,vt.AUDIO,!0))),this._gateway.signal.on(Kt.UNMUTE_AUDIO,(e=>this._handleMuteStream(e.uid,vt.AUDIO,!1))),this._gateway.signal.on(Kt.MUTE_VIDEO,(e=>this._handleMuteStream(e.uid,vt.VIDEO,!0))),this._gateway.signal.on(Kt.UNMUTE_VIDEO,(e=>this._handleMuteStream(e.uid,vt.VIDEO,!1))),this._gateway.signal.on(Kt.RECEIVE_METADATA,(e=>{const t=H0(e.metadata);this.safeEmit($t.RECEIVE_METADATA,e.uid,t)})),this._gateway.signal.on(Kt.ON_DATA_STREAM,(async e=>{var t;if(!e)return;let n=H0(e.payload);if(this._encryptDataStream&&this._encryptDataStreamIv&&this._encryptDataStreamKey&&window.crypto.subtle&<(t=["aes-128-gcm2","aes-256-gcm2"]).call(t,this._encryptionMode)){if(e.payload.lengtha.uid===e.uid)),s=i==null?void 0:i.audioRecv.find((a=>a.ssrc===(o==null?void 0:o._audioSSRC)));r=s==null?void 0:s.jitterBufferMs}r==null&&(r=0),hFe($a($a({},e),{},{payload:n}),r,{id:this._clientId,onStreamMessage:typeof this.onStreamMessage=="function"?this.onStreamMessage.bind(this):void 0,safeEmit:this.safeEmit.bind(this)})})),this._gateway.signal.on(Kt.ON_CRYPT_ERROR,(()=>{Fd((()=>{D.warning("[".concat(this._clientId,"] on crypt error")),this.safeEmit($t.CRYPT_ERROR)}),this._sessionId)})),this._gateway.signal.on(Kt.ON_TOKEN_PRIVILEGE_WILL_EXPIRE,this._handleTokenWillExpire),this._gateway.signal.on(Kt.ON_TOKEN_PRIVILEGE_DID_EXPIRE,(()=>{D.warning("[".concat(this._clientId,"] received message onTokenPrivilegeDidExpire, please get new token and join again")),this._gateway.leave(!0,Tn.TOKEN_EXPIRE),this.safeEmit($t.ON_TOKEN_PRIVILEGE_DID_EXPIRE),this._reset()})),this._gateway.signal.on(Kt.ON_STREAM_FALLBACK_UPDATE,(e=>{D.debug("[".concat(this._clientId,"] stream fallback peerId: ").concat(e.stream_id,", attr: ").concat(e.stream_type)),this.safeEmit($t.STREAM_FALLBACK,e.stream_id,e.stream_type===1?"fallback":"recover")})),this._gateway.signal.on(Kt.ON_PUBLISH_STREAM,(e=>{this.uid===this._uid&&(this._p2pChannel.reportPublishEvent(!0,null,void 0,!1,JSON.stringify({proxy:e.proxy})),D.info("[".concat(this._clientId,"] on publish stream, ").concat(JSON.stringify(e))))})),this._gateway.signal.on(Kt.ENABLE_LOCAL_VIDEO,(e=>{this._handleSetStreamLocalEnable("video",e.uid,!0)})),this._gateway.signal.on(Kt.DISABLE_LOCAL_VIDEO,(e=>{this._handleSetStreamLocalEnable("video",e.uid,!1)})),this._gateway.signal.on(Nt.REQUEST_TIMEOUT,((e,t)=>{if(this._joinInfo)switch(e){case Dt.PUBLISH:{if(!t)return;const i=t.ortc;if(i){var n,r;const o=i.some((c=>{let{stream_type:l}=c;return l===Sn.Audio})),s=i.some((c=>{let{stream_type:l}=c;return l!==Sn.Audio})),a=i.some((c=>{let{stream_type:l}=c;return l===Sn.Screen||l===Sn.ScreenLow}));t.state==="offer"&&mt.publish(this._joinInfo.sid,{eventElapse:ji.measureFromPublishStart(this.store.clientId,this.store.pubId),succ:!1,ec:Q.TIMEOUT,audio:o,video:s,p2pid:t.p2p_id,publishRequestid:this.store.pubId,screenshare:a,audioName:o?(n=i.find((c=>{let{stream_type:l}=c;return l===Sn.Audio})))===null||n===void 0||(n=n.ssrcs[0])===null||n===void 0?void 0:n.ssrcId.toString():void 0,videoName:s?(r=i.find((c=>{let{stream_type:l}=c;return l!==Sn.Audio})))===null||r===void 0||(r=r.ssrcs[0])===null||r===void 0?void 0:r.ssrcId.toString():void 0})}break}case Dt.SUBSCRIBE:t&&mt.subscribe(this._joinInfo.sid,{succ:!1,ec:Q.TIMEOUT,audio:t.stream_type===vt.AUDIO,video:t.stream_type===vt.VIDEO,peerid:t.stream_id,subscribeRequestid:t.ssrcId,p2pid:this.store.p2pId,eventElapse:ji.measureFromSubscribeStart(this.store.clientId,t.ssrcId),preSsrc:this._p2pChannel.isPreSubScribe(t.ssrcId)})}})),this._gateway.signal.on(Kt.ON_P2P_OK,(e=>{this.uid,this._uid})),this._gateway.signal.on(Kt.ON_PUBLISHED_USER_LIST,(e=>{if(e==null||!e.users)return;he("BLOCK_LOCAL_CLIENT")&&(e.users=e.users.filter((r=>!f0(r.string_id||r.stream_id,this.channelName))));const t=[],n=[];for(const r of e.users){let i=this._users.find((u=>u._uintid===r.stream_id));i?i._trust_in_room_=!0:(i=new md(r.string_id||r.stream_id,r.stream_id),this._users.push(i),this.getListeners($t.PUBLISHED_USER_LIST).length===0&&(D.debug("[".concat(this._clientId,"] user online"),r.stream_id),this.safeEmit($t.USER_JOINED,i)));const o=ti.Audio&r.stream_type,s=(ti.Video|ti.LwoVideo)&r.stream_type,a=(65280&r.stream_type)!=0,c=o&&i.hasAudio,l=s&&i.hasVideo;s&&(i._trust_video_stream_added_state_=!0,i._video_added_=!0,i._videoSSRC=r.video_ssrc,i._rtxSsrcId=r.video_rtx),o&&(i._trust_audio_stream_added_state_=!0,i._audio_added_=!0,i._audioSSRC=r.audio_ssrc),o&&!c&&this.getListeners($t.PUBLISHED_USER_LIST).length===0&&(D.info("[".concat(this._clientId,"] remote user ").concat(i.uid," published audio")),this.safeEmit($t.USER_PUBLISHED,i,"audio")),s&&!l&&this.getListeners($t.PUBLISHED_USER_LIST).length===0&&(D.info("[".concat(this._clientId,"] remote user ").concat(i.uid," published video")),this.safeEmit($t.USER_PUBLISHED,i,"video")),(o&&!c||s&&!l||a)&&t.push(i),s&&this._p2pChannel.hasPendingRemoteMedia(i,"video")&&n.push({user:i,mediaType:"video"}),o&&this._p2pChannel.hasPendingRemoteMedia(i,"audio")&&n.push({user:i,mediaType:"audio"})}n.length>0&&(D.debug("[".concat(this._clientId,"] RE massSubscribe after reconnect ").concat(n.map((r=>"user: ".concat(r.user.uid,", mediaType: ").concat(r.mediaType))).join("; ")," ")),this.massSubscribe(n).catch((r=>{D.error("[".concat(this._clientId,"] mass resubscribe error"),r.toString())}))),this.getListeners($t.PUBLISHED_USER_LIST).length>0?he("ENABLE_DATASTREAM_2")?this._pendingPublishedUsers=t:(D.info("[".concat(this._clientId,"] client emit user-list event, users: ").concat(t.map((r=>r.uid)).join(", "))),this.safeEmit($t.PUBLISHED_USER_LIST,t)):D.info("[".concat(this._clientId,"] client not emit user-list event case there is no user-list listener, users: ").concat(t.map((r=>r.uid)).join(", ")))})),this._gateway.signal.on(Kt.ON_RTP_CAPABILITY_CHANGE,(e=>{const{video_codec:t}=e;this._p2pChannel instanceof w5&&this._p2pChannel.updateRemoteRTPCapabilities(t.map((n=>n.toLowerCase())).filter((n=>{var r;return lt(r=Object.keys(f6)).call(r,n)})))}))}_handleP2PEvents(){this._gateway.signal.on(Kt.ON_USER_OFFLINE,(()=>{this._p2pChannel.disconnectForReconnect()})),this._gateway.signal.on(Cr.PUBLISH,((e,t,n)=>{const{uid:r}=e;e.forEach((i=>{const{kind:o,ssrcs:s,mid:a,isMuted:c}=i;this._handleP2PAddAudioOrVideoStream(o,r,s[0].ssrcId,a);const l=this._users.find((u=>u.uid===r));return l&&this._p2pChannel instanceof rs?this._p2pChannel.mockSubscribe(l,o,s[0].ssrcId,a).then((()=>{t()})).catch(n):t(),this._handleMuteStream(r,o,!!c)}))})),this._gateway.signal.on(Cr.CALL,(async(e,t,n)=>{if(this._p2pChannel instanceof rs)try{var r;t(await this._p2pChannel.startP2P({turnServer:(r=this._joinInfo)===null||r===void 0?void 0:r.turnServer},e))}catch(i){n(i)}})),this._gateway.signal.on(Nt.P2P_CONNECTION,(async e=>{this._p2pChannel instanceof rs&&await this._p2pChannel.p2pConnect(e)})),this._gateway.signal.on(Cr.UNPUBLISH,(async(e,t,n)=>{if(this._p2pChannel instanceof rs){const{unpubMsg:r,uid:i}=e,o=this._users.find((s=>s.uid===i));if(!o)return D.warning("[".concat(this._clientId,"] can not find remote user, ignore mute event, uid: ").concat(i)),void t();try{r.forEach((async s=>{let{stream_type:a}=s;const c=a===Sn.Audio?vt.AUDIO:vt.VIDEO;await this._p2pChannel.unsubscribe(o,c),this._handleMuteStream(i,c,!0)})),t()}catch(s){n(s)}}})),this._gateway.signal.on(Cr.CONTROL,(async(e,t)=>{const{action:n}=e;switch(n){case Sd.MUTE_LOCAL_VIDEO:this._handleMuteStream(t,vt.VIDEO,!0);break;case Sd.MUTE_LOCAL_AUDIO:this._handleMuteStream(t,vt.AUDIO,!0);break;case Sd.UNMUTE_LOCAL_VIDEO:this._handleP2PAddAudioOrVideoStream("video",t),this._handleMuteStream(t,vt.VIDEO,!1);break;case Sd.UNMUTE_LOCAL_AUDIO:this._handleP2PAddAudioOrVideoStream("audio",t),this._handleMuteStream(t,vt.AUDIO,!1)}})),this._gateway.signal.on(Cr.RESTART_ICE,(async(e,t,n)=>{if(this._p2pChannel instanceof rs)try{const{direction:r,iceParameter:i}=e;r!==po.SEND_ONLY||i?t(await this._p2pChannel.restartICE(r,i)):(this._p2pChannel.handleDisconnect(r),t())}catch(r){n(r)}})),this._gateway.signal.on(Cr.CANDIDATE,(e=>{if(this._p2pChannel instanceof rs){const{candidate:t,direction:n}=e;this._p2pChannel.addRemoteCandidate(t,n)}})),this._p2pChannel.on(Ot.RequestP2PRestartICE,(async(e,t,n)=>{try{const{direction:r}=e;t(await this._gateway.sendExtensionMessage(Cr.RESTART_ICE,e,r===po.SEND_ONLY))}catch(r){n(r)}})),this._p2pChannel.on(Ot.LocalCandidate,(e=>{this._gateway.sendExtensionMessage(Cr.CANDIDATE,JSON.stringify(e),!0)})),this._p2pChannel.on(Ot.RequestP2PMuteLocal,(async(e,t,n)=>{try{await this._gateway.sendExtensionMessage(Cr.CONTROL,e,!0),t()}catch(r){n(r)}})),this._p2pChannel.on(Ot.RequestP2PUnmuteRemote,(async(e,t,n)=>{if(this._joinInfo)try{await this._gateway.unmuteRemote(e,this._joinInfo.stringUid||this._joinInfo.uid),t()}catch(r){r.code===Q.DISCONNECT_P2P?t():n(r)}else t()})),this._p2pChannel.on(Ot.RequestP2PMuteRemote,(async(e,t,n)=>{if(this._joinInfo)try{await this._gateway.muteRemote(e,this._joinInfo.stringUid||this._joinInfo.uid),t()}catch(r){r.code===Q.DISCONNECT_P2P?t():n(r)}else t()})),this._p2pChannel.on(Ot.StateChange,((e,t)=>{t===bn.Connected&&this._p2pChannel.republish()}))}_handleP2PChannelEvents(){this._p2pChannel.on(Ot.RequestMuteLocal,(async(e,t,n)=>{if(this._joinInfo)try{await this._gateway.muteLocal(e,this._joinInfo.stringUid||this._joinInfo.uid),t()}catch(r){r.code===Q.DISCONNECT_P2P?t():n(r)}else t()})),this._p2pChannel.on(Ot.RequestUnmuteLocal,(async(e,t,n)=>{if(this._joinInfo)try{await this._gateway.unmuteLocal(e,this._joinInfo.stringUid||this._joinInfo.uid),t()}catch(r){r.code===Q.DISCONNECT_P2P?t():n(r)}else t()})),this._p2pChannel.on(Ot.RequestRePublish,((e,t,n)=>{this.publish(e,!1).then(t).catch(n)})),this._p2pChannel.on(Ot.RequestRePublishDataChannel,((e,t,n)=>{ot.all(e.map((async r=>{const i=await this._p2pChannel.publishDataChannel([r]);try{i.forEach((o=>{this._uid&&this._gateway.publishDataChannel(this._uid,o,!0)}))}catch(o){if(o.code!==Q.DISCONNECT_P2P)throw o}}))).then(t).catch(n)})),this._p2pChannel.on(Ot.RequestReSubscribe,(async(e,t,n)=>{try{for(const{user:r,kind:i}of e)i===vt.VIDEO?await this.subscribe(r,"video"):await this.subscribe(r,"audio");t()}catch(r){n(r)}})),this._p2pChannel.on(Ot.RequestUpload,((e,t)=>{this._gateway.upload(e,t)})),this._p2pChannel.on(Ot.RequestUploadStats,(e=>{this._gateway.uploadWRTCStats(e)})),this._p2pChannel.on(Ot.MediaReconnectStart,(e=>{this.safeEmit($t.MEDIA_RECONNECT_START,e)})),this._p2pChannel.on(Ot.MediaReconnectEnd,(e=>{this.safeEmit($t.MEDIA_RECONNECT_END,e)})),this._p2pChannel.on(Ot.NeedSignalRTT,(e=>{e(this._gateway.getSignalRTT())})),this._p2pChannel.on(Ot.RequestRestartICE,(async e=>{if(this._p2pChannel instanceof rs)return;const t=await this._p2pChannel.restartICE(e),n=await t.next();if(n.done)return;const r=n.value;let i;try{i=await this._gateway.restartICE({iceParameters:r})}catch(s){return void t.throw(s)}const{iceParameters:o}=(function(s){const a=s.iceParameters;return{iceParameters:{iceUfrag:a.iceUfrag,icePwd:a.icePwd}}})(i);await t.next({remoteIceParameters:o})})),this._p2pChannel.on(Ot.RequestReconnect,(async()=>{this._gateway.reconnect()})),this._p2pChannel.on(Ot.RequestReconnectPC,(async()=>{var e;const{iceParameters:t,dtlsParameters:n,rtpCapabilities:r}=await this._p2pChannel.startP2PConnection({turnServer:(e=this._joinInfo)===null||e===void 0?void 0:e.turnServer}),{gatewayEstablishParams:i,gatewayAddress:o}=await this._gateway.reconnectPC({iceParameters:t,dtlsParameters:n,rtpCapabilities:r}),s=jF(i,o);await this._p2pChannel.connect(s),await this._p2pChannel.republish(),await this._p2pChannel.reSubscribe()})),this._p2pChannel.on(Ot.RequestUnpublishForReconnectPC,(async(e,t,n)=>{this._joinInfo&&this._uid!==void 0?(await this._gateway.unpublish(e,this._uid),t()):n()})),this._p2pChannel.on(Ot.P2PLost,(()=>{this.safeEmit($t.P2P_LOST,this.store.uid)})),this._p2pChannel.on(Ot.UpdateVideoEncoder,(e=>{e._encoderConfig&&this._gateway.setVideoProfile(e._encoderConfig)})),this._p2pChannel.on(Ot.ConnectionTypeChange,(e=>{this.safeEmit($t.IS_USING_CLOUD_PROXY,e)})),this._p2pChannel.on(Ot.RequestLowStreamParameter,(e=>{e(this._lowStreamParameter||{width:160,height:120,framerate:15,bitrate:50})})),this._p2pChannel.on(Ot.QueryClientConnectionState,(e=>{e(this.connectionState)}))}getKeyMetrics(){return this.store.keyMetrics}async enableContentInspect(e){if(!this._joinInfo||this.connectionState!=="CONNECTED")throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] can not create content inspect, please join channel first"));if(this._inspect)throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] Inspect content service already in connecting/connected state"));try{const n=(t={config:e},G1("ContentInspect").create(t));this._inspect=n,this.handleVideoInspectEvents(n);const{appId:r,cname:i,sid:o,token:s,uid:a,cid:c,vid:l}=this._joinInfo;await n.init({appId:r,areaCode:"",cname:i,sid:o,token:s,uid:a,cid:c,vid:l?Number(l):0},jr)}catch(n){throw Array.isArray(n)?n[0]:n}var t}handleVideoInspectEvents(e){e.on(ci.CONNECTION_STATE_CHANGE,((t,n)=>{if(this.safeEmit($t.CONTENT_INSPECT_CONNECTION_STATE_CHANGE,t,n),n===ba.CONNECTED){if(this.connectionState!=="CONNECTED")return void this.safeEmit($t.CONTENT_INSPECT_ERROR,new xe(Q.OPERATION_ABORTED,"Content inspect was cancelled because it left the channel"));e.inspectImage()}})),e.on(ci.INSPECT_RESULT,((t,n)=>{var r;if((n==null?void 0:n.code)===Q.INVALID_OPERATION&&this.connectionState==="DISCONNECTED")return D.debug("Stop inspect content because that has left channel"),this==null||(r=this._inspect)===null||r===void 0||r.close(),void(this._inspect=void 0);this.safeEmit($t.CONTENT_INSPECT_RESULT,t,n)})),e.on(ci.CLIENT_LOCAL_VIDEO_TRACK,(t=>{t(this.localTracks.filter((n=>n.trackMediaType==="video"))[0])}))}async disableContentInspect(){if(!this._inspect)throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] inspectVideoContent not started"));try{this._inspect.close(),this._inspect=void 0}catch(e){throw Array.isArray(e)?e[0]:e}}async setImageModeration(e,t){if(nu(e,"enabled"),e){if(!t)throw new xe(Q.INVALID_PARAMS,"config is required");if(j$(t),!this._joinInfo)throw new xe(Q.INVALID_OPERATION,"can not create image moderation, please join channel first");try{if(this._moderation)this._moderation.updateConfig(t);else{const r=(n={config:t},G1("ImageModeration").create(n));this._moderation=r,this.handleImageModerationEvents(r);const{appId:i,cname:o,sid:s,token:a,uid:c,cid:l,vid:u}=this._joinInfo;await r.init({appId:i,areaCode:"",cname:o,sid:s,token:a,uid:c,cid:l,vid:u?Number(u):0},jr)}}catch(r){throw Array.isArray(r)?r[0]:r}}else{var n;if(!this._moderation)throw new xe(Q.INVALID_OPERATION,"[".concat(this._clientId,"] image moderation not started"));try{this._moderation.close(),this._moderation.removeAllListeners(),this._moderation=void 0}catch(r){throw Array.isArray(r)?r[0]:r}}}handleImageModerationEvents(e){e.on(Ka.CONNECTION_STATE_CHANGE,((t,n)=>{if(this.safeEmit($t.IMAGE_MODERATION_CONNECTION_STATE_CHANGE,t,n),t===Xs.CONNECTED){if(this.connectionState!=="CONNECTED")throw this.setImageModeration(!1),new xe(Q.OPERATION_ABORTED,"Image moderation was cancelled because it left the channel");e.inspectImage()}})),e.on(Ka.CLIENT_LOCAL_VIDEO_TRACK,(t=>{t(this.localTracks.filter((n=>n.trackMediaType==="video"))[0])}))}setP2PTransport(e){if((function(t){Kr(t,"transport",["default","auto","relay","sd-rtn"])})(e),this.mode!=="p2p")throw new xe(Q.INVALID_OPERATION,"only p2p mode can set p2pTransport");this.store.p2pTransport=e,D.info("[".concat(this._clientId,"] set client p2pTransport to ").concat(e))}getJoinChannelServiceRecords(){return D.debug("getJoinChannelServiceRecords"),this.store.joinChannelServiceRecords}async setPublishAudioFilterEnabled(e){nu(e,"enabled"),Dn("ENABLE_PUBLISH_AUDIO_FILTER",e),this._joinInfo&&await this._gateway.setPublishAudioFilterEnabled(e)}_handleResetAddStream(e,t){switch(t){case"audio":e._audio_added_=!1,e._trust_audio_stream_added_state_=!0;break;case"video":e._video_added_=!1,e._trust_video_stream_added_state_=!0}}},ft(at.prototype,"leave",[ej],Object.getOwnPropertyDescriptor(at.prototype,"leave"),at.prototype),ft(at.prototype,"publish",[tj],Object.getOwnPropertyDescriptor(at.prototype,"publish"),at.prototype),ft(at.prototype,"unpublish",[nj],Object.getOwnPropertyDescriptor(at.prototype,"unpublish"),at.prototype),ft(at.prototype,"subscribe",[rj],Object.getOwnPropertyDescriptor(at.prototype,"subscribe"),at.prototype),ft(at.prototype,"presubscribe",[ij],Object.getOwnPropertyDescriptor(at.prototype,"presubscribe"),at.prototype),ft(at.prototype,"massSubscribe",[oj],Object.getOwnPropertyDescriptor(at.prototype,"massSubscribe"),at.prototype),ft(at.prototype,"unsubscribe",[sj],Object.getOwnPropertyDescriptor(at.prototype,"unsubscribe"),at.prototype),ft(at.prototype,"massUnsubscribe",[aj],Object.getOwnPropertyDescriptor(at.prototype,"massUnsubscribe"),at.prototype),ft(at.prototype,"setLowStreamParameter",[cj],Object.getOwnPropertyDescriptor(at.prototype,"setLowStreamParameter"),at.prototype),ft(at.prototype,"enableDualStream",[lj],Object.getOwnPropertyDescriptor(at.prototype,"enableDualStream"),at.prototype),ft(at.prototype,"disableDualStream",[uj],Object.getOwnPropertyDescriptor(at.prototype,"disableDualStream"),at.prototype),ft(at.prototype,"setClientRole",[dj],Object.getOwnPropertyDescriptor(at.prototype,"setClientRole"),at.prototype),ft(at.prototype,"setProxyServer",[fj],Object.getOwnPropertyDescriptor(at.prototype,"setProxyServer"),at.prototype),ft(at.prototype,"setTurnServer",[hj],Object.getOwnPropertyDescriptor(at.prototype,"setTurnServer"),at.prototype),ft(at.prototype,"setLicense",[pj],Object.getOwnPropertyDescriptor(at.prototype,"setLicense"),at.prototype),ft(at.prototype,"startProxyServer",[mj],Object.getOwnPropertyDescriptor(at.prototype,"startProxyServer"),at.prototype),ft(at.prototype,"stopProxyServer",[gj],Object.getOwnPropertyDescriptor(at.prototype,"stopProxyServer"),at.prototype),ft(at.prototype,"setLocalAccessPointsV2",[vj],Object.getOwnPropertyDescriptor(at.prototype,"setLocalAccessPointsV2"),at.prototype),ft(at.prototype,"setLocalAccessPoints",[yj],Object.getOwnPropertyDescriptor(at.prototype,"setLocalAccessPoints"),at.prototype),ft(at.prototype,"setRemoteDefaultVideoStreamType",[Ej],Object.getOwnPropertyDescriptor(at.prototype,"setRemoteDefaultVideoStreamType"),at.prototype),ft(at.prototype,"setRemoteVideoStreamType",[bj],Object.getOwnPropertyDescriptor(at.prototype,"setRemoteVideoStreamType"),at.prototype),ft(at.prototype,"setStreamFallbackOption",[Sj],Object.getOwnPropertyDescriptor(at.prototype,"setStreamFallbackOption"),at.prototype),ft(at.prototype,"setEncryptionConfig",[Aj],Object.getOwnPropertyDescriptor(at.prototype,"setEncryptionConfig"),at.prototype),ft(at.prototype,"renewToken",[Cj],Object.getOwnPropertyDescriptor(at.prototype,"renewToken"),at.prototype),ft(at.prototype,"enableAudioVolumeIndicator",[wj],Object.getOwnPropertyDescriptor(at.prototype,"enableAudioVolumeIndicator"),at.prototype),ft(at.prototype,"startLiveStreaming",[Tj],Object.getOwnPropertyDescriptor(at.prototype,"startLiveStreaming"),at.prototype),ft(at.prototype,"setLiveTranscoding",[Ij],Object.getOwnPropertyDescriptor(at.prototype,"setLiveTranscoding"),at.prototype),ft(at.prototype,"stopLiveStreaming",[Pj],Object.getOwnPropertyDescriptor(at.prototype,"stopLiveStreaming"),at.prototype),ft(at.prototype,"startChannelMediaRelay",[Oj],Object.getOwnPropertyDescriptor(at.prototype,"startChannelMediaRelay"),at.prototype),ft(at.prototype,"updateChannelMediaRelay",[_j],Object.getOwnPropertyDescriptor(at.prototype,"updateChannelMediaRelay"),at.prototype),ft(at.prototype,"stopChannelMediaRelay",[Rj],Object.getOwnPropertyDescriptor(at.prototype,"stopChannelMediaRelay"),at.prototype),ft(at.prototype,"sendCustomReportMessage",[kj],Object.getOwnPropertyDescriptor(at.prototype,"sendCustomReportMessage"),at.prototype),ft(at.prototype,"pickSVCLayer",[xj],Object.getOwnPropertyDescriptor(at.prototype,"pickSVCLayer"),at.prototype),ft(at.prototype,"setRTMConfig",[Dj],Object.getOwnPropertyDescriptor(at.prototype,"setRTMConfig"),at.prototype),ft(at.prototype,"enableContentInspect",[Lj],Object.getOwnPropertyDescriptor(at.prototype,"enableContentInspect"),at.prototype),ft(at.prototype,"disableContentInspect",[Nj],Object.getOwnPropertyDescriptor(at.prototype,"disableContentInspect"),at.prototype),ft(at.prototype,"setImageModeration",[Mj],Object.getOwnPropertyDescriptor(at.prototype,"setImageModeration"),at.prototype),ft(at.prototype,"setP2PTransport",[Bj],Object.getOwnPropertyDescriptor(at.prototype,"setP2PTransport"),at.prototype),ft(at.prototype,"getJoinChannelServiceRecords",[Fj],Object.getOwnPropertyDescriptor(at.prototype,"getJoinChannelServiceRecords"),at.prototype),ft(at.prototype,"setPublishAudioFilterEnabled",[Uj],Object.getOwnPropertyDescriptor(at.prototype,"setPublishAudioFilterEnabled"),at.prototype),at);class Eg{constructor(t,n){H(this,"id",0),H(this,"element",void 0),H(this,"peerPair",void 0),H(this,"context",void 0),H(this,"audioPlayerElement",void 0),H(this,"audioTrack",void 0),Eg.count+=1,this.id=Eg.count,this.element=t,this.context=n}initPeers(){this.peerPair=[new RTCPeerConnection,new RTCPeerConnection],this.peerPair[1].ontrack=t=>{const n=document.createElement("audio");n.srcObject=new MediaStream([t.track]),n.play(),this.audioPlayerElement=n}}async switchSdp(){if(!this.peerPair)return;const t=async(r,i)=>{const o=i==="offer"?await r.createOffer():await r.createAnswer();return await r.setLocalDescription(o),r.iceGatheringState==="complete"?r.localDescription:new ot((s=>{r.onicegatheringstatechange=()=>{r.iceGatheringState==="complete"&&s(r.localDescription)}}))},n=async(r,i)=>await r.setRemoteDescription(i);try{const r=await t(this.peerPair[0],"offer");await n(this.peerPair[1],r);const i=await t(this.peerPair[1],"answer");await n(this.peerPair[0],i)}catch(r){throw new xe(Q.LOCAL_AEC_ERROR,r.toString()).print()}}async getTracksFromMediaElement(t){if(this.audioTrack)return this.audioTrack;let n;try{t instanceof HTMLVideoElement&&(t.captureStream?t.captureStream():t.mozCaptureStream()),n=this.context.createMediaStreamDestination(),this.context.createMediaElementSource(t).connect(n)}catch(i){throw new xe(Q.LOCAL_AEC_ERROR,i.toString()).print()}if(!n)throw new xe(Q.LOCAL_AEC_ERROR,"no dest node when local aec").print();const r=n.stream.getAudioTracks()[0];return this.audioTrack=r,r}getElement(){return this.element}async startEchoCancellation(){this.context.resume(),this.peerPair&&this.close(),this.initPeers();const t=this.element,n=await this.getTracksFromMediaElement(t);this.peerPair&&this.peerPair[0].addTrack(n),await this.switchSdp()}close(){D.debug("close echo cancellation unit, id is",this.id),this.audioPlayerElement&&this.audioPlayerElement.pause(),this.peerPair&&this.peerPair.forEach((t=>{t.close()})),this.peerPair=void 0,this.audioPlayerElement=void 0}}var Hj,I5;H(Eg,"count",0);const RFe=window.AudioContext||window.webkitAudioContext,kFe=new(Hj=Pt({report:mt}),ft((I5=class{constructor(){H(this,"units",[]),H(this,"context",void 0)}processExternalMediaAEC(e){if(!this._doesEnvironmentNeedAEC())return D.debug("the system does not need to process local aec"),-1;this.context||(this.context=new RFe);let t=this.units.find((n=>n&&n.getElement()===e));return t||(t=new Eg(e,this.context),this.units.push(t)),t.startEchoCancellation(),D.debug("start processing local audio echo cancellation, id is",t.id),t.id}_doesEnvironmentNeedAEC(){return an().name!==An.SAFARI}}).prototype,"processExternalMediaAEC",[Hj],Object.getOwnPropertyDescriptor(I5.prototype,"processExternalMediaAEC"),I5.prototype),I5);function zj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function Wj(e){for(var t=1;t1&&arguments[1]!==void 0&&arguments[1];if(!IE)return;const n=Tr._cspEventHandlerPointer;if(n&&t)return void console.error(n,t);const r=i=>{if(!(i&&i.blockedURI&&(Tr.onSecurityPolicyViolation||Tr.getListeners(Jc.SECURITY_POLICY_VIOLATION).length>0)))return;const o=i.blockedURI;he("CSP_DETECTED_HOSTNAME_LIST").some((s=>lt(o).call(o,s)))&&(Tr.onSecurityPolicyViolation&&typeof Tr.onSecurityPolicyViolation=="function"&&Tr.onSecurityPolicyViolation(i),Tr.getListeners(Jc.SECURITY_POLICY_VIOLATION).length>0&&Tr.safeEmit(Jc.SECURITY_POLICY_VIOLATION,i))};n&&IE.removeEventListener("securitypolicyviolation",n),(t||e&&typeof e=="function"||Tr.getListeners(Jc.SECURITY_POLICY_VIOLATION).length>0)&&IE.addEventListener("securitypolicyviolation",r),Tr._cspEventHandlerPointer=r}var xFe=Co,DFe=JK,Vj=RegExp.prototype,LFe=function(e){return e===Vj||xFe(Vj,e)?DFe(e):e.flags},io=kr(LFe);function t1(e){let t=e.length;for(;--t>=0;)e[t]=0}const DI=256,z$=286,Am=30,Cm=15,hC=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),R3=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),NFe=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Gj=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ql=new Array(576);t1(ql);const wm=new Array(60);t1(wm);const bg=new Array(512);t1(bg);const Sg=new Array(256);t1(Sg);const LI=new Array(29);t1(LI);const M4=new Array(Am);function PE(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}let Jj,Zj,Yj;function OE(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}t1(M4);const W$=e=>e<256?bg[e]:bg[256+(e>>>7)],Ag=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},_s=(e,t,n)=>{e.bi_valid>16-n?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<{_s(e,n[2*t],n[2*t+1])},V$=(e,t)=>{let n=0;do n|=1&e,e>>>=1,n<<=1;while(--t>0);return n>>>1},G$=(e,t,n)=>{const r=new Array(16);let i,o,s=0;for(i=1;i<=Cm;i++)s=s+n[i-1]<<1,r[i]=s;for(o=0;o<=t;o++){let a=e[2*o+1];a!==0&&(e[2*o]=V$(r[a]++,a))}},J$=e=>{let t;for(t=0;t{e.bi_valid>8?Ag(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Xj=(e,t,n,r)=>{const i=2*t,o=2*n;return e[i]{const r=e.heap[n];let i=n<<1;for(;i<=e.heap_len&&(i{let r,i,o,s,a=0;if(e.sym_next!==0)do r=255&e.pending_buf[e.sym_buf+a++],r+=(255&e.pending_buf[e.sym_buf+a++])<<8,i=e.pending_buf[e.sym_buf+a++],r===0?Zc(e,i,t):(o=Sg[i],Zc(e,o+DI+1,t),s=hC[o],s!==0&&(i-=LI[o],_s(e,i,s)),r--,o=W$(r),Zc(e,o,n),s=R3[o],s!==0&&(r-=M4[o],_s(e,r,s)));while(a{const n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,o=t.stat_desc.elems;let s,a,c,l=-1;for(e.heap_len=0,e.heap_max=573,s=0;s>1;s>=1;s--)_E(e,n,s);c=o;do s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],_E(e,n,1),a=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=a,n[2*c]=n[2*s]+n[2*a],e.depth[c]=(e.depth[s]>=e.depth[a]?e.depth[s]:e.depth[a])+1,n[2*s+1]=n[2*a+1]=c,e.heap[1]=c++,_E(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((u,d)=>{const f=d.dyn_tree,h=d.max_code,p=d.stat_desc.static_tree,g=d.stat_desc.has_stree,m=d.stat_desc.extra_bits,y=d.stat_desc.extra_base,v=d.stat_desc.max_length;let E,b,S,w,C,_,I=0;for(w=0;w<=Cm;w++)u.bl_count[w]=0;for(f[2*u.heap[u.heap_max]+1]=0,E=u.heap_max+1;E<573;E++)b=u.heap[E],w=f[2*f[2*b+1]+1]+1,w>v&&(w=v,I++),f[2*b+1]=w,b>h||(u.bl_count[w]++,C=0,b>=y&&(C=m[b-y]),_=f[2*b],u.opt_len+=_*(w+C),g&&(u.static_len+=_*(p[2*b+1]+C)));if(I!==0){do{for(w=v-1;u.bl_count[w]===0;)w--;u.bl_count[w]--,u.bl_count[w+1]+=2,u.bl_count[v]--,I-=2}while(I>0);for(w=v;w!==0;w--)for(b=u.bl_count[w];b!==0;)S=u.heap[--E],S>h||(f[2*S+1]!==w&&(u.opt_len+=(w-f[2*S+1])*f[2*S],f[2*S+1]=w),b--)}})(e,t),G$(n,l,e.bl_count)},Kj=(e,t,n)=>{let r,i,o=-1,s=t[1],a=0,c=7,l=4;for(s===0&&(c=138,l=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=t[2*(r+1)+1],++a{let r,i,o=-1,s=t[1],a=0,c=7,l=4;for(s===0&&(c=138,l=3),r=0;r<=n;r++)if(i=s,s=t[2*(r+1)+1],!(++a{_s(e,0+(r?1:0),3),Z$(e),Ag(e,n),Ag(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n};var MFe=e=>{$j||((()=>{let t,n,r,i,o;const s=new Array(16);for(r=0,i=0;i<28;i++)for(LI[i]=r,t=0;t<1<>=7;i{let i,o,s=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=(a=>{let c,l=4093624447;for(c=0;c<=31;c++,l>>>=1)if(1&l&&a.dyn_ltree[2*c]!==0)return 0;if(a.dyn_ltree[18]!==0||a.dyn_ltree[20]!==0||a.dyn_ltree[26]!==0)return 1;for(c=32;c{let c;for(Kj(a,a.dyn_ltree,a.l_desc.max_code),Kj(a,a.dyn_dtree,a.d_desc.max_code),RE(a,a.bl_desc),c=18;c>=3&&a.bl_tree[2*Gj[c]+1]===0;c--);return a.opt_len+=3*(c+1)+5+5+4,c})(e),i=e.opt_len+3+7>>>3,o=e.static_len+3+7>>>3,o<=i&&(i=o)):i=o=n+5,n+4<=i&&t!==-1?Y$(e,t,n,r):e.strategy===4||o===i?(_s(e,2+(r?1:0),3),Qj(e,ql,wm)):(_s(e,4+(r?1:0),3),((a,c,l,u)=>{let d;for(_s(a,c-257,5),_s(a,l-1,5),_s(a,u-4,4),d=0;d(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,t===0?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(Sg[n]+DI+1)]++,e.dyn_dtree[2*W$(t)]++),e.sym_next===e.sym_end),UFe=e=>{_s(e,2,3),Zc(e,256,ql),(t=>{t.bi_valid===16?(Ag(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(e)},jFe={_tr_init:MFe,_tr_stored_block:Y$,_tr_flush_block:BFe,_tr_tally:FFe,_tr_align:UFe},Cg=(e,t,n,r)=>{let i=65535&e|0,o=e>>>16&65535|0,s=0;for(;n!==0;){s=n>2e3?2e3:n,n-=s;do i=i+t[r++]|0,o=o+i|0;while(--s);i%=65521,o%=65521}return i|o<<16|0};const HFe=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t})());var ho=(e,t,n,r)=>{const i=HFe,o=r+n;e^=-1;for(let s=r;s>>8^i[255&(e^t[s])];return-1^e},gf={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},v6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:zFe,_tr_stored_block:pC,_tr_flush_block:WFe,_tr_tally:Rd,_tr_align:VFe}=jFe,{Z_NO_FLUSH:kd,Z_PARTIAL_FLUSH:GFe,Z_FULL_FLUSH:JFe,Z_FINISH:Pa,Z_BLOCK:eH,Z_OK:To,Z_STREAM_END:tH,Z_STREAM_ERROR:ol,Z_DATA_ERROR:ZFe,Z_BUF_ERROR:kE,Z_DEFAULT_COMPRESSION:YFe,Z_FILTERED:XFe,Z_HUFFMAN_ONLY:P5,Z_RLE:QFe,Z_FIXED:KFe,Z_DEFAULT_STRATEGY:qFe,Z_UNKNOWN:$Fe,Z_DEFLATED:y6}=v6,mC=286,eUe=30,tUe=19,nUe=2*mC+1,rUe=15,W0=258,sl=262,Ip=42,V0=113,Z1=666,G0=(e,t)=>(e.msg=gf[t],t),nH=e=>2*e-(e>4?9:0),gd=e=>{let t=e.length;for(;--t>=0;)e[t]=0},iUe=e=>{let t,n,r,i=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=i?n-i:0;while(--t);t=i,r=t;do n=e.prev[--r],e.prev[r]=n>=i?n-i:0;while(--t)};let xd=(e,t,n)=>(t<{const t=e.state;let n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},$s=(e,t)=>{WFe(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ks(e.strm)},br=(e,t)=>{e.pending_buf[e.pending++]=t},I1=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},gC=(e,t,n,r)=>{let i=e.avail_in;return i>r&&(i=r),i===0?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),e.state.wrap===1?e.adler=Cg(e.adler,t,i,n):e.state.wrap===2&&(e.adler=ho(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},X$=(e,t)=>{let n,r,i=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match;const c=e.strstart>e.w_size-sl?e.strstart-(e.w_size-sl):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+W0;let h=l[o+s-1],p=l[o+s];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do if(n=t,l[n+s]===p&&l[n+s-1]===h&&l[n]===l[o]&&l[++n]===l[o+1]){o+=2,n++;do;while(l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&l[++o]===l[++n]&&os){if(e.match_start=t,s=r,r>=a)break;h=l[o+s-1],p=l[o+s]}}while((t=d[t&u])>c&&--i!=0);return s<=e.lookahead?s:e.lookahead},Pp=e=>{const t=e.w_size;let n,r,i;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-sl)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),iUe(e),r+=t),e.strm.avail_in===0)break;if(n=gC(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=xd(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=xd(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead{let n,r,i,o=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,s=0,a=e.strm.avail_in;do{if(n=65535,i=e.bi_valid+42>>3,e.strm.avail_outr+e.strm.avail_in&&(n=r+e.strm.avail_in),n>i&&(n=i),n>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,Ks(e.strm),r&&(r>n&&(r=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,n-=r),n&&(gC(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(s===0);return a-=e.strm.avail_in,a&&(a>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=a&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-a,e.strm.next_in),e.strstart),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.block_start=e.strstart),e.high_wateri&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,i+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),i>e.strm.avail_in&&(i=e.strm.avail_in),i&&(gC(e.strm,e.window,e.strstart,i),e.strstart+=i,e.insert+=i>e.w_size-e.insert?e.w_size-e.insert:i),e.high_water>3,i=e.pending_buf_size-i>65535?65535:e.pending_buf_size-i,o=i>e.w_size?e.w_size:i,r=e.strstart-e.block_start,(r>=o||(r||t===Pa)&&t!==kd&&e.strm.avail_in===0&&r<=i)&&(n=r>i?i:r,s=t===Pa&&e.strm.avail_in===0&&n===r?1:0,pC(e,e.block_start,n,s),e.block_start+=n,Ks(e.strm)),s?3:1)},xE=(e,t)=>{let n,r;for(;;){if(e.lookahead=3&&(e.ins_h=xd(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-sl&&(e.match_length=X$(e,n)),e.match_length>=3)if(r=Rd(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do e.strstart++,e.ins_h=xd(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!=0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=xd(e,e.ins_h,e.window[e.strstart+1]);else r=Rd(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&($s(e,!1),e.strm.avail_out===0))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Pa?($s(e,!0),e.strm.avail_out===0?3:4):e.sym_next&&($s(e,!1),e.strm.avail_out===0)?1:2},ih=(e,t)=>{let n,r,i;for(;;){if(e.lookahead=3&&(e.ins_h=xd(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,n!==0&&e.prev_length4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,r=Rd(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=xd(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!=0);if(e.match_available=0,e.match_length=2,e.strstart++,r&&($s(e,!1),e.strm.avail_out===0))return 1}else if(e.match_available){if(r=Rd(e,0,e.window[e.strstart-1]),r&&$s(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Rd(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Pa?($s(e,!0),e.strm.avail_out===0?3:4):e.sym_next&&($s(e,!1),e.strm.avail_out===0)?1:2};function Bc(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}const Y1=[new Bc(0,0,0,0,Q$),new Bc(4,4,8,4,xE),new Bc(4,5,16,8,xE),new Bc(4,6,32,32,xE),new Bc(4,4,16,16,ih),new Bc(8,16,32,32,ih),new Bc(8,16,128,128,ih),new Bc(8,32,128,256,ih),new Bc(32,128,258,1024,ih),new Bc(32,258,258,4096,ih)];function oUe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=y6,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(2*nUe),this.dyn_dtree=new Uint16Array(2*(2*eUe+1)),this.bl_tree=new Uint16Array(2*(2*tUe+1)),gd(this.dyn_ltree),gd(this.dyn_dtree),gd(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(rUe+1),this.heap=new Uint16Array(2*mC+1),gd(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*mC+1),gd(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const wg=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==Ip&&t.status!==57&&t.status!==69&&t.status!==73&&t.status!==91&&t.status!==103&&t.status!==V0&&t.status!==Z1?1:0},K$=e=>{if(wg(e))return G0(e,ol);e.total_in=e.total_out=0,e.data_type=$Fe;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?57:t.wrap?Ip:V0,e.adler=t.wrap===2?0:1,t.last_flush=-2,zFe(t),To},q$=e=>{const t=K$(e);return t===To&&(n=>{n.window_size=2*n.w_size,gd(n.head),n.max_lazy_match=Y1[n.level].max_lazy,n.good_match=Y1[n.level].good_length,n.nice_match=Y1[n.level].nice_length,n.max_chain_length=Y1[n.level].max_chain,n.strstart=0,n.block_start=0,n.lookahead=0,n.insert=0,n.match_length=n.prev_length=2,n.match_available=0,n.ins_h=0})(e.state),t},rH=(e,t,n,r,i,o)=>{if(!e)return ol;let s=1;if(t===YFe&&(t=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),i<1||i>9||n!==y6||r<8||r>15||t<0||t>9||o<0||o>KFe||r===8&&s!==1)return G0(e,ol);r===8&&(r=9);const a=new oUe;return e.state=a,a.strm=e,a.status=Ip,a.wrap=s,a.gzhead=null,a.w_bits=r,a.w_size=1<{if(wg(e)||t>eH||t<0)return e?G0(e,ol):ol;const n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===Z1&&t!==Pa)return G0(e,e.avail_out===0?kE:ol);const r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(Ks(e),e.avail_out===0)return n.last_flush=-1,To}else if(e.avail_in===0&&nH(t)<=nH(r)&&t!==Pa)return G0(e,kE);if(n.status===Z1&&e.avail_in!==0)return G0(e,kE);if(n.status===Ip&&n.wrap===0&&(n.status=V0),n.status===Ip){let i=y6+(n.w_bits-8<<4)<<8,o=-1;if(o=n.strategy>=P5||n.level<2?0:n.level<6?1:n.level===6?2:3,i|=o<<6,n.strstart!==0&&(i|=32),i+=31-i%31,I1(n,i),n.strstart!==0&&(I1(n,e.adler>>>16),I1(n,65535&e.adler)),e.adler=1,n.status=V0,Ks(e),n.pending!==0)return n.last_flush=-1,To}if(n.status===57){if(e.adler=0,br(n,31),br(n,139),br(n,8),n.gzhead)br(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),br(n,255&n.gzhead.time),br(n,n.gzhead.time>>8&255),br(n,n.gzhead.time>>16&255),br(n,n.gzhead.time>>24&255),br(n,n.level===9?2:n.strategy>=P5||n.level<2?4:0),br(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(br(n,255&n.gzhead.extra.length),br(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=ho(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69;else if(br(n,0),br(n,0),br(n,0),br(n,0),br(n,0),br(n,n.level===9?2:n.strategy>=P5||n.level<2?4:0),br(n,3),n.status=V0,Ks(e),n.pending!==0)return n.last_flush=-1,To}if(n.status===69){if(n.gzhead.extra){let i=n.pending,o=(65535&n.gzhead.extra.length)-n.gzindex;for(;n.pending+o>n.pending_buf_size;){let a=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+a),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>i&&(e.adler=ho(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex+=a,Ks(e),n.pending!==0)return n.last_flush=-1,To;i=0,o-=a}let s=new Uint8Array(n.gzhead.extra);n.pending_buf.set(s.subarray(n.gzindex,n.gzindex+o),n.pending),n.pending+=o,n.gzhead.hcrc&&n.pending>i&&(e.adler=ho(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex=0}n.status=73}if(n.status===73){if(n.gzhead.name){let i,o=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>o&&(e.adler=ho(e.adler,n.pending_buf,n.pending-o,o)),Ks(e),n.pending!==0)return n.last_flush=-1,To;o=0}i=n.gzindexo&&(e.adler=ho(e.adler,n.pending_buf,n.pending-o,o)),n.gzindex=0}n.status=91}if(n.status===91){if(n.gzhead.comment){let i,o=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>o&&(e.adler=ho(e.adler,n.pending_buf,n.pending-o,o)),Ks(e),n.pending!==0)return n.last_flush=-1,To;o=0}i=n.gzindexo&&(e.adler=ho(e.adler,n.pending_buf,n.pending-o,o))}n.status=103}if(n.status===103){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(Ks(e),n.pending!==0))return n.last_flush=-1,To;br(n,255&e.adler),br(n,e.adler>>8&255),e.adler=0}if(n.status=V0,Ks(e),n.pending!==0)return n.last_flush=-1,To}if(e.avail_in!==0||n.lookahead!==0||t!==kd&&n.status!==Z1){let i=n.level===0?Q$(n,t):n.strategy===P5?((o,s)=>{let a;for(;;){if(o.lookahead===0&&(Pp(o),o.lookahead===0)){if(s===kd)return 1;break}if(o.match_length=0,a=Rd(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++,a&&($s(o,!1),o.strm.avail_out===0))return 1}return o.insert=0,s===Pa?($s(o,!0),o.strm.avail_out===0?3:4):o.sym_next&&($s(o,!1),o.strm.avail_out===0)?1:2})(n,t):n.strategy===QFe?((o,s)=>{let a,c,l,u;const d=o.window;for(;;){if(o.lookahead<=W0){if(Pp(o),o.lookahead<=W0&&s===kd)return 1;if(o.lookahead===0)break}if(o.match_length=0,o.lookahead>=3&&o.strstart>0&&(l=o.strstart-1,c=d[l],c===d[++l]&&c===d[++l]&&c===d[++l])){u=o.strstart+W0;do;while(c===d[++l]&&c===d[++l]&&c===d[++l]&&c===d[++l]&&c===d[++l]&&c===d[++l]&&c===d[++l]&&c===d[++l]&&lo.lookahead&&(o.match_length=o.lookahead)}if(o.match_length>=3?(a=Rd(o,1,o.match_length-3),o.lookahead-=o.match_length,o.strstart+=o.match_length,o.match_length=0):(a=Rd(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++),a&&($s(o,!1),o.strm.avail_out===0))return 1}return o.insert=0,s===Pa?($s(o,!0),o.strm.avail_out===0?3:4):o.sym_next&&($s(o,!1),o.strm.avail_out===0)?1:2})(n,t):Y1[n.level].func(n,t);if(i!==3&&i!==4||(n.status=Z1),i===1||i===3)return e.avail_out===0&&(n.last_flush=-1),To;if(i===2&&(t===GFe?VFe(n):t!==eH&&(pC(n,0,0,!1),t===JFe&&(gd(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Ks(e),e.avail_out===0))return n.last_flush=-1,To}return t!==Pa?To:n.wrap<=0?tH:(n.wrap===2?(br(n,255&e.adler),br(n,e.adler>>8&255),br(n,e.adler>>16&255),br(n,e.adler>>24&255),br(n,255&e.total_in),br(n,e.total_in>>8&255),br(n,e.total_in>>16&255),br(n,e.total_in>>24&255)):(I1(n,e.adler>>>16),I1(n,65535&e.adler)),Ks(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?To:tH)},aUe=(e,t)=>{let n=t.length;if(wg(e))return ol;const r=e.state,i=r.wrap;if(i===2||i===1&&r.status!==Ip||r.lookahead)return ol;if(i===1&&(e.adler=Cg(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){i===0&&(gd(r.head),r.strstart=0,r.block_start=0,r.insert=0);let c=new Uint8Array(r.w_size);c.set(t.subarray(n-r.w_size,n),0),t=c,n=r.w_size}const o=e.avail_in,s=e.next_in,a=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Pp(r);r.lookahead>=3;){let c=r.strstart,l=r.lookahead-2;do r.ins_h=xd(r,r.ins_h,r.window[c+3-1]),r.prev[c&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=c,c++;while(--l);r.strstart=c,r.lookahead=2,Pp(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=s,e.input=a,e.avail_in=o,r.wrap=i,To},Tm={deflateInit:(e,t)=>rH(e,t,y6,15,8,qFe),deflateInit2:rH,deflateReset:q$,deflateResetKeep:K$,deflateSetHeader:(e,t)=>wg(e)||e.state.wrap!==2?ol:(e.state.gzhead=t,To),deflate:sUe,deflateEnd:e=>{if(wg(e))return ol;const t=e.state.status;return e.state=null,t===V0?G0(e,ZFe):To},deflateSetDictionary:aUe,deflateInfo:"pako deflate (from Nodeca project)"};const cUe=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var E6={assign:function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(const r in n)cUe(n,r)&&(e[r]=n[r])}}return e},flattenChunks:e=>{let t=0;for(let r=0,i=e.length;r=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Tg[254]=Tg[254]=1;var Ig={string2buf:e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,r,i,o,s=e.length,a=0;for(i=0;i>>6,t[o++]=128|63&n):n<65536?(t[o++]=224|n>>>12,t[o++]=128|n>>>6&63,t[o++]=128|63&n):(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63,t[o++]=128|n>>>6&63,t[o++]=128|63&n);return t},buf2string:(e,t)=>{const n=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let r,i;const o=new Array(2*n);for(i=0,r=0;r4)o[i++]=65533,r+=a-1;else{for(s&=a===2?31:a===3?15:7;a>1&&r1?o[i++]=65533:s<65536?o[i++]=s:(s-=65536,o[i++]=55296|s>>10&1023,o[i++]=56320|1023&s)}}return((s,a)=>{if(a<65534&&s.subarray&&$$)return String.fromCharCode.apply(null,s.length===a?s:s.subarray(0,a));let c="";for(let l=0;l{(t=t||e.length)>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(192&e[n])==128;)n--;return n<0||n===0?t:n+Tg[e[n]]>t?n:t}},eee=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const tee=Object.prototype.toString,{Z_NO_FLUSH:lUe,Z_SYNC_FLUSH:uUe,Z_FULL_FLUSH:dUe,Z_FINISH:fUe,Z_OK:B4,Z_STREAM_END:hUe,Z_DEFAULT_COMPRESSION:pUe,Z_DEFAULT_STRATEGY:mUe,Z_DEFLATED:gUe}=v6;function k3(e){this.options=E6.assign({level:pUe,method:gUe,chunkSize:16384,windowBits:15,memLevel:8,strategy:mUe},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eee,this.strm.avail_out=0;let n=Tm.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==B4)throw new Error(gf[n]);if(t.header&&Tm.deflateSetHeader(this.strm,t.header),t.dictionary){let r;if(r=typeof t.dictionary=="string"?Ig.string2buf(t.dictionary):tee.call(t.dictionary)==="[object ArrayBuffer]"?new Uint8Array(t.dictionary):t.dictionary,n=Tm.deflateSetDictionary(this.strm,r),n!==B4)throw new Error(gf[n]);this._dict_set=!0}}function vUe(e,t){const n=new k3(t);if(n.push(e,!0),n.err)throw n.msg||gf[n.err];return n.result}k3.prototype.push=function(e,t){const n=this.strm,r=this.options.chunkSize;let i,o;if(this.ended)return!1;for(o=t===~~t?t:t===!0?fUe:lUe,typeof e=="string"?n.input=Ig.string2buf(e):tee.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;)if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(o===uUe||o===dUe)&&n.avail_out<=6)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else{if(i=Tm.deflate(n,o),i===hUe)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=Tm.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===B4;if(n.avail_out!==0){if(o>0&&n.next_out>0)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else if(n.avail_in===0)break}else this.onData(n.output)}return!0},k3.prototype.onData=function(e){this.chunks.push(e)},k3.prototype.onEnd=function(e){e===B4&&(this.result=E6.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var yUe={deflate:vUe};const O5=16209;var EUe=function(e,t){let n,r,i,o,s,a,c,l,u,d,f,h,p,g,m,y,v,E,b,S,w,C,_,I;const O=e.state;n=e.next_in,_=e.input,r=n+(e.avail_in-5),i=e.next_out,I=e.output,o=i-(t-e.avail_out),s=i+(e.avail_out-257),a=O.dmax,c=O.wsize,l=O.whave,u=O.wnext,d=O.window,f=O.hold,h=O.bits,p=O.lencode,g=O.distcode,m=(1<>>24,f>>>=E,h-=E,E=v>>>16&255,E===0)I[i++]=65535&v;else{if(!(16&E)){if((64&E)==0){v=p[(65535&v)+(f&(1<>>=E,h-=E),h<15&&(f+=_[n++]<>>24,f>>>=E,h-=E,E=v>>>16&255,!(16&E)){if((64&E)==0){v=g[(65535&v)+(f&(1<a){e.msg="invalid distance too far back",O.mode=O5;break e}if(f>>>=E,h-=E,E=i-o,S>E){if(E=S-E,E>l&&O.sane){e.msg="invalid distance too far back",O.mode=O5;break e}if(w=0,C=d,u===0){if(w+=c-E,E2;)I[i++]=C[w++],I[i++]=C[w++],I[i++]=C[w++],b-=3;b&&(I[i++]=C[w++],b>1&&(I[i++]=C[w++]))}else{w=i-S;do I[i++]=I[w++],I[i++]=I[w++],I[i++]=I[w++],b-=3;while(b>2);b&&(I[i++]=I[w++],b>1&&(I[i++]=I[w++]))}break}}break}}while(n>3,n-=b,h-=b<<3,f&=(1<{const c=a.bits;let l,u,d,f,h,p,g=0,m=0,y=0,v=0,E=0,b=0,S=0,w=0,C=0,_=0,I=null;const O=new Uint16Array(16),L=new Uint16Array(16);let R,F,W,J=null;for(g=0;g<=_5;g++)O[g]=0;for(m=0;m=1&&O[v]===0;v--);if(E>v&&(E=v),v===0)return i[o++]=20971520,i[o++]=20971520,a.bits=1,0;for(y=1;y0&&(e===0||v!==1))return-1;for(L[1]=0,g=1;g<_5;g++)L[g+1]=L[g]+O[g];for(m=0;m852||e===2&&C>592)return 1;for(;;){R=g-S,s[m]+1=p?(F=J[s[m]-p],W=I[s[m]-p]):(F=96,W=0),l=1<>S)+u]=R<<24|F<<16|W|0;while(u!==0);for(l=1<>=1;if(l!==0?(_&=l-1,_+=l):_=0,m++,--O[g]==0){if(g===v)break;g=t[n+s[m]]}if(g>E&&(_&f)!==d){for(S===0&&(S=E),h+=y,b=g-S,w=1<852||e===2&&C>592)return 1;d=_&f,i[d]=E<<24|b<<16|h-o|0}}return _!==0&&(i[h+_]=g-S<<24|64<<16|0),a.bits=E,0};const{Z_FINISH:iH,Z_BLOCK:wUe,Z_TREES:R5,Z_OK:rf,Z_STREAM_END:TUe,Z_NEED_DICT:IUe,Z_STREAM_ERROR:Oa,Z_DATA_ERROR:nee,Z_MEM_ERROR:ree,Z_BUF_ERROR:PUe,Z_DEFLATED:oH}=v6,b6=16180,F4=16190,Ml=16191,DE=16192,LE=16194,k5=16199,x5=16200,NE=16206,ai=16209,sH=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function OUe(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const of=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode16211?1:0},iee=e=>{if(of(e))return Oa;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=b6,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,rf},oee=e=>{if(of(e))return Oa;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,iee(e)},see=(e,t)=>{let n;if(of(e))return Oa;const r=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Oa:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,oee(e))},aH=(e,t)=>{if(!e)return Oa;const n=new OUe;e.state=n,n.strm=e,n.window=null,n.mode=b6;const r=see(e,t);return r!==rf&&(e.state=null),r};let ME,BE,cH=!0;const _Ue=e=>{if(cH){ME=new Int32Array(512),BE=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Im(1,e.lens,0,288,ME,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Im(2,e.lens,0,32,BE,0,e.work,{bits:5}),cH=!1}e.lencode=ME,e.lenbits=9,e.distcode=BE,e.distbits=5},aee=(e,t,n,r)=>{let i;const o=e.state;return o.window===null&&(o.wsize=1<=o.wsize?(o.window.set(t.subarray(n-o.wsize,n),0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>r&&(i=r),o.window.set(t.subarray(n-r,n-r+i),o.wnext),(r-=i)?(o.window.set(t.subarray(n-r,n),0),o.wnext=r,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whave{let n,r,i,o,s,a,c,l,u,d,f,h,p,g,m,y,v,E,b,S,w,C,_=0;const I=new Uint8Array(4);let O,L;const R=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(of(e)||!e.output||!e.input&&e.avail_in!==0)return Oa;n=e.state,n.mode===Ml&&(n.mode=DE),s=e.next_out,i=e.output,c=e.avail_out,o=e.next_in,r=e.input,a=e.avail_in,l=n.hold,u=n.bits,d=a,f=c,C=rf;e:for(;;)switch(n.mode){case b6:if(n.wrap===0){n.mode=DE;break}for(;u<16;){if(a===0)break e;a--,l+=r[o++]<>>8&255,n.check=ho(n.check,I,2,0),l=0,u=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",n.mode=ai;break}if((15&l)!==oH){e.msg="unknown compression method",n.mode=ai;break}if(l>>>=4,u-=4,w=8+(15&l),n.wbits===0&&(n.wbits=w),w>15||w>n.wbits){e.msg="invalid window size",n.mode=ai;break}n.dmax=1<>8&1),512&io(n)&&4&n.wrap&&(I[0]=255&l,I[1]=l>>>8&255,n.check=ho(n.check,I,2,0)),l=0,u=0,n.mode=16182;case 16182:for(;u<32;){if(a===0)break e;a--,l+=r[o++]<>>8&255,I[2]=l>>>16&255,I[3]=l>>>24&255,n.check=ho(n.check,I,4,0)),l=0,u=0,n.mode=16183;case 16183:for(;u<16;){if(a===0)break e;a--,l+=r[o++]<>8),512&io(n)&&4&n.wrap&&(I[0]=255&l,I[1]=l>>>8&255,n.check=ho(n.check,I,2,0)),l=0,u=0,n.mode=16184;case 16184:if(1024&io(n)){for(;u<16;){if(a===0)break e;a--,l+=r[o++]<>>8&255,n.check=ho(n.check,I,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&io(n)&&(h=n.length,h>a&&(h=a),h&&(n.head&&(w=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(o,o+h),w)),512&io(n)&&4&n.wrap&&(n.check=ho(n.check,r,h,o)),a-=h,o+=h,n.length-=h),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&io(n)){if(a===0)break e;h=0;do w=r[o+h++],n.head&&w&&n.length<65536&&(n.head.name+=String.fromCharCode(w));while(w&&h>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Ml;break;case 16189:for(;u<32;){if(a===0)break e;a--,l+=r[o++]<>>=7&u,u-=7&u,n.mode=NE;break}for(;u<3;){if(a===0)break e;a--,l+=r[o++]<>>=1,u-=1,3&l){case 0:n.mode=16193;break;case 1:if(_Ue(n),n.mode=k5,t===R5){l>>>=2,u-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=ai}l>>>=2,u-=2;break;case 16193:for(l>>>=7&u,u-=7&u;u<32;){if(a===0)break e;a--,l+=r[o++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=ai;break}if(n.length=65535&l,l=0,u=0,n.mode=LE,t===R5)break e;case LE:n.mode=16195;case 16195:if(h=n.length,h){if(h>a&&(h=a),h>c&&(h=c),h===0)break e;i.set(r.subarray(o,o+h),s),a-=h,o+=h,c-=h,s+=h,n.length-=h;break}n.mode=Ml;break;case 16196:for(;u<14;){if(a===0)break e;a--,l+=r[o++]<>>=5,u-=5,n.ndist=1+(31&l),l>>>=5,u-=5,n.ncode=4+(15&l),l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=ai;break}n.have=0,n.mode=16197;case 16197:for(;n.have>>=3,u-=3}for(;n.have<19;)n.lens[R[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,O={bits:n.lenbits},C=Im(0,n.lens,0,19,n.lencode,0,n.work,O),n.lenbits=O.bits,C){e.msg="invalid code lengths set",n.mode=ai;break}n.have=0,n.mode=16198;case 16198:for(;n.have>>24,y=_>>>16&255,v=65535&_,!(m<=u);){if(a===0)break e;a--,l+=r[o++]<>>=m,u-=m,n.lens[n.have++]=v;else{if(v===16){for(L=m+2;u>>=m,u-=m,n.have===0){e.msg="invalid bit length repeat",n.mode=ai;break}w=n.lens[n.have-1],h=3+(3&l),l>>>=2,u-=2}else if(v===17){for(L=m+3;u>>=m,u-=m,w=0,h=3+(7&l),l>>>=3,u-=3}else{for(L=m+7;u>>=m,u-=m,w=0,h=11+(127&l),l>>>=7,u-=7}if(n.have+h>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=ai;break}for(;h--;)n.lens[n.have++]=w}}if(n.mode===ai)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=ai;break}if(n.lenbits=9,O={bits:n.lenbits},C=Im(1,n.lens,0,n.nlen,n.lencode,0,n.work,O),n.lenbits=O.bits,C){e.msg="invalid literal/lengths set",n.mode=ai;break}if(n.distbits=6,n.distcode=n.distdyn,O={bits:n.distbits},C=Im(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,O),n.distbits=O.bits,C){e.msg="invalid distances set",n.mode=ai;break}if(n.mode=k5,t===R5)break e;case k5:n.mode=x5;case x5:if(a>=6&&c>=258){e.next_out=s,e.avail_out=c,e.next_in=o,e.avail_in=a,n.hold=l,n.bits=u,EUe(e,f),s=e.next_out,i=e.output,c=e.avail_out,o=e.next_in,r=e.input,a=e.avail_in,l=n.hold,u=n.bits,n.mode===Ml&&(n.back=-1);break}for(n.back=0;_=n.lencode[l&(1<>>24,y=_>>>16&255,v=65535&_,!(m<=u);){if(a===0)break e;a--,l+=r[o++]<>E)],m=_>>>24,y=_>>>16&255,v=65535&_,!(E+m<=u);){if(a===0)break e;a--,l+=r[o++]<>>=E,u-=E,n.back+=E}if(l>>>=m,u-=m,n.back+=m,n.length=v,y===0){n.mode=16205;break}if(32&y){n.back=-1,n.mode=Ml;break}if(64&y){e.msg="invalid literal/length code",n.mode=ai;break}n.extra=15&y,n.mode=16201;case 16201:if(n.extra){for(L=n.extra;u>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;_=n.distcode[l&(1<>>24,y=_>>>16&255,v=65535&_,!(m<=u);){if(a===0)break e;a--,l+=r[o++]<>E)],m=_>>>24,y=_>>>16&255,v=65535&_,!(E+m<=u);){if(a===0)break e;a--,l+=r[o++]<>>=E,u-=E,n.back+=E}if(l>>>=m,u-=m,n.back+=m,64&y){e.msg="invalid distance code",n.mode=ai;break}n.offset=v,n.extra=15&y,n.mode=16203;case 16203:if(n.extra){for(L=n.extra;u>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=ai;break}n.mode=16204;case 16204:if(c===0)break e;if(h=f-c,n.offset>h){if(h=n.offset-h,h>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=ai;break}h>n.wnext?(h-=n.wnext,p=n.wsize-h):p=n.wnext-h,h>n.length&&(h=n.length),g=n.window}else g=i,p=s-n.offset,h=n.length;h>c&&(h=c),c-=h,n.length-=h;do i[s++]=g[p++];while(--h);n.length===0&&(n.mode=x5);break;case 16205:if(c===0)break e;i[s++]=n.length,c--,n.mode=x5;break;case NE:if(n.wrap){for(;u<32;){if(a===0)break e;a--,l|=r[o++]<aH(e,15),inflateInit2:aH,inflate:RUe,inflateEnd:e=>{if(of(e))return Oa;let t=e.state;return t.window&&(t.window=null),e.state=null,rf},inflateGetHeader:(e,t)=>{if(of(e))return Oa;const n=e.state;return(2&n.wrap)==0?Oa:(n.head=t,t.done=!1,rf)},inflateSetDictionary:(e,t)=>{const n=t.length;let r,i,o;return of(e)?Oa:(r=e.state,r.wrap!==0&&r.mode!==F4?Oa:r.mode===F4&&(i=1,i=Cg(i,t,n,0),i!==r.check)?nee:(o=aee(e,t,n,n),o?(r.mode=16210,ree):(r.havedict=1,rf)))},inflateInfo:"pako inflate (from Nodeca project)"},kUe=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const cee=Object.prototype.toString,{Z_NO_FLUSH:xUe,Z_FINISH:DUe,Z_OK:Pm,Z_STREAM_END:FE,Z_NEED_DICT:UE,Z_STREAM_ERROR:LUe,Z_DATA_ERROR:lH,Z_MEM_ERROR:NUe}=v6;function x3(e){this.options=E6.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits)==0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eee,this.strm.avail_out=0;let n=$l.inflateInit2(this.strm,t.windowBits);if(n!==Pm)throw new Error(gf[n]);if(this.header=new kUe,$l.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Ig.string2buf(t.dictionary):cee.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=$l.inflateSetDictionary(this.strm,t.dictionary),n!==Pm)))throw new Error(gf[n])}function MUe(e,t){const n=new x3(t);if(n.push(e),n.err)throw n.msg||gf[n.err];return n.result}x3.prototype.push=function(e,t){const n=this.strm,r=this.options.chunkSize,i=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=t===~~t?t:t===!0?DUe:xUe,cee.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),o=$l.inflate(n,s),o===UE&&i&&(o=$l.inflateSetDictionary(n,i),o===Pm?o=$l.inflate(n,s):o===lH&&(o=UE));n.avail_in>0&&o===FE&&n.state.wrap>0&&e[n.next_in]!==0;)$l.inflateReset(n),o=$l.inflate(n,s);switch(o){case LUe:case lH:case UE:case NUe:return this.onEnd(o),this.ended=!0,!1}if(a=n.avail_out,n.next_out&&(n.avail_out===0||o===FE))if(this.options.to==="string"){let c=Ig.utf8border(n.output,n.next_out),l=n.next_out-c,u=Ig.buf2string(n.output,c);n.next_out=l,n.avail_out=r-l,l&&n.output.set(n.output.subarray(c,c+l),0),this.onData(u)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(o!==Pm||a!==0){if(o===FE)return o=$l.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(n.avail_in===0)break}}return!0},x3.prototype.onData=function(e){this.chunks.push(e)},x3.prototype.onEnd=function(e){e===Pm&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=E6.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var BUe={inflate:MUe};const{deflate:FUe}=yUe,{inflate:UUe}=BUe;var jUe=FUe,HUe=UUe,lee=(function(e){return e[e.ONE_BYTE=0]="ONE_BYTE",e[e.TWO_BYTE=1]="TWO_BYTE",e})(lee||{});class zUe{constructor(){H(this,"_sequence",0),H(this,"_startTime",Date.now()),H(this,"isUseOneByte",!0)}get startTime(){const t=Date.now()-this._startTime;return t128){const a=new Uint8Array(4);a.set([1,0,0,0]);const c={id:0,length:4,data:a.buffer},l={profile:this.isUseOneByte?0:1,length:this.isUseOneByte?5:6,datas:[c]};n.commonPacketHeader.extension=1,n.extension=l,n.payload=this.compress(t),n.commonPacketHeader.length=8+(n.extension.length+2)+n.payload.byteLength}else n.commonPacketHeader.length=8+n.payload.byteLength;he("SHOW_DATASTREAM2_LOG")&&D.debug("send data header: ".concat(JSON.stringify(n.commonPacketHeader)));const r=new ArrayBuffer(n.commonPacketHeader.length),i=new Uint8Array(r),o=new DataView(r);let s=0;if(o.setUint16(s,n.commonPacketHeader.extension<<15|n.commonPacketHeader.reserved<<14|n.commonPacketHeader.length,!0),s+=2,o.setUint32(s,n.commonPacketHeader.sequence,!0),s+=4,o.setUint16(s,n.commonStreamHeader,!0),s+=2,n.extension){const a=this.serializeExtension(n.extension);i.set(new Uint8Array(a),s),s+=a.byteLength}if(i.set(new Uint8Array(n.payload),s),s+=n.payload.byteLength,s!==n.commonPacketHeader.length)throw Error("serialize error!");return r}deserialize(t){if(t.byteLength<4)return new ArrayBuffer(0);const n=new DataView(t);let r=0;const i=n.getUint16(r,!0);r+=2;const o={length:16383&i,reserved:(16384&i)>>14,extension:(32768&i)>>15,sequence:n.getUint16(r+2,!0)<<16|n.getUint16(r,!0)};let s,a;if(r+=4,he("SHOW_DATASTREAM2_LOG")&&D.debug("receive data header: ".concat(JSON.stringify(o))),n.getUint16(r,!0),r+=2,o.extension){a=this.deserializeExtension(t.slice(r)),r+=2+a.length,s=t.slice(r);let c=!1;if(a.datas.length>0){const l=a.datas.find((u=>u.id===0));l&&(c=(1&new DataView(l.data).getUint32(0,!0))==1)}s=c?this.decompress(s):s}else s=t.slice(8);return s}serializeExtension(t){const{profile:n,length:r,datas:i}=t,o=new ArrayBuffer(r+2),s=new Uint8Array(o),a=new DataView(o);let c=0;if(a.setUint8(c++,n),a.setUint8(c++,r),i.forEach((l=>{n?(a.setUint8(c++,l.id),a.setUint8(c++,l.length),s.set(new Uint8Array(l.data),c),c+=l.data.byteLength):(a.setUint8(c++,l.id|l.length<<4),s.set(new Uint8Array(l.data),c),c+=l.data.byteLength)})),c!==r+2)throw Error("serialize extension error, is ".concat(c,"!==").concat(r+2));return o}deserializeExtension(t){const n=new DataView(t);let r=0;const i=n.getUint8(r);r++;const o=n.getUint8(r);r++;const s=i===lee.TWO_BYTE,a=[],c=new DataView(t,2);let l=0;for(;l>4,l++),d>0&&(f=c.buffer.slice(l+2,l+2+d),l+=f.byteLength),a.push({id:u,length:d,data:f})}if(l!==o)throw Error("parse error");return{profile:i,length:o,datas:a}}decompress(t){return HUe(new Uint8Array(t))}compress(t){return jUe(new Uint8Array(t))}}const WUe={name:"DataStream",create:(e,t)=>{const n=t?new PBe(e):new OBe(e);return n.useDataStream(new zUe),n}};class VUe extends fr{constructor(t,n,r){super(),H(this,"ws",void 0),H(this,"requestId",1),H(this,"heartBeatTimer",void 0),H(this,"joinInfo",void 0),H(this,"clientId",void 0),H(this,"onOpen",(()=>{this.emit("open"),this.startHeartBeatCheck()})),H(this,"onClose",(i=>{this.emit("close"),this.dispose()})),H(this,"onMessage",(i=>{const o=JSON.parse(i.data);if(!o||o.command!=="serverResponse"||!o.requestId)return o&&o.command==="serverStatus"&&o.serverStatus&&o.serverStatus.command?(this.emit("status",o.serverStatus),void this.emit(o.serverStatus.command,o.serverStatus)):void 0;this.emit("req_".concat(o.requestId),o)})),this.joinInfo=t,this.clientId=n,this.ws=new dg("cross-channel-".concat(this.clientId),r),this.ws.on(Bt.RECONNECTING,(()=>{this.ws.reconnectMode="retry",this.emit("reconnecting")})),this.ws.on(Bt.CONNECTED,this.onOpen),this.ws.on(Bt.ON_MESSAGE,this.onMessage),this.ws.on(Bt.CLOSED,this.onClose)}isConnect(){return this.ws.state==="connected"}sendMessage(t){const n=this.requestId++;return t.requestId=n,t.seq=n,this.ws.sendMessage(t),n}waitStatus(t){return new ot(((n,r)=>{const i=window.setTimeout((()=>{r(new xe(Q.TIMEOUT,"wait status timeout, status: ".concat(t)))}),5e3);this.once(t,(o=>{window.clearTimeout(i),o.state&&o.state!==0?r(new xe(Q.CROSS_CHANNEL_WAIT_STATUS_ERROR,"wait status error, status: ".concat(t))):n(void 0)})),this.once("dispose",(()=>{window.clearTimeout(i),r(new xe(Q.WS_ABORT))}))}))}async request(t){if(this.ws.state==="closed")throw new xe(Q.WS_DISCONNECT);const n=()=>new ot(((s,a)=>{this.ws.once(Bt.CLOSED,(()=>a(new xe(Q.WS_ABORT)))),this.ws.once(Bt.CONNECTED,s)}));this.ws.state!=="connected"&&await n();const r=this.sendMessage(t),i=new ot(((s,a)=>{const c=()=>{a(new xe(Q.WS_ABORT))};this.ws.once(Bt.RECONNECTING,c),this.ws.once(Bt.CLOSED,c),this.once("req_".concat(r),s),Ei(3e3).then((()=>{this.removeAllListeners("req_".concat(r)),this.ws.off(Bt.RECONNECTING,c),this.ws.off(Bt.CLOSED,c),a(new xe(Q.TIMEOUT,"cross channel ws request timeout"))}))})),o=await i;if(!o||o.code!==200)throw new xe(Q.CROSS_CHANNEL_SERVER_ERROR_RESPONSE,"response: ".concat(JSON.stringify(o)));return o}async connect(t){this.ws.removeAllListeners(Bt.REQUEST_NEW_URLS),this.ws.on(Bt.REQUEST_NEW_URLS,(n=>{n(t)})),await this.ws.init(t)}dispose(){this.clearHeartBeatCheck(),this.emit("dispose"),this.removeAllListeners(),this.ws.close()}sendPing(t){const n=this.requestId++;return t.requestId=n,this.ws.sendMessage(t),n}startHeartBeatCheck(){this.heartBeatTimer&&window.clearInterval(this.heartBeatTimer),this.heartBeatTimer=window.setInterval((()=>{this.sendPing({command:"ping",appId:this.joinInfo.appId,cname:this.joinInfo.cname,uid:this.joinInfo.uid.toString(),sid:this.joinInfo.sid,ts:+new Date,requestId:0})}),3e3)}clearHeartBeatCheck(){window.clearInterval(this.heartBeatTimer),this.heartBeatTimer=void 0}}class GUe extends fr{set state(t){t!==this._state&&(t!==zo.RELAY_STATE_FAILURE&&(this.errorCode=gh.RELAY_OK),this.emit("state",t,this.errorCode),this._state=t)}get state(){return this._state}constructor(t,n,r,i,o){super(),H(this,"joinInfo",void 0),H(this,"sid",void 0),H(this,"clientId",void 0),H(this,"cancelToken",Lo.CancelToken.source()),H(this,"workerToken",void 0),H(this,"requestId",0),H(this,"signal",void 0),H(this,"prevChannelMediaConfig",void 0),H(this,"httpRetryConfig",void 0),H(this,"_resolution",void 0),H(this,"_state",zo.RELAY_STATE_IDLE),H(this,"errorCode",gh.RELAY_OK),H(this,"onStatus",(s=>{D.debug("[".concat(this.clientId,"] ChannelMediaStatus: ").concat(JSON.stringify(s))),s&&s.command&&(s.command==="onAudioPacketReceived"&&this.emit("event",Ul.PACKET_RECEIVED_AUDIO_FROM_SRC),s.command==="onVideoPacketReceived"&&this.emit("event",Ul.PACKET_RECEIVED_VIDEO_FROM_SRC),s.command==="onSrcTokenPrivilegeDidExpire"&&(this.errorCode=gh.SRC_TOKEN_EXPIRED,this.state=zo.RELAY_STATE_FAILURE),s.command==="onDestTokenPrivilegeDidExpire"&&(this.errorCode=gh.DEST_TOKEN_EXPIRED,this.state=zo.RELAY_STATE_FAILURE))})),H(this,"onReconnect",(async()=>{D.debug("[".concat(this.clientId,"] ChannelMediaSocket disconnect, reconnecting")),this.emit("event",Ul.NETWORK_DISCONNECTED),this.state=zo.RELAY_STATE_IDLE,this.prevChannelMediaConfig&&this.sendStartRelayMessage(this.prevChannelMediaConfig).catch((s=>{this.state!==zo.RELAY_STATE_IDLE&&(D.error("auto restart channel media relay failed",s.toString()),this.errorCode=gh.SERVER_CONNECTION_LOST,this.state=zo.RELAY_STATE_FAILURE)}))})),this.joinInfo=t,this.clientId=n,this.sid=Ph(),this.signal=new VUe(this.joinInfo,this.clientId,r),this.httpRetryConfig=i,this._resolution=o}async startChannelMediaRelay(t){if(this.state!==zo.RELAY_STATE_IDLE)throw new xe(Q.INVALID_OPERATION);this.state=zo.RELAY_STATE_CONNECTING,await this.connect(),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: connect success"));try{await this.sendStartRelayMessage(t)}catch(n){throw n.data&&n.data.serverResponse&&n.data.serverResponse.command==="SetSourceChannel"?new xe(Q.CROSS_CHANNEL_FAILED_JOIN_SRC):n.data&&n.data.serverResponse&&n.serverResponse.command==="SetDestChannelStatus"?new xe(Q.CROSS_CHANNEL_FAILED_JOIN_DEST):n.data&&n.data.serverResponse&&n.serverResponse.command==="StartPacketTransfer"?new xe(Q.CROSS_CHANNEL_FAILED_PACKET_SENT_TO_DEST):n}this.prevChannelMediaConfig=t}async updateChannelMediaRelay(t){if(this.state!==zo.RELAY_STATE_RUNNING)throw new xe(Q.INVALID_OPERATION);await this.sendUpdateMessage(t),this.prevChannelMediaConfig=t}async setVideoProfile(t){if(this._resolution=t,this.state!==zo.RELAY_STATE_RUNNING)throw new xe(Q.INVALID_OPERATION);const n=this.genMessage(fo.SetVideoProfile);await this.signal.request(n),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: setVideoProfile success"))}async stopChannelMediaRelay(){await this.sendStopRelayMessage(),D.debug("[".concat(this.clientId,"] stopChannelMediaRelay: send stop message success")),this.state=zo.RELAY_STATE_IDLE,this.dispose()}dispose(){D.debug("[".concat(this.clientId,"] disposeChannelMediaRelay")),this.cancelToken.cancel(),this.cancelToken=Lo.CancelToken.source(),this.state=zo.RELAY_STATE_IDLE,this.emit("dispose"),this.signal.dispose(),this.prevChannelMediaConfig=void 0}async connect(){const t=await UBe(this.joinInfo,this.cancelToken.token,this.httpRetryConfig);this.workerToken=t.workerToken,await this.signal.connect(t.addressList),this.emit("event",Ul.NETWORK_CONNECTED),this.signal.on("status",this.onStatus),this.signal.on("reconnecting",this.onReconnect)}async sendStartRelayMessage(t){const n=this.genMessage(fo.StopPacketTransfer);await this.signal.request(n),await this.signal.waitStatus("Normal Quit"),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: StopPacketTransfer success"));const r=this.genMessage(fo.SetSdkProfile,t);await this.signal.request(r),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: SetSdkProfile success"));const i=this.genMessage(fo.SetSourceChannel,t);await this.signal.request(i),await this.signal.waitStatus("SetSourceChannelStatus"),this.emit("event",Ul.PACKET_JOINED_SRC_CHANNEL),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: SetSourceChannel success"));const o=this.genMessage(fo.SetSourceUserId,t);await this.signal.request(o),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: SetSourceUserId success"));const s=this.genMessage(fo.SetDestChannel,t);await this.signal.request(s),await this.signal.waitStatus("SetDestChannelStatus"),this.emit("event",Ul.PACKET_JOINED_DEST_CHANNEL),D.debug("[".concat(this.clientId,"] startChannelMediaRelay: SetDestChannel success"));const a=this.genMessage(fo.StartPacketTransfer,t);await this.signal.request(a),this.emit("event",Ul.PACKET_SENT_TO_DEST_CHANNEL),this.state=zo.RELAY_STATE_RUNNING,D.debug("[".concat(this.clientId,"] startChannelMediaRelay: StartPacketTransfer success")),this.setVideoProfile(this._resolution)}async sendUpdateMessage(t){const n=this.genMessage(fo.UpdateDestChannel,t);await this.signal.request(n),this.emit("event",Ul.PACKET_UPDATE_DEST_CHANNEL),D.debug("[".concat(this.clientId,"] sendUpdateMessage: UpdateDestChannel success"))}async sendStopRelayMessage(){const t=this.genMessage(fo.StopPacketTransfer);await this.signal.request(t),D.debug("[".concat(this.clientId,"] sendStopRelayMessage: StopPacketTransfer success"))}genMessage(t,n){const r=[],i=[],o=[];this.requestId+=1;const s={appId:this.joinInfo.appId,cname:this.joinInfo.cname,uid:this.joinInfo.uid.toString(),sdkVersion:oa,sid:this.sid,ts:Date.now(),requestId:this.requestId,seq:this.requestId,allocate:!0,clientRequest:{}};s.sdkVersion==="4.22.0"&&(s.sdkVersion="0.0.1");let a=null,c=null;switch(t){case fo.SetSdkProfile:return s.clientRequest={command:"SetSdkProfile",type:"multi_channel"},s;case fo.SetSourceChannel:if(c=n&&n.getSrcChannelMediaInfo(),!c)throw new xe(Q.UNEXPECTED_ERROR,"can not find source config");return s.clientRequest={command:"SetSourceChannel",uid:"0",channelName:c.channelName,token:c.token||this.joinInfo.appId},s;case fo.SetSourceUserId:if(c=n&&n.getSrcChannelMediaInfo(),!c)throw new xe(Q.UNEXPECTED_ERROR,"can not find source config");return s.clientRequest={command:"SetSourceUserId",uid:c.uid+""},s;case fo.SetDestChannel:if(a=n&&n.getDestChannelMediaInfo(),!a)throw new xe(Q.UNEXPECTED_ERROR,"can not find dest config");return a.forEach((l=>{r.push(l.channelName),i.push(l.uid+""),o.push(l.token||this.joinInfo.appId)})),s.clientRequest={command:"SetDestChannel",channelName:r,uid:i,token:o},s;case fo.StartPacketTransfer:return s.clientRequest={command:"StartPacketTransfer"},s;case fo.Reconnect:return s.clientRequest={command:"Reconnect"},s;case fo.StopPacketTransfer:return s.clientRequest={command:"StopPacketTransfer"},s;case fo.UpdateDestChannel:if(a=n&&n.getDestChannelMediaInfo(),!a)throw new xe(Q.UNEXPECTED_ERROR,"can not find dest config");return a.forEach((l=>{r.push(l.channelName),i.push(l.uid+""),o.push(l.token||this.joinInfo.appId)})),s.clientRequest={command:"UpdateDestChannel",channelName:r,uid:i,token:o},s;case fo.SetVideoProfile:s.clientRequest={command:"SetVideoProfile",width:this._resolution.width,height:this._resolution.height}}return s}}const JUe={name:"ChannelMediaRelay",create:function(e){return new GUe(e.joinInfo,e.clientId,e.websocketRetryConfig||jr,e.httpRetryConfig||jr,e.resolution)}};function uH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function P1(e){for(var t=1;t{this.reconnectMode="retry",this.startPingPong()})),H(this,"handleWebSocketMessage",(o=>{if(!o.data)return;const s=JSON.parse(o.data);s.requestId?this.emit("@".concat(s.requestId,"-").concat(s.sid),s):(mt.workerEvent(this.spec.sid,{actionType:"status",serverCode:s.code,workerType:this.serviceMode===au.TRANSCODE?1:2}),this.emit(pd.PUBLISH_STREAM_STATUS,s))})),this.spec=n,this.token=t,this.serviceMode=i,this.websocket=new dg("live-streaming",r),this.websocket.on(Bt.CONNECTED,this.handleWebSocketOpen),this.websocket.on(Bt.ON_MESSAGE,this.handleWebSocketMessage),this.websocket.on(Bt.REQUEST_NEW_URLS,((o,s)=>{ki(this,pd.REQUEST_NEW_ADDRESS).then(o).catch(s)})),this.websocket.on(Bt.RECONNECTING,(()=>{this.websocket.reconnectMode=this.reconnectMode}))}init(t){return this.websocket.init(t)}async request(t,n,r,i){this.reqId+=1,t==="request"&&(this.commandReqId+=1);const o=this.commandReqId,s=this.reqId;if(!s||!this.websocket)throw new xe(Q.UNEXPECTED_ERROR);const a=P1({command:t,sdkVersion:oa==="4.22.0"?"0.0.1":oa,seq:s,requestId:s,allocate:r,cname:this.spec.cname,appId:this.spec.appId,sid:this.spec.sid,uid:this.spec.uid.toString(),ts:Math.floor(Date.now()/1e3)},n);if(this.websocket.state==="closed")throw new xe(Q.WS_DISCONNECT);const c=()=>new ot(((f,h)=>{this.websocket.once(Bt.CLOSED,(()=>h(new xe(Q.WS_ABORT)))),this.websocket.once(Bt.CONNECTED,f)}));this.websocket.state!=="connected"&&await c(),a.clientRequest&&(a.clientRequest.workerToken=this.token);const l=new ot(((f,h)=>{const p=()=>{h(new xe(Q.WS_ABORT))};this.websocket.once(Bt.RECONNECTING,p),this.websocket.once(Bt.CLOSED,p),this.once("@".concat(s,"-").concat(this.spec.sid),(g=>{f(g)}))}));i&&mt.workerEvent(this.spec.sid,P1(P1({},i),{},{requestId:o,actionType:"request",payload:JSON.stringify(n.clientRequest),serverCode:0,code:0}));const u=Date.now();this.websocket.sendMessage(a);let d=null;try{d=await l}catch(f){if(this.websocket.state==="closed")throw f;return await c(),await this.request(t,n,r)}return i&&mt.workerEvent(this.spec.sid,P1(P1({},i),{},{requestId:o,actionType:"response",payload:JSON.stringify(d.serverResponse),serverCode:d.code,success:d.code===200,responseTime:Date.now()-u})),d.code!==200&&this.handleResponseError(d),d}tryNextAddress(){this.reconnectMode="tryNext",this.websocket.reconnect("tryNext")}close(){const t=oa==="4.22.0"?"0.0.1":oa;this.reqId+=1,this.websocket.state==="connected"?(this.websocket.sendMessage({command:"request",appId:this.spec.appId,cname:this.spec.cname,uid:this.spec.uid.toString(),sdkVersion:t,sid:this.spec.sid,seq:this.reqId,ts:Math.floor(Date.now()/1e3),requestId:this.reqId,clientRequest:{command:"DestroyWorker"}}),this.websocket.close(!1,!0)):this.websocket.close(!1),this.pingpongTimer&&(window.clearInterval(this.pingpongTimer),this.pingpongTimer=void 0)}handleResponseError(t){switch(t.code){case Gr.LIVE_STREAM_RESPONSE_ALREADY_EXISTS_STREAM:return void D.warning("live stream response already exists stream");case Gr.LIVE_STREAM_RESPONSE_TRANSCODING_PARAMETER_ERROR:case Gr.LIVE_STREAM_RESPONSE_BAD_STREAM:case Gr.LIVE_STREAM_RESPONSE_WM_PARAMETER_ERROR:return new xe(Q.LIVE_STREAMING_INVALID_ARGUMENT,"",{code:t.code}).throw();case Gr.LIVE_STREAM_RESPONSE_WM_WORKER_NOT_EXIST:if(t.serverResponse.command==="UnpublishStream")return;throw new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"live stream response wm worker not exist",{retry:!0});case Gr.LIVE_STREAM_RESPONSE_NOT_AUTHORIZED:return new xe(Q.LIVE_STREAMING_PUBLISH_STREAM_NOT_AUTHORIZED,"",{code:t.code}).throw();case Gr.LIVE_STREAM_RESPONSE_FAILED_LOAD_IMAGE:{const n=new xe(Q.LIVE_STREAMING_WARN_FAILED_LOAD_IMAGE);return this.emit(pd.WARNING,n,t.serverResponse.url)}case Gr.LIVE_STREAM_RESPONSE_REQUEST_TOO_OFTEN:{const n=new xe(Q.LIVE_STREAMING_WARN_FREQUENT_REQUEST);return this.emit(pd.WARNING,n,t.serverResponse.url)}case Gr.LIVE_STREAM_RESPONSE_NOT_FOUND_PUBLISH:throw new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"live stream response wm worker not exist",{retry:!0});case Gr.LIVE_STREAM_RESPONSE_NOT_SUPPORTED:return new xe(Q.LIVE_STREAMING_TRANSCODING_NOT_SUPPORTED,"",{code:t.code}).throw();case Gr.LIVE_STREAM_RESPONSE_MAX_STREAM_NUM:{const n=new xe(Q.LIVE_STREAMING_WARN_STREAM_NUM_REACH_LIMIT);return this.emit(pd.WARNING,n,t.serverResponse.url)}case Gr.LIVE_STREAM_RESPONSE_INTERNAL_SERVER_ERROR:return new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"",{code:t.code}).throw();case Gr.LIVE_STREAM_RESPONSE_RESOURCE_LIMIT:throw new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"live stream resource limit",{retry:!0,changeAddress:!0});case Gr.LIVE_STREAM_RESPONSE_WORKER_LOST:case Gr.LIVE_STREAM_RESPONSE_WORKER_QUIT:if(t.serverResponse.command==="UnpublishStream")return;throw new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"error fail send message",{retry:!0,changeAddress:!0});case Gr.ERROR_FAIL_SEND_MESSAGE:if(t.serverResponse.command==="UnpublishStream")return;if(t.serverResponse.command==="UpdateTranscoding"||t.serverResponse.command==="ControlStream")return new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"error fail send message",{code:t.code}).throw();throw new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"error fail send message",{retry:!0,changeAddress:!0});case Gr.PUBLISH_STREAM_STATUS_ERROR_PUBLISH_BROKEN:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_CONNECT:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_HANDSHAKE:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_PUBLISH:return new xe(Q.LIVE_STREAMING_CDN_ERROR,"",{code:t.code}).throw()}}startPingPong(){this.pingpongTimer&&window.clearInterval(this.pingpongTimer),this.pingpongTimer=window.setInterval((()=>{this.websocket.state==="connected"&&this.request("ping",{}).catch(d6)}),6e3)}}function dH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}function Uo(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:jr,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:jr;super(),H(this,"onLiveStreamWarning",void 0),H(this,"onLiveStreamError",void 0),H(this,"spec",void 0),H(this,"retryTimeout",1e4),H(this,"connection",void 0),H(this,"httpRetryConfig",void 0),H(this,"wsRetryConfig",void 0),H(this,"streamingTasks",new Map),H(this,"isStartingStreamingTask",!1),H(this,"taskMutex",new Hi("live-streaming")),H(this,"cancelToken",Lo.CancelToken.source()),H(this,"transcodingConfig",void 0),H(this,"uapResponse",void 0),H(this,"lastTaskId",1),H(this,"statusError",new Map),this.spec=t,this.httpRetryConfig=r,this.wsRetryConfig=n}async setTranscodingConfig(t){const n=Uo(Uo({},GNe),t);n.videoCodecProfile!==66&&n.videoCodecProfile!==77&&n.videoCodecProfile!==100&&(D.debug("[".concat(this.spec.clientId,"] set transcoding config, fix video codec profile: ").concat(n.videoCodecProfile," -> 100")),n.videoCodecProfile=100),n.transcodingUsers||(n.transcodingUsers=n.userConfigs),n.transcodingUsers&&(n.transcodingUsers=n.transcodingUsers.map((s=>Uo(Uo(Uo({},VNe),s),{},{zOrder:s.zOrder?s.zOrder+1:1})))),(function(s){ur(s.width)||Ln(s.width,"config.width",0,1e4),ur(s.height)||Ln(s.height,"config.height",0,1e4),ur(s.videoBitrate)||Ln(s.videoBitrate,"config.videoBitrate",1,1e6),ur(s.videoFrameRate)||Ln(s.videoFrameRate,"config.videoFrameRate"),ur(s.lowLatency)||nu(s.lowLatency,"config.lowLatency"),ur(s.audioSampleRate)||Kr(s.audioSampleRate,"config.audioSampleRate",[32e3,44100,48e3]),ur(s.audioBitrate)||Ln(s.audioBitrate,"config.audioBitrate",1,128),ur(s.audioChannels)||Kr(s.audioChannels,"config.audioChannels",[1,2,3,4,5]),ur(s.videoGop)||Ln(s.videoGop,"config.videoGop"),ur(s.videoCodecProfile)||Kr(s.videoCodecProfile,"config.videoCodecProfile",[66,77,100]),ur(s.userCount)||Ln(s.userCount,"config.userCount",0,17),ur(s.backgroundColor)||Ln(s.backgroundColor,"config.backgroundColor",0,16777215),ur(s.userConfigExtraInfo)||pi(s.userConfigExtraInfo,"config.userConfigExtraInfo",0,4096,!1),s.transcodingUsers&&!ur(s.transcodingUsers)&&(Zl(s.transcodingUsers,"config.transcodingUsers"),s.transcodingUsers.forEach(((a,c)=>{p6(a.uid),ur(a.x)||Ln(a.x,"transcodingUser[".concat(c,"].x"),0,1e4),ur(a.y)||Ln(a.y,"transcodingUser[".concat(c,"].y"),0,1e4),ur(a.width)||Ln(a.width,"transcodingUser[".concat(c,"].width"),0,1e4),ur(a.height)||Ln(a.height,"transcodingUser[".concat(c,"].height"),0,1e4),ur(a.zOrder)||Ln(a.zOrder-1,"transcodingUser[".concat(c,"].zOrder"),0,100),ur(a.alpha)||Ln(a.alpha,"transcodingUser[".concat(c,"].alpha"),0,1,!1)}))),ur(s.watermark)||z9(s.watermark,"watermark"),ur(s.backgroundImage)||z9(s.backgroundImage,"backgroundImage"),s.images&&!ur(s.images)&&(Zl(s.images,"config.images"),s.images.forEach(((a,c)=>{z9(a,"images[".concat(c,"]"))})))})(n);const r=[];n.images&&r.push(...n.images.map((s=>Uo(Uo(Uo({},H9),s),{},{zOrder:255})))),n.backgroundImage&&(r.push(Uo(Uo(Uo({},H9),n.backgroundImage),{},{zOrder:0})),delete n.backgroundImage),n.watermark&&(r.push(Uo(Uo(Uo({},H9),n.watermark),{},{zOrder:255})),delete n.watermark),n.images=r,n.transcodingUsers&&(n.userConfigs=n.transcodingUsers.map((s=>Uo({},s))),n.userCount=n.transcodingUsers.length,delete n.transcodingUsers);const i=(n.userConfigs||[]).map((s=>typeof s.uid=="number"?ot.resolve(s.uid):y$(s.uid,this.spec,this.cancelToken.token,this.httpRetryConfig)));if((await ot.all(i)).forEach(((s,a)=>{n.userConfigs&&n.userConfigs[a]&&(n.userConfigs[a].uid=s)})),this.transcodingConfig=n,this.connection)try{var o;const s=await this.connection.request("request",{clientRequest:{command:"UpdateTranscoding",transcodingConfig:this.transcodingConfig}},!1,{command:"UpdateTranscoding",workerType:1,requestByUser:!0,tid:Array.from(pu(o=this.streamingTasks).call(o)).map((a=>a.taskId)).join("#")});D.debug("[".concat(this.spec.clientId,"] update live transcoding config success, code: ").concat(s.code,", config:"),JSON.stringify(this.transcodingConfig))}catch(s){if(!s.data||!s.data.retry)throw s;s.data.changeAddress&&this.connection.tryNextAddress(),this.streamingTasks.forEach((a=>{D.warning("[".concat(this.spec.clientId,"] live streaming receive error"),s.toString(),"try to republish",a.url),this.startLiveStreamingTask(a.url,a.mode,s).then((()=>{D.debug("[".concat(this.spec.clientId,"] live streaming republish ").concat(a.url," success"))})).catch((c=>{D.error("[".concat(this.spec.clientId,"] live streaming republish failed"),a.url,c.toString()),this.onLiveStreamError&&this.onLiveStreamError(a.url,c)}))}))}}async startLiveStreamingTask(t,n,r){if(!this.transcodingConfig&&n===au.TRANSCODE)throw new xe(Q.INVALID_OPERATION,"[LiveStreaming] no transcoding config found, can not start transcoding streaming task");const i={command:"PublishStream",ts:Date.now(),url:t,uid:this.spec.uid.toString(),autoDestroyTime:100,acceptImageTimeout:!0};D.debug("[".concat(this.spec.clientId,"] start live streaming ").concat(t,", mode: ").concat(n));const o=await this.taskMutex.lock();if(!this.connection&&r)return void o();if(this.streamingTasks.get(t)&&!r)return o(),new xe(Q.LIVE_STREAMING_TASK_CONFLICT).throw();try{this.connection||(this.connection=await this.connect(n))}catch(a){throw o(),a}switch(n){case au.TRANSCODE:i.transcodingConfig=Uo({},this.transcodingConfig)}this.uapResponse&&this.uapResponse.vid&&(i.vid=this.uapResponse.vid),this.isStartingStreamingTask=!0;const s=this.lastTaskId++;try{const a=new ot(((l,u)=>{Ei(this.retryTimeout).then((()=>{if(r)return u(r);const d=this.statusError.get(t);return d?(this.statusError.delete(t),u(d)):void 0}))})),c=await ot.race([this.connection.request("request",{clientRequest:i},!0,{url:t,command:"PublishStream",workerType:n===au.TRANSCODE?1:2,requestByUser:!r,tid:s.toString()}),a]);this.isStartingStreamingTask=!1,D.debug("[".concat(this.spec.clientId,"] live streaming started, code: ").concat(c.code)),this.streamingTasks.set(t,{clientRequest:i,mode:n,url:t,taskId:s}),o()}catch(a){if(o(),this.isStartingStreamingTask=!1,!a.data||!a.data.retry||r)throw a;return a.data.changeAddress?(this.connection.tryNextAddress(),await this.startLiveStreamingTask(t,n,a)):await this.startLiveStreamingTask(t,n,a)}}stopLiveStreamingTask(t){return new ot(((n,r)=>{const i=this.streamingTasks.get(t);if(!i||!this.connection)return new xe(Q.UNEXPECTED_ERROR,"can not find streaming task to stop").throw();const o=i.mode;i.abortTask=()=>{D.debug("[".concat(this.spec.clientId,"] stop live streaming success(worker exception)")),this.streamingTasks.delete(t),n()},this.connection.request("request",{clientRequest:{command:"UnpublishStream",url:i.url}},!1,{url:t,command:"UnPublishStream",workerType:o===au.TRANSCODE?1:2,requestByUser:!0,tid:(this.lastTaskId++).toString()}).then((s=>{D.debug("[".concat(this.spec.clientId,"] stop live streaming success, code: ").concat(s.code)),this.streamingTasks.delete(t),this.streamingTasks.size===0&&(this.connection&&this.connection.close(),this.connection=void 0),n()})).catch(r)}))}resetAllTask(){var t;const n=Array.from(pu(t=this.streamingTasks).call(t));this.terminate();for(const r of n)this.startLiveStreamingTask(r.url,r.mode).catch((i=>{this.onLiveStreamError&&this.onLiveStreamError(r.url,i)}))}terminate(){this.cancelToken&&this.cancelToken.cancel(),this.streamingTasks=new Map,this.isStartingStreamingTask=!1,this.statusError=new Map,this.cancelToken=Lo.CancelToken.source(),this.uapResponse=void 0,this.connection&&this.connection.close(),this.connection=void 0}async connect(t){if(this.connection)throw new xe(Q.UNEXPECTED_ERROR,"live streaming connection has already connected");const n=await ki(this,XA.REQUEST_WORKER_MANAGER_LIST,t);return this.uapResponse=n,this.connection=new ZUe(n.workerToken,this.spec,this.wsRetryConfig,t),this.connection.on(pd.WARNING,((r,i)=>this.onLiveStreamWarning&&this.onLiveStreamWarning(i,r))),this.connection.on(pd.PUBLISH_STREAM_STATUS,(r=>this.handlePublishStreamServer(r))),this.connection.on(pd.REQUEST_NEW_ADDRESS,((r,i)=>{if(!this.connection)return i(new xe(Q.UNEXPECTED_ERROR,"can not get new live streaming address list"));ki(this,XA.REQUEST_WORKER_MANAGER_LIST,t).then((o=>{this.uapResponse=o,r(o.addressList)})).catch(i)})),await this.connection.init(n.addressList),this.connection}handlePublishStreamServer(t){const n=t.serverStatus&&t.serverStatus.url||"empty_url",r=this.streamingTasks.get(n),i=t.reason;switch(t.code){case Gr.PUBLISH_STREAM_STATUS_ERROR_PUBLISH_BROKEN:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_CONNECT:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_HANDSHAKE:case Gr.PUBLISH_STREAM_STATUS_ERROR_RTMP_PUBLISH:{const s=new xe(Q.LIVE_STREAMING_CDN_ERROR,"",{code:t.code});if(r)return D.error(s.toString()),this.onLiveStreamError&&this.onLiveStreamError(n,s);if(!this.isStartingStreamingTask)return;this.statusError.set(n,s)}case Gr.LIVE_STREAM_RESPONSE_FAILED_LOAD_IMAGE:{const s=new xe(Q.LIVE_STREAMING_WARN_FAILED_LOAD_IMAGE,i);return this.onLiveStreamWarning&&this.onLiveStreamWarning(n,s)}case Gr.LIVE_STREAM_RESPONSE_WORKER_LOST:case Gr.LIVE_STREAM_RESPONSE_WORKER_QUIT:{var o;if(!this.connection)return;this.connection.tryNextAddress();const s=Array.from(pu(o=this.streamingTasks).call(o));for(const a of s)a.abortTask?a.abortTask():(D.warning("[".concat(this.spec.clientId,"] publish stream status code"),t.code,"try to republish",a.url),this.startLiveStreamingTask(a.url,a.mode,new xe(Q.LIVE_STREAMING_INTERNAL_SERVER_ERROR,"",{code:t.code})).then((()=>{D.debug("[".concat(this.spec.clientId,"] republish live stream success"),a.url)})).catch((c=>{D.error(c.toString()),this.onLiveStreamError&&this.onLiveStreamError(a.url,c)})));return}}}hasUrl(t){return this.streamingTasks.has(t)}}const XUe={name:"LiveStreaming",create:function(e){return new YUe(e.joinInfo,e.websocketRetryConfig||jr,e.httpRetryConfig||jr)}};function QUe(e){let t=fH();return(function(n,r){let i=n.appId;i!==void 0&&(wn(r,10),jc(r,i));let o=n.cid;o!==void 0&&(wn(r,16),wn(r,o));let s=n.cname;s!==void 0&&(wn(r,26),jc(r,s));let a=n.deviceId;a!==void 0&&(wn(r,34),jc(r,a));let c=n.elapse;c!==void 0&&(wn(r,40),Qu(r,c));let l=n.fileSize;l!==void 0&&(wn(r,48),Qu(r,oh(l)));let u=n.height;u!==void 0&&(wn(r,56),Qu(r,oh(u)));let d=n.jpg;d!==void 0&&(wn(r,66),wn(r,d.length),(function(Y,M){let B=n1(Y,M.length);Y.bytes.set(M,B)})(r,d));let f=n.networkType;f!==void 0&&(wn(r,72),Qu(r,oh(f)));let h=n.osType;h!==void 0&&(wn(r,80),Qu(r,oh(h)));let p=n.requestId;p!==void 0&&(wn(r,90),jc(r,p));let g=n.sdkVersion;g!==void 0&&(wn(r,98),jc(r,g));let m=n.sequence;m!==void 0&&(wn(r,104),Qu(r,oh(m)));let y=n.sid;y!==void 0&&(wn(r,114),jc(r,y));let v=n.timestamp;v!==void 0&&(wn(r,120),Qu(r,v));let E=n.uid;E!==void 0&&(wn(r,128),wn(r,E));let b=n.vid;b!==void 0&&(wn(r,136),wn(r,b));let S=n.width;S!==void 0&&(wn(r,144),Qu(r,oh(S)));let w=n.service;w!==void 0&&(wn(r,152),wn(r,w));let C=n.callbackData;C!==void 0&&(wn(r,162),jc(r,C));let _=n.jpgEncryption;_!==void 0&&(wn(r,168),wn(r,_));let I=n.requestType;I!==void 0&&(wn(r,176),wn(r,I));let O=n.scorePorn;O!==void 0&&(wn(r,185),zE(r,O));let L=n.scoreSexy;L!==void 0&&(wn(r,193),zE(r,L));let R=n.scoreNeutral;R!==void 0&&(wn(r,201),zE(r,R));let F=n.scene;F!==void 0&&(wn(r,208),wn(r,F));let W=n.ossFilePrefix;W!==void 0&&(wn(r,218),jc(r,W));let J=n.serviceVendor;if(J!==void 0)for(let Y of J){wn(r,226);let M=fH();$Ue(Y,M),wn(r,M.limit),rje(r,M),nje(M)}})(e,t),(function(n){let r=n.bytes,i=n.limit;return r.length===i?r:r.subarray(0,i)})(t)}function KUe(e){return(function(n){let r={};e:for(;!fee(n);){let i=Yc(n);switch(i>>>3){case 0:break e;case 1:r.code=Yc(n);break;case 2:r.msg=hee(n,Yc(n));break;case 3:{let o=eje(n);r.data=qUe(n),n.limit=o;break}default:uee(n,7&i)}}return r})({bytes:t=e,offset:0,limit:t.length});var t}function qUe(e){let t={};e:for(;!fee(e);){let n=Yc(e);switch(n>>>3){case 0:break e;case 1:t.requestId=hee(e,Yc(e));break;case 2:t.requestType=Yc(e)>>>0;break;case 3:t.scorePorn=HE(e);break;case 4:t.scoreSexy=HE(e);break;case 5:t.scoreNeutral=HE(e);break;case 6:t.requestScene=Yc(e)>>>0;break;case 7:t.scene=Yc(e)>>>0;break;default:uee(e,7&n)}}return t}function $Ue(e,t){let n=e.service;n!==void 0&&(wn(t,8),wn(t,n));let r=e.vendor;r!==void 0&&(wn(t,16),wn(t,r));let i=e.token;i!==void 0&&(wn(t,26),jc(t,i));let o=e.callbackUrl;o!==void 0&&(wn(t,34),jc(t,o))}function eje(e){let t=Yc(e),n=e.limit;return e.limit=e.offset+t,n}function uee(e,t){switch(t){case 0:for(;128&pee(e););break;case 2:jE(e,Yc(e));break;case 5:jE(e,4);break;case 1:jE(e,8);break;default:throw new Error("Unimplemented type: "+t)}}let tje=new Float32Array(1);new Uint8Array(tje.buffer);let NI=new Float64Array(1),Jo=new Uint8Array(NI.buffer);function oh(e){return{low:e|=0,high:e>>31,unsigned:e>=0}}let dee=[];function fH(){const e=dee.pop();return e?(e.offset=e.limit=0,e):{bytes:new Uint8Array(64),offset:0,limit:0}}function nje(e){dee.push(e)}function jE(e,t){if(e.offset+t>e.limit)throw new Error("Skip past limit");e.offset+=t}function fee(e){return e.offset>=e.limit}function n1(e,t){let n=e.bytes,r=e.offset,i=e.limit,o=r+t;if(o>n.length){let s=new Uint8Array(2*o);s.set(n),e.bytes=s}return e.offset=o,o>i&&(e.limit=o),r}function MI(e,t){let n=e.offset;if(n+t>e.limit)throw new Error("Read past limit");return e.offset+=t,n}function hee(e,t){let n=MI(e,t),r=String.fromCharCode,i=e.bytes,o="�",s="";for(let a=0;a=t?s+=o:(c=i[a+n+1],(192&c)!=128?s+=o:(d=(31&f)<<6|63&c,d<128?s+=o:(s+=r(d),a++))):(240&f)==224?a+2>=t?s+=o:(c=i[a+n+1],l=i[a+n+2],(49344&(c|l<<8))!=32896?s+=o:(d=(15&f)<<12|(63&c)<<6|63&l,d<2048||d>=55296&&d<=57343?s+=o:(s+=r(d),a+=2))):(248&f)==240?a+3>=t?s+=o:(c=i[a+n+1],l=i[a+n+2],u=i[a+n+3],(12632256&(c|l<<8|u<<16))!=8421504?s+=o:(d=(7&f)<<18|(63&c)<<12|(63&l)<<6|63&u,d<65536||d>1114111?s+=o:(d-=65536,s+=r(55296+(d>>10),56320+(1023&d)),a+=3))):s+=o}return s}function jc(e,t){let n=t.length,r=0;for(let s=0;s=55296&&a<=56319&&s+1=55296&&a<=56319&&s+1>6&31|192:(a<65536?o[i++]=a>>12&15|224:(o[i++]=a>>18&7|240,o[i++]=a>>12&63|128),o[i++]=a>>6&63|128),o[i++]=63&a|128)}}function rje(e,t){let n=n1(e,t.limit),r=e.bytes,i=t.bytes;for(let o=0,s=t.limit;o>>=0;t>=128;)hH(e,127&t|128),t>>>=7;hH(e,t)}function Qu(e,t){let n=t.low>>>0,r=(t.low>>>28|t.high<<4)>>>0,i=t.high>>>24,o=i===0?r===0?n<16384?n<128?1:2:n<1<<21?3:4:r<16384?r<128?5:6:r<1<<21?7:8:i<128?9:10,s=n1(e,o),a=e.bytes;switch(o){case 10:a[s+9]=i>>>7&1;case 9:a[s+8]=o!==9?128|i:127&i;case 8:a[s+7]=o!==8?r>>>21|128:r>>>21&127;case 7:a[s+6]=o!==7?r>>>14|128:r>>>14&127;case 6:a[s+5]=o!==6?r>>>7|128:r>>>7&127;case 5:a[s+4]=o!==5?128|r:127&r;case 4:a[s+3]=o!==4?n>>>21|128:n>>>21&127;case 3:a[s+2]=o!==3?n>>>14|128:n>>>14&127;case 2:a[s+1]=o!==2?n>>>7|128:n>>>7&127;case 1:a[s]=o!==1?128|n:127&n}}function pH(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),n.push.apply(n,r)}return n}const ije=new Map([["moderation",1],["supervise",2]]);function mH(e){return{low:e|=0,high:e>>31,unsigned:e>=0}}class oje extends fr{get connectionState(){return this._connectionState}set connectionState(t){if(this._connectionState===t)return;const n=this._connectionState;this._connectionState=t,this.emit(ci.CONNECTION_STATE_CHANGE,n,t)}get inspectType(){return this._inspectType}set inspectType(t){var n;this._inspectMode=vc(n=t.map((r=>ije.get(r)||0))).call(n,((r,i)=>r+i)),this._inspectType=t}get quality(){return this._quality}set quality(t){this._quality=t>1?1:t<.1?.1:t,this.qualityTimer&&(window.clearTimeout(this.qualityTimer),this.qualityTimer=null),this._quality>=1||(this.qualityTimer=window.setTimeout((()=>{this.quality=this._quality/this.qualityRatio}),6e4))}constructor(t){super(),H(this,"name","AgoraRTCVideoContentInspect"),H(this,"_connectionState",ba.CONNECTING),H(this,"_innerConnectionState",void 0),H(this,"sequence",0),H(this,"inspectStartTime",void 0),H(this,"workerManagerConnection",void 0),H(this,"workerConnection",void 0),H(this,"workerMessageLengthLimit",void 0),H(this,"inspectIntervalMinimum",void 0),H(this,"qualityRatio",void 0),H(this,"_connectInfo",void 0),H(this,"_cancelTokenSource",Lo.CancelToken.source()),H(this,"_retryConfig",void 0),H(this,"wmSequence",0),H(this,"inspectInterval",void 0),H(this,"inspectTimer",null),H(this,"ossFilePrefix",void 0),H(this,"extraInfo",void 0),H(this,"_inspectType",void 0),H(this,"_inspectMode",void 0),H(this,"_quality",1),H(this,"qualityTimer",null),H(this,"_inspectId",void 0),H(this,"_needWorkUrlOnly",!1),H(this,"inspectImage",(()=>{if(this.connectionState!==ba.CONNECTED)throw new xe(Q.OPERATION_ABORTED,"content inspect service connection status is ".concat(this.connectionState));this.inspectTimer&&(window.clearInterval(this.inspectTimer),this.inspectTimer=null),this.inspectTimer=window.setInterval((()=>{this.connectionState===ba.CONNECTED?this.requestToInspectImage():D.debug("[".concat(this._inspectId,"] Inspect State is not connected , "),this.connectionState)}),this.inspectInterval{this._innerConnectionState=n,D.debug("[".concat(this._inspectId,"] Inspect operation :").concat(pa[n]," ").concat(r||""))})),this.handleWorkerManagerEvents(),this.workerConnection=new dg("worker-"+this._inspectId,jr),this.handleWorkerEvents()}async init(t,n){this.emit(ci.STATE_CHANGE,pa.CONNECT_AP),this._connectInfo=t;const r=this._cancelTokenSource.token;return this._retryConfig=n,new ot(((i,o)=>{this.on(ci.CONNECTION_STATE_CHANGE,((s,a)=>{a===ba.CONNECTED&&i()})),this.requestAP(t,r,n).then((s=>{this.connectWorkerManager(s)})).catch((s=>{o(s)}))}))}async requestAP(t,n,r){const i=he("WEBCS_DOMAIN").map((a=>"https://".concat(a,"/api/v1"))),o=await(function(a,c,l,u){let{appId:d,areaCode:f,cname:h,sid:p,token:g,uid:m}=c;Zh++;const y="image_moderation_api",v={service_name:y,json_body:JSON.stringify({appId:d,areaCode:f,cname:h,command:"allocateEdge",requestId:Zh,seq:Zh,sid:p,token:g,ts:Date.now(),uid:m+""})};let E,b,S=a[0];return wc((async()=>{E=Date.now();const w=await Tc(S,{data:v,cancelToken:l,headers:{"X-Packet-Service-Type":"0","X-Packet-URI":"61"},params:{action:"wrtc_gateway"}});if(b=Date.now()-E,w.code!==0){const O=new xe(Q.UNEXPECTED_RESPONSE,"image inspect ap error, code"+w.code,{retry:!0,responseTime:b});throw D.error(O.toString()),O}const C=JSON.parse(w.json_body);if(C.code!==200){const O=new xe(Q.UNEXPECTED_RESPONSE,"image inspect ap error, code: ".concat(C.code,", reason: ").concat(C.reason),{code:C.code,responseTime:b});throw D.error(O.toString()),O}if(!C.servers||!Array.isArray(C.servers)||C.servers.length===0){const O=new xe(Q.UNEXPECTED_RESPONSE,"image inspect ap empty server",{code:C.code,responseTime:b});throw D.error(O.toString()),O}const _=he("VIDEO_INSPECT_WORKER_MANAGER_HOST"),I=he("VIDEO_INSPECT_WORKER_MANAGER_PORT");return{addressList:C.servers.map((O=>{let{address:L,wss:R}=O;if(L&&R)return"wss://".concat(L.replace(/\./g,"-"),".").concat(_,":").concat(I||R)})).filter((O=>!!O)),workerToken:C.workerToken,vid:C.vid,responseTime:b}}),((w,C)=>(mt.apworkerEvent(p,{success:!0,sc:200,serviceName:y,responseDetail:JSON.stringify(w.addressList),firstSuccess:C===0,responseTime:b,serverIp:a[C%a.length]}),!1)),((w,C)=>(mt.apworkerEvent(p,{success:!1,sc:w.data&&w.data.code||200,serviceName:y,responseTime:b,serverIp:a[C%a.length]}),!!(w.code!==Q.OPERATION_ABORTED&&w.code!==Q.UNEXPECTED_RESPONSE||w.data&&w.data.retry)&&(S=a[(C+1)%a.length],!0))),u)})(i,t,n,r);this.emit(ci.STATE_CHANGE,pa.AP_CONNECTED);const{addressList:s}=o;return this.wmSequence++,s}async connectWorkerManager(t){let n=arguments.length>1&&arguments[1]!==void 0&&arguments[1];this._needWorkUrlOnly=n,this.emit(ci.STATE_CHANGE,pa.CONNECT_WORKER_MANAGER),await this.workerManagerConnection.init(t,1e4)}async connectWorker(t){await this.workerConnection.init([t])}handleWorkerManagerEvents(){this.workerManagerConnection.on(Bt.CONNECTED,(async()=>{this.emit(ci.STATE_CHANGE,pa.WORKER_MANAGER_CONNECTED,this.workerManagerConnection.url),this.workerManagerConnection.sendMessage({appId:this._connectInfo.appId,cname:this._connectInfo.cname,uid:this._connectInfo.uid+"",sdkVersion:"4.22.0",sid:this._connectInfo.sid,seq:this.wmSequence,ts:Number(Date.now()),requestId:Math.floor(1e12*Math.random()),allocate:!0,clientRequest:{command:"join"}},!0)})),this.workerManagerConnection.on(Bt.CLOSED,(()=>{this._innerConnectionState{this._innerConnectionState{this._innerConnectionState{this.emit(ci.STATE_CHANGE,pa.GET_WORKER_MANAGER_RESPONSE);const n=this.workerManagerConnection.url;this.workerManagerConnection.close();const r=JSON.parse(t.data);if(r.code!==200)throw D.error("[".concat(this._inspectId,"] Unexpected code ").concat(r.code," from worker manager")),new xe(Q.UNEXPECTED_RESPONSE,"response code of worker is unexpected",r);if(!(r.serverResponse&&r.serverResponse.portWss&&n))throw D.error("[".concat(this._inspectId,"] Unexpected content from worker manager : ").concat(JSON.stringify(r))),new xe(Q.UNEXPECTED_RESPONSE,"response content of worker is unexpected",r);{const i=he("VIDEO_INSPECT_WORKER_PORT")||r.serverResponse.portWss,o=n.replace(/:\d+\/?$/,":".concat(i));this.emit(ci.STATE_CHANGE,pa.CONNECT_WORKER,o),this._needWorkUrlOnly?this.emit(ci.REQUEST_NEW_WORKER_URL,o):await this.connectWorker(o)}})),this.workerManagerConnection.on(Bt.WILL_RECONNECT,((t,n,r)=>{r(t)})),this.workerManagerConnection.on(Bt.REQUEST_NEW_URLS,((t,n)=>{this.requestAP(this._connectInfo,this._cancelTokenSource.token,this._retryConfig).then(t).catch(n)}))}handleWorkerEvents(){this.workerConnection.on(Bt.CONNECTED,(async()=>{this.emit(ci.STATE_CHANGE,pa.WORKER_CONNECTED,this.workerConnection.url),this.connectionState=ba.CONNECTED})),this.workerConnection.on(Bt.ON_MESSAGE,(async t=>{if(t.data instanceof ArrayBuffer){const r=KUe(new Uint8Array(t.data));if(he("SHOW_VIDEO_INSPECT_WORKER_MESSAGE")&&D.debug("[".concat(this._inspectId,"] Response message for worker of inspect content "),JSON.stringify(r)),r.code===200){if(Array.isArray(this.inspectType)&&this.inspectType.length===1&&this.inspectType[0]==="supervise")return void this.emit(ci.INSPECT_RESULT,void 0,void 0);if(r.data&&r.data.scorePorn&&r.data.scoreSexy&&r.data.scoreNeutral){var n;const i={porn:r.data.scorePorn,sexy:r.data.scoreSexy,neutral:r.data.scoreNeutral},o=vc(n=Object.keys(i)).call(n,((a,c)=>i[a]>i[c]?a:c),"porn"),s=Object.keys(i).find((a=>a===o));this.emit(ci.INSPECT_RESULT,s)}else this.emit(ci.INSPECT_RESULT,void 0,new xe(Q.UNEXPECTED_RESPONSE,r.code+"","There is an unexpected data on message"))}else this.emit(ci.INSPECT_RESULT,void 0,new xe(Q.UNEXPECTED_RESPONSE,r.code+"",r.msg))}else D.error("[".concat(this._inspectId,"] Unexpected message type from worker")),this.emit(ci.INSPECT_RESULT,void 0,new xe(Q.UNEXPECTED_RESPONSE,"invalid worker message type"))})),this.workerConnection.on(Bt.CLOSED,(()=>{this.connectionState=ba.CLOSED})),this.workerConnection.on(Bt.FAILED,(()=>{this.connectionState=ba.CLOSED})),this.workerConnection.on(Bt.RECONNECTING,(()=>{this.connectionState=this.connectionState===ba.CONNECTED?ba.RECONNECTING:ba.CONNECTING})),this.workerConnection.on(Bt.WILL_RECONNECT,((t,n,r)=>{t==="recover"&&r(t),r("tryNext")})),this.workerConnection.on(Bt.REQUEST_NEW_URLS,((t,n)=>{this.workerManagerConnection.close(),this.once(ci.REQUEST_NEW_WORKER_URL,(r=>{t([r])})),this.requestAP(this._connectInfo,this._cancelTokenSource.token,this._retryConfig).then((r=>{this.connectWorkerManager(r,!0)})).catch((r=>{n(r)}))}))}async requestToInspectImage(){this.sequence++;const t=ia(this,ci.CLIENT_LOCAL_VIDEO_TRACK),n={appId:this._connectInfo.appId,cname:this._connectInfo.cname,cid:this._connectInfo.cid,sid:this._connectInfo.sid,uid:this._connectInfo.uid,vid:this._connectInfo.vid};if(t){if(!t.isPlaying)return void this.emit(ci.INSPECT_RESULT,void 0,new xe(Q.INVALID_OPERATION,"Only the track being played can be inspected"));const r=await this.generateRequestData(t,n);this.workerConnection.sendMessage(r,!0,!0)}else this.emit(ci.INSPECT_RESULT,void 0,new xe(Q.INVALID_OPERATION,"Only the track being published can be inspected"))}async generateRequestData(t,n){let{appId:r,cname:i,cid:o,vid:s,sid:a,uid:c}=n;const l=Date.now(),u=await t.getCurrentFrameImage("image/jpeg",this.quality),d=await e$(u,r,i),f=this.sequence+"-"+o+"-"+c+"-"+l+"-"+Wn(12,""),h={appId:r,cid:o,cname:i,deviceId:"",elapse:mH(Number(l-this.inspectStartTime)),fileSize:d.byteLength,jpgEncryption:2,height:u.height,width:u.width,jpg:d,networkType:6,osType:7,requestId:f,sdkVersion:"4.22.0",sequence:this.sequence,sid:a,timestamp:mH(l),uid:c,vid:s,service:this._inspectMode,callbackData:this.extraInfo,ossFilePrefix:this.ossFilePrefix};this.extraInfo===void 0&&delete h.callbackData,this.ossFilePrefix===void 0&&delete h.ossFilePrefix;const p=QUe(h);if(p.byteLength{var o;if(!lt(o=["supervise","moderation"]).call(o,i))throw new xe(Q.INVALID_PARAMS,"".concat(i," is not a valid inspect type."))})),n.inspectType=r}if(n&&n.extraInfo&&n.extraInfo.length>1024)throw new xe(Q.INVALID_PARAMS,"inspectConfig.extraInfo length cannot exceed 1024 bytes")})(t),new oje(t)}};Dn("PROCESS_ID","process-".concat(Wn(8,""),"-").concat(Wn(4,""),"-").concat(Wn(4,""),"-").concat(Wn(4,""),"-").concat(Wn(12,""))),(function(){let e;try{e=window.localStorage.getItem("websdk_ng_global_parameter")}catch(t){return void D.error("Error loading sdk config",t.message)}if(e)try{const t=JSON.parse(window.atob(e)),n=Date.now();D.debug("Loading global parameters from cache",t),Object.keys(t).forEach((r=>{if(Object.prototype.hasOwnProperty.call(Pr,r)){const{value:i,expires:o}=t[r];if(o&&o<=n)return;bd[r]=i,Pr[r]=i}}))}catch(t){D.error("Error loading mutableParamsCache: ".concat(e),t.message)}})(),Array.isArray(bd.AREAS)&&bd.AREAS.length>0&&TI(bd.AREAS,!0);const gH=(e,t,n)=>{D.debug("setParameter key:".concat(e,", value:").concat(JSON.stringify(t))),Dn(e,t,n)};T1(JUe,!1),T1(XUe,!1),T1(OFe,!1),T1(sje,!1),T1(WUe,!1);const Tr=(function(e){const t=new fr,n=e,r={getListeners:t.getListeners.bind(t),on:(i,o)=>((function(s,a){s===Jc.SECURITY_POLICY_VIOLATION&&H$(a,!0)})(i,o),t.on.bind(t)(i,o)),addListener:t.addListener.bind(t),once:t.once.bind(t),off:t.off.bind(t),removeAllListeners:t.removeAllListeners.bind(t),emit:t.emit.bind(t),safeEmit:t.safeEmit.bind(t)};return Wj(Wj({},n),r)})({__TRACK_LIST__:vh,VERSION:oa,BUILD:fI,ESM_BUNDLER:!1,ESM:!0,UMD:!1,DEV:!1,setParameter:gH,getParameter:he,getSupportedCodec:async function(){let e={audio:[],video:[]};try{let t=new RTCPeerConnection;const n=await(async function(r){let i;return fn().supportUnifiedPlan?(r.addTransceiver("video",{direction:"recvonly"}),r.addTransceiver("audio",{direction:"recvonly"}),i=(await r.createOffer()).sdp):i=(await r.createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!0})).sdp,i})(t);if(!n)return e;t.close(),t=null,e=(function(r){const i={video:[],audio:[]};return r.match(/ VP8/i)&&i.video.push("VP8"),r.match(/ VP9/i)&&i.video.push("VP9"),r.match(/ AV1/i)&&i.video.push("AV1"),r.match(/ H264/i)&&i.video.push("H264"),r.match(/ H265/i)&&i.video.push("H265"),r.match(/ opus/i)&&i.audio.push("OPUS"),r.match(/ PCMU/i)&&i.audio.push("PCMU"),r.match(/ PCMA/i)&&i.audio.push("PCMA"),r.match(/ G722/i)&&i.audio.push("G722"),i})(n)}catch(t){throw new xe(Q.CREATE_OFFER_FAILED,t.toString&&t.toString()).print()}return e},checkSystemRequirements:function(){const e=mt.reportApiInvoke(null,{name:Zr.CHECK_SYSTEM_REQUIREMENTS,options:[],tag:vr.TRACER});let t=!1;try{const o=window.RTCPeerConnection,s=navigator.mediaDevices&&navigator.mediaDevices.getUserMedia,a=window.WebSocket;t=!!(o&&s&&a),t&&aI()&&sq(75)&&new o().close()}catch(o){return D.error("check system requirement failed: ",o),!1}let n=!1;const r=an();r.name===An.CHROME&&Number(r.version)>=58&&(nc.engine.name!=="WebKit"||(function(){const o=an();if(w4()){if(o.os===ii.MAC_OS)return!0;if(o.os===ii.IOS){const s=nc.os.version&&nc.os.version.split(".");if(s&&Number(s[0])===14&&s[1]&&Number(s[1])>=3||s&&Number(s[0])>14)return!0}}return!1})())&&(n=!0),(r.name===An.FIREFOX&&Number(r.version)>=56||r.name===An.OPERA&&Number(r.version)>=45||r.name===An.SAFARI&&Number(r.version)>=11||r.name==="WebKit"&&(vo()||Ma())&&r.osVersion&&Number(r.osVersion.split(".")[0])>=11||uq()||an().name===An.QQ)&&(n=!0),D.debug("checkSystemRequirements, api:",t,"browser",n);const i=t&&n;return e.onSuccess(i),i},getDevices:function(e){return xs.enumerateDevices(!0,!0,e)},getMicrophones:function(e){return xs.getRecordingDevices(e)},getCameras:function(e){return xs.getCamerasDevices(e)},getElectronScreenSources:Vq,getPlaybackDevices:function(e){return xs.getSpeakers(e)},createClient:function(){var e;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{codec:"vp8",audioCodec:"opus",mode:"rtc"};const n=mt.reportApiInvoke(null,{name:Zr.CREATE_CLIENT,options:[t],tag:vr.TRACER});try{(function(r){Kr(r.codec,"config.codec",["vp8","vp9","av1","h264","h265"]),Kr(r.mode,"config.mode",["rtc","live","p2p"]),r.audioCodec!==void 0&&Kr(r.audioCodec,"config.audioCodec",["opus","pcmu","pcma","g722"]),r.proxyServer!==void 0&&pi(r.proxyServer,"config.proxyServer",1,1e4),r.turnServer!==void 0&&mq(r.turnServer),r.httpRetryConfig!==void 0&&sM(r.httpRetryConfig),r.websocketRetryConfig!==void 0&&sM(r.websocketRetryConfig)})(t)}catch(r){throw n.onError(r),r}return(cq(16,0)||lq(16,0,!0))&&(t.codec==="vp9"&&(t.codec="vp8",D.debug("browser not support vp9, force use vp8")),Dn("UNSUPPORTED_VIDEO_CODEC",["vp9"])),t.audioCodec===void 0&&(t.audioCodec="opus"),n.onSuccess(),new _Fe($a($a({forceWaitGatewayResponse:!0},t),{},{role:lt(e=["rtc","p2p"]).call(e,t.mode)?"host":t.role||"audience"}))},createCameraVideoTrack:async function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=he("CAMERA_CAPTURE_CONFIG"),n=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_CAM_VIDEO_TRACK,options:[or({},e),t]});t&&(e.encoderConfig=t);const r=O4(e),i=Wn(8,"track-cam-");let o=null;D.info("start create camera video track with config",JSON.stringify(e),"trackId",i);try{o=(await Os({video:r},i)).getVideoTracks()[0]||null}catch(a){throw n.onError(a),a}if(!o){const a=new Be(Q.UNEXPECTED_ERROR,"can not find track in media stream");return n.onError(a),a.throw(D)}e.optimizationMode&&dE(i,o,e,$c(e.encoderConfig));const s=new iC(o,e,r,e.scalabiltyMode?p5(e.scalabiltyMode):{numSpatialLayers:1,numTemporalLayers:1},e.optimizationMode,i);return n.onSuccess(s.getTrackId()),D.info("create camera video success, trackId:",i),s},createCustomVideoTrack:function(e){const t=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_CUSTOM_VIDEO_TRACK,options:[e]}),n=new Kn(e.mediaStreamTrack,{width:e.width,height:e.height,frameRate:e.frameRate,bitrateMax:e.bitrateMax,bitrateMin:e.bitrateMin},e.scalabiltyMode?p5(e.scalabiltyMode):{numSpatialLayers:1,numTemporalLayers:1},e.optimizationMode,Wn(8,"track-cus-"),[nr.CUSTOM_TRACK]);return t.onSuccess(n.getTrackId()),D.info("create custom video track success with config",e,"trackId",n.getTrackId()),n},createScreenVideoTrack:async function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"disable";const n=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_SCREEN_VIDEO_TRACK,options:[or({},e),t]});e.encoderConfig?typeof e.encoderConfig=="string"||e.encoderConfig.width&&e.encoderConfig.height||(e.encoderConfig.width={max:1920},e.encoderConfig.height={max:1080}):e.encoderConfig="1080p_2";const r=(function(u){const d={};u.screenSourceType&&(d.mediaSource=u.screenSourceType),u.extensionId&&Od()&&(d.extensionId=u.extensionId);const{displaySurface:f,selfBrowserSurface:h,surfaceSwitching:p,systemAudio:g}=u;(zA(107)||eM(107)||tM(93))&&(f&&(Kr(f,"displaySurface",["browser","window","monitor"]),d.displaySurface=f),h?(Kr(h,"selfBrowserSurface",["exclude","include"]),d.selfBrowserSurface=h):d.selfBrowserSurface="include",p&&(Kr(p,"surfaceSwitching",["exclude","include"]),d.surfaceSwitching=p)),(zA(105)||eM(105)||tM(91))&&g&&(Kr(g,"systemAudio",["exclude","include"]),d.systemAudio=g),u.electronScreenSourceId&&(d.sourceId=u.electronScreenSourceId);const m=u.encoderConfig?aE(u.encoderConfig):null;return d.mandatory={chromeMediaSource:"desktop",maxWidth:m?m.width:void 0,maxHeight:m?m.height:void 0},m&&(m.frameRate&&(typeof m.frameRate=="number"?(d.mandatory.maxFrameRate=m.frameRate,d.mandatory.minFrameRate=m.frameRate):(d.mandatory.maxFrameRate=m.frameRate.max||m.frameRate.ideal||m.frameRate.exact||void 0,d.mandatory.minFrameRate=m.frameRate.min||m.frameRate.ideal||m.frameRate.exact||void 0),d.frameRate=m.frameRate),m.width&&(d.width=m.width),m.height&&(d.height=m.height)),d})(e),i=Wn(8,"track-scr-v-");let o=null,s=null;const a=fn();if(!a.supportShareAudio&&t==="enable"){const u=new Be(Q.NOT_SUPPORTED,"your browser or platform is not support share-screen with audio");return n.onError(u),u.throw(D)}D.info("start create screen video track with config",e,"withAudio",t,"trackId",i);try{const u=await Os({screen:r,screenAudio:t==="auto"?a.supportShareAudio:t==="enable"},i);o=u.getVideoTracks()[0]||null,s=u.getAudioTracks()[0]||null}catch(u){throw n.onError(u),u}if(!o){const u=new Be(Q.UNEXPECTED_ERROR,"can not find track in media stream");return n.onError(u),u.throw(D)}if(!s&&t==="enable"){o&&o.stop();const u=new Be(Q.SHARE_AUDIO_NOT_ALLOWED);return n.onError(u),u.throw(D)}e.optimizationMode||(e.optimizationMode="detail"),e.optimizationMode&&(dE(i,o,e,e.encoderConfig&&aE(e.encoderConfig)||void 0),e.encoderConfig&&typeof e.encoderConfig!="string"&&(e.encoderConfig.bitrateMin=e.encoderConfig.bitrateMax));const c=new Kn(o,e.encoderConfig?aE(e.encoderConfig):{},e.scalabiltyMode?p5(e.scalabiltyMode):{numSpatialLayers:1,numTemporalLayers:1},e.optimizationMode,i,[nr.SCREEN_TRACK]);if(!s)return n.onSuccess(c.getTrackId()),D.info("create screen video track success","video:",c.getTrackId()),c;const l=new mr(s,void 0,Wn(8,"track-scr-a-"),!1);return n.onSuccess([c.getTrackId(),l.getTrackId()]),D.info("create screen video track success","video:",c.getTrackId(),"audio:",l.getTrackId()),[c,l]},createMicrophoneAndCameraTracks:async function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const n=he("CAMERA_CAPTURE_CONFIG"),r=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_MIC_AND_CAM_TRACKS,options:[e,t,n]});n&&(t.encoderConfig=n);const i=O4(t),o=lB(e),s=Wn(8,"track-mic-"),a=Wn(8,"track-cam-");let c=null,l=null;D.info("start create camera video track(".concat(a,") and microphone audio track(").concat(s,") with config, audio: ").concat(JSON.stringify(e),", video: ").concat(JSON.stringify(t)));try{const f=await Os({audio:o,video:i},"".concat(s,"-").concat(a));c=f.getAudioTracks()[0],l=f.getVideoTracks()[0]}catch(f){throw r.onError(f),f}if(!c||!l){const f=new Be(Q.UNEXPECTED_ERROR,"can not find tracks in media stream");return r.onError(f),f.throw(D)}t.optimizationMode&&dE(a,l,t,$c(t.encoderConfig));const u=new _4(c,e,o,s),d=new iC(l,t,i,t.scalabiltyMode?p5(t.scalabiltyMode):{numSpatialLayers:1,numTemporalLayers:1},t.optimizationMode,a);return r.onSuccess([u.getTrackId(),d.getTrackId()]),D.info("create camera video track(".concat(a,") and microphone audio track(").concat(s,") success")),[u,d]},createMicrophoneAudioTrack:async function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_MIC_AUDIO_TRACK,options:[e]}),n=lB(e),r=Wn(8,"track-mic-");let i=null;D.info("start create microphone audio track with config",JSON.stringify(e),"trackId",r);try{i=(await Os({audio:n},r)).getAudioTracks()[0]||null}catch(s){throw t.onError(s),s}if(!i){const s=new Be(Q.UNEXPECTED_ERROR,"can not find track in media stream");return t.onError(s),s.throw(D)}const o=new _4(i,e,n,r);return t.onSuccess(o.getTrackId()),D.info("create microphone audio track success, trackId:",r),o},createCustomAudioTrack:function(e){const t=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_CUSTOM_AUDIO_TRACK,options:[e]}),n=new mr(e.mediaStreamTrack,e.encoderConfig?P4(e.encoderConfig):{},Wn(8,"track-cus-"),!1);return D.info("create custom audio track success with config",e,"trackId",n.getTrackId()),t.onSuccess(n.getTrackId()),n},createBufferSourceAudioTrack:async function(e){var t;const{cacheOnlineFile:n,encoderConfig:r}=e;let{source:i}=e;const o={source:i instanceof AudioBuffer?"AudioBuffer":i instanceof File?(t=File.name)!==null&&t!==void 0?t:"File":i,cacheOnlineFile:n,encoderConfig:r},s=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CREATE_BUFFER_AUDIO_TRACK,options:[o]});if(he("DISABLE_WEBAUDIO"))throw new Be(Q.NOT_SUPPORTED,"can not create BufferSourceAudioTrack when WebAudio disabled");const a=Wn(8,"track-buf-");D.info("start create buffer source audio track with config",JSON.stringify(o),"trackId",a);const c=i;if(!(i instanceof AudioBuffer))try{i=await(async function(d,f){let h=null;if(typeof d=="string"){const g=ZB.get(d);if(g)return D.debug("use cached audio resource: ",d),g;try{h=(await wc((()=>Lo.get(d,{responseType:"arraybuffer"})),void 0,void 0,{maxRetryCount:3})).data}catch(m){throw new Be(Q.FETCH_AUDIO_FILE_FAILED,m.toString())}}else h=await new ot(((m,y)=>{const v=new FileReader;v.onload=E=>{E.target?m(E.target.result):y(new Be(Q.READ_LOCAL_AUDIO_FILE_ERROR))},v.onerror=()=>{y(new Be(Q.READ_LOCAL_AUDIO_FILE_ERROR))},v.readAsArrayBuffer(d)}));const p=await(function(g){const m=$p();return new ot(((y,v)=>{m.decodeAudioData(g,(E=>{y(E)}),(E=>{v(new Be(Q.DECODE_AUDIO_FILE_FAILED,E.toString()))}))}))})(h);return typeof d=="string"&&f&&ZB.set(d,p),p})(i,n)}catch(d){return s.onError(d),d.throw(D)}const l=new IBe(i),u=new TBe(c,l,r?P4(r):{},a);return D.info("create buffer source audio track success, trackId:",a),s.onSuccess(u.getTrackId()),u},setAppType:function(e){if(D.debug("setAppType: ".concat(e)),!(Number.isInteger(e)&&e>=0))throw D.debug("Invalid appType"),new xe(Q.INVALID_PARAMS,"invalid app type",e);Dn("APP_TYPE",Math.floor(e))},setLogLevel:function(e){D.setLogLevel(e)},enableLogUpload:function(){he("USE_NEW_LOG")?Dn("UPLOAD_LOG",!0):D.enableLogUpload()},disableLogUpload:function(){he("USE_NEW_LOG")?Dn("UPLOAD_LOG",!1):D.disableLogUpload()},createChannelMediaRelayConfiguration:function(){return new P$},checkAudioTrackIsActive:async function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5e3;const n=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CHECK_AUDIO_TRACK_IS_ACTIVE,options:[t]});if(!(e instanceof mr||e instanceof Jh)){const c=new xe(Q.INVALID_TRACK,"the parameter is not a audio track");return n.onError(c),c.throw()}t&&t<1e3&&(t=1e3);const r=e instanceof mr?e.getTrackLabel():"remote_track",i=e.getVolumeLevel();let o=i,s=i;const a=Date.now();return new ot((c=>{const l=setInterval((()=>{const u=e.getVolumeLevel();o=u>o?u:o,s=u1e-4,f=Date.now()-a;if(d||f>t){clearInterval(l);const h=d,p={duration:f,deviceLabel:r,maxVolumeLevel:o,result:h};D.info("[track-".concat(e.getTrackId(),"] check audio track active completed. ").concat(JSON.stringify(p))),n.onSuccess(p),c(h)}}),200)}))},checkVideoTrackIsActive:async function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5e3;const n=mt.reportApiInvoke(null,{tag:vr.TRACER,name:Zr.CHECK_VIDEO_TRACK_IS_ACTIVE,options:[t]});if(!(e instanceof Kn||e instanceof Gh)){const d=new xe(Q.INVALID_TRACK,"the parameter is not a video track");return n.onError(d),d.throw()}t&&t<1e3&&(t=1e3);const r=e instanceof Kn?e.getTrackLabel():"remote_track",i=e.getMediaStreamTrack(!0),o=document.createElement("video");o.style.width="1px",o.style.height="1px",o.setAttribute("muted",""),o.muted=!0,o.setAttribute("playsinline",""),o.controls=!1,(Ri()||w4())&&(o.style.opacity="0.01",o.style.position="fixed",o.style.left="0",o.style.top="0",document.body.appendChild(o)),o.srcObject=new MediaStream([i]),o.play();const s=document.createElement("canvas");s.width=160,s.height=120;let a=0,c=0;try{const d=Date.now();a=await(function(f,h,p,g){let m,y=0,v=null;return new ot(((E,b)=>{function S(){y>g&&m&&(m(),E(y));const w=p.getContext("2d");if(!w){const I=new xe(Q.UNEXPECTED_ERROR,"can not get canvas 2d context.");return D.error(I.toString()),void b(I)}w.drawImage(f,0,0,160,120);const C=w.getImageData(0,0,p.width,p.height),_=Math.floor(C.data.length/3);if(v){for(let I=0;I<_;I+=3)if(C.data[I]!==v[I])return y+=1,void(v=C.data);v=C.data}else v=C.data}setTimeout((()=>{m&&(m(),E(y))}),h),m=EI((()=>{S()}),30)}))})(o,t,s,4),c=Date.now()-d}catch(d){throw n.onError(d),d}pFe===An.SAFARI&&(o.pause(),o.remove()),o.srcObject=null;const l=a>4,u={duration:c,changedPicNum:a,deviceLabel:r,result:l};return D.info("[track-".concat(e.getTrackId(),"] check video track active completed. ").concat(JSON.stringify(u))),n.onSuccess(u),l},setArea:TI,audioElementPlayCenter:Io,resumeAudioContext:function(){Io.autoResumeAfterInterruption(!0)},processExternalMediaAEC:function(e){kFe.processExternalMediaAEC(e)},registerExtensions:function(e){const t=he("PLUGIN_INFO")||[];e.forEach((n=>{"name"in n&&!lt(t).call(t,n.name)&&t.push(n.name);const r=n;r.__registered__=!0,r.logger.hookLog=D.extLog,r.reporter.hookApiInvoke=mt.extApiInvoke,r.parameters&&Object.keys(r.parameters).forEach((i=>{r.parameters[i]=he(i)}))})),gH("PLUGIN_INFO",t)},ChannelMediaRelayError:gh,ChannelMediaRelayEvent:Ul,ChannelMediaRelayState:zo,RemoteStreamFallbackType:yBe,RemoteStreamType:vBe,ConnectionDisconnectedReason:Tn,AudienceLatencyLevelType:KLe,AREAS:gn,preload:async function(e,t,n,r){return D$(e,t,n,r)}});Object.defineProperties(Tr,{onAudioAutoplayFailed:{get:()=>ws.onAudioAutoplayFailed,set:e=>{ws.onAudioAutoplayFailed=e}},onAutoplayFailed:{get:()=>ws.onAutoplayFailed,set:e=>{ws.onAutoplayFailed=e}},_onSecurityPolicyViolation:{value:void 0,writable:!0},_cspEventHandlerPointer:{value:void 0,writable:!0},onSecurityPolicyViolation:{get:()=>Tr._onSecurityPolicyViolation,set(e){Tr._onSecurityPolicyViolation=e,H$(e)}},__CLIENT_LIST__:{get:()=>he("SHOW_GLOBAL_CLIENT_LIST")?hd:[]}}),xs.on(z0.CAMERA_DEVICE_CHANGED,(e=>{D.info("camera device changed",JSON.stringify(e)),Tr.onCameraChanged&&Tr.onCameraChanged(e),Tr.safeEmit(Jc.CAMERA_CHANGED,e)})),xs.on(z0.RECORDING_DEVICE_CHANGED,(e=>{D.info("microphone device changed",JSON.stringify(e)),Tr.onMicrophoneChanged&&Tr.onMicrophoneChanged(e),Tr.safeEmit(Jc.MICROPHONE_CHANGED,e)})),xs.on(z0.PLAYOUT_DEVICE_CHANGED,(e=>{D.debug("playout device changed",JSON.stringify(e)),Tr.onPlaybackDeviceChanged&&Tr.onPlaybackDeviceChanged(e),Tr.safeEmit(Jc.PLAYBACK_DEVICE_CHANGED,e)})),Io.onAutoplayFailed=()=>{D.info("detect audio element autoplay failed"),ws.onAudioAutoplayFailed&&ws.onAudioAutoplayFailed()},In.on("autoplay-failed",(()=>{D.info("detect webaudio autoplay failed"),ws.onAudioAutoplayFailed&&ws.onAudioAutoplayFailed(),Tr.safeEmit(Jc.AUTOPLAY_FAILED)})),In.on(mi.STATE_CHANGE,((e,t)=>{D.info("audio context state changed: ".concat(t," => ").concat(e)),Tr.onAudioContextStateChanged&&Tr.onAudioContextStateChanged(e,t),Tr.safeEmit(Jc.AUDIO_CONTEXT_STATE_CHANGED,e,t)})),Fr.on(Th.NETWORK_STATE_CHANGE,((e,t)=>{D.info("[network-indicator] network state changed, ".concat(t," => ").concat(e))})),window&&(window.__ARTC__=Tr);const aje="d035320941e34cd5bc4ec106eff05580";var mee=(e=>(e.Host="host",e.Audience="audience",e))(mee||{});class gee{constructor(t){et(this,"client",null);et(this,"isConnected",!1);et(this,"currentChannel","");et(this,"config");if(this.config=t,!Ws.useRTC){Pe.log("[RTC] 未启用RTC,跳过客户端创建");return}}ensureClient(){if(!this.client){if(!Ws.useRTC)throw new Error("RTC is not enabled");try{Tr.setLogLevel(3),Tr.disableLogUpload()}catch{}this.client=Tr.createClient({mode:"live",codec:"vp8"}),Pe.log("[RTC] 创建RTC客户端成功"),this.setupEventListeners()}}setupEventListeners(){this.client&&(this.client.on("connection-state-change",(t,n,r)=>{t==="CONNECTED"?(this.isConnected=!0,Pe.log("[RTC] 已成功加入频道")):t==="DISCONNECTED"&&(this.isConnected=!1,Pe.warn("[RTC] 已离开频道"))}),this.client.on("user-joined",()=>{Pe.log("[RTC] 远端用户加入频道")}),this.client.on("user-left",()=>{Pe.log("[RTC] 远端用户离开频道")}),this.client.on("user-published",async(t,n)=>{try{Pe.log("[RTC] 远端用户发布音视频流:",t.uid,n),await this.client.subscribe(t,n),n==="video"&&(Pe.log("[RTC] 已订阅视频流 uid=",t.uid),setTimeout(()=>{t.videoTrack?Pe.log("[RTC] 视频轨道已可用,可以开始播放"):Pe.warn("[RTC] 订阅成功但视频轨道尚未准备好,可能需要等待")},500))}catch(r){Pe.error("[RTC] 自动订阅失败:",r)}}),this.client.on("user-unpublished",()=>{Pe.log("[RTC] 远端用户停止发布音视频流")}),this.client.on("user-info-updated",(t,n)=>{Pe.log("[RTC] 远端用户信息更新:",t.uid,n)}))}ensureMediaDevicesPolyfill(){try{if(!(typeof window<"u"&&typeof navigator<"u"))return;const n=window.location.protocol,r=navigator;if(r.mediaDevices||(r.mediaDevices={}),n==="file:"||n==="http:"){if(typeof r.mediaDevices.enumerateDevices!="function")r.mediaDevices.enumerateDevices=async()=>[];else{const o=r.mediaDevices.enumerateDevices.bind(r.mediaDevices);r.mediaDevices.enumerateDevices=async(...s)=>{try{return await o(...s)}catch{return[]}}}const i=`[RTC] 当前为非安全上下文(${n})。已禁用本地设备枚举,仅观看远端视频可用。建议使用 https 或 localhost。`;Pe.warn(i)}}catch(t){Pe.warn("[RTC] 屏蔽本地设备枚举失败:",t)}}async joinChannel(t,n,r){if(this.ensureClient(),Pe.log("[RTC] 加入频道参数:",{channelName:t,token:n,userId:r}),!this.client)throw new Error("RTC client not initialized");if(this.isConnected&&this.currentChannel===t){Pe.log("[RTC] 已经在频道中,无需重复加入:",t);return}this.isConnected&&this.currentChannel!==t&&(Pe.log("[RTC] 已在其他频道,先离开当前频道:",this.currentChannel),await this.leaveChannel());try{const i=aje,o=(t??"").toString().trim();if(!o)throw new Error("RTC channel name is empty");if(typeof n=="string"&&n.trim()==="")throw new Error("RTC token is empty string");const s=n===void 0?null:n,a=Number(r);if(isNaN(a))throw new Error(`Invalid UID: ${r}. UID must be a number.`);await this.client.join(i,o,s,a),this.currentChannel=o}catch(i){throw Pe.error("[RTC]Failed to join channel:",i),i}}async setClientRole(t){if(this.ensureClient(),!this.client)throw new Error("RTC client not initialized");await this.client.setClientRole(t),Pe.log("[RTC] 已设置客户端角色:",t)}async subscribe(t){if(this.ensureClient(),!this.client)throw new Error("RTC client not initialized");try{await this.client.subscribe(t,"video"),Pe.log("[RTC] 成功订阅用户视频流:",t.uid)}catch(n){throw Pe.error("Failed to subscribe to user:",n),n}}getRemoteUsers(){return this.client?this.client.remoteUsers:[]}async leaveChannel(){if(!(!this.client||!this.isConnected))try{await this.client.leave(),this.isConnected=!1,this.currentChannel=""}catch(t){throw Pe.error("Failed to leave channel:",t),t}}async renewToken(t){if(this.ensureClient(),!this.client)throw new Error("RTC client not initialized");try{Pe.log("[RTC]刷新token",t),await this.client.renewToken(t)}catch(n){throw Pe.error("Failed to renew token:",n),n}}destroy(){this.client&&(this.client.removeAllListeners(),this.client=null),this.isConnected=!1,this.currentChannel=""}}et(gee,"insecureNoticeShown",!1);class cje{constructor(){et(this,"rtcClient");et(this,"currentVideoTrack",null);et(this,"isWatching",!1);et(this,"rtcToken","");et(this,"userId","");et(this,"rtcTokenExpireTime",0);et(this,"onTokenUpdate",t=>{if(!Ws.useRTC){Pe.log("[RTC] 未启用RTC,不处理Token更新");return}const n=t.rtcToken,r=(t==null?void 0:t.rtcTokenExpireTime)||0;if(!n||typeof n!="string"){Pe.warn("[RTC] 收到无效的Token更新数据:",t);return}const i=Math.floor(Date.now()/1e3),o=300;if(this.rtcToken&&this.rtcTokenExpireTime>0){const s=this.rtcTokenExpireTime-i;if(s>o){Pe.log("[RTC] 当前Token还有较长时间才过期,跳过更新",{remainingSeconds:s,expireTime:new Date(this.rtcTokenExpireTime*1e3).toLocaleString()});return}}this.rtcToken=n,this.rtcTokenExpireTime=r,Pe.log("[RTC]Token已更新"),Pe.log("[RTC] User ID:",t==null?void 0:t.userId),this.rtcTokenExpireTime>0&&Pe.log("[RTC]Token过期时间:",new Date(this.rtcTokenExpireTime*1e3).toLocaleString()),this.rtcClient.renewToken(n)});this.rtcClient=new gee,this.listenTokenUpdate()}listenTokenUpdate(){qr.on("onRtcTokenChanged",this.onTokenUpdate)}async startWatching(t,n,r){try{const i=t??qi.sn;try{const c=await qr.request("getRtcToken",{},1e4);if(!c.rtcToken)return Pe.error("[RTC] Token为空"),!1;this.rtcToken=c.rtcToken,this.userId=c.userId}catch(c){return Pe.error("[RTC] 从IPC获取RTC Token失败",c),!1}Pe.log("[RTC] 加入频道参数:",{printerId:qi.printerId,channel:i,uid:this.userId,tokenLength:this.rtcToken.length,tokenPrefix:this.rtcToken.substring(0,20)+"..."}),await this.rtcClient.joinChannel(i,this.rtcToken,this.userId),await this.rtcClient.setClientRole(mee.Host),await this.waitForRemoteUsers();const o=this.rtcClient.getRemoteUsers();if(Pe.log(`[RTC Service] 频道中共有 ${o.length} 个远端用户`),o.length===0)return Pe.warn("[RTC Service] 频道中没有其他用户,请确保有其他设备已加入同一频道"),!1;let s;const a=o.filter(c=>c.hasVideo);return a.length>0?s=a[0]:(s=o[0],Pe.log(`[RTC Service] 选择用户(没有视频流): ${s.uid}`)),s?(await this.waitForVideoTrack(s),s.videoTrack?(this.currentVideoTrack=s.videoTrack,this.isWatching=!0,!0):(Pe.warn("User has no video track"),!1)):(Pe.warn("No target user found"),!1)}catch(i){throw Pe.error("Failed to start watching video stream:",i),i}}async stopWatching(){try{Pe.log("[RTC] 停止观看视频流"),this.currentVideoTrack&&(this.currentVideoTrack=null),this.isWatching=!1,await this.rtcClient.leaveChannel()}catch(t){throw Pe.error("Failed to stop watching video stream:",t),t}}getCurrentVideoTrack(){return this.currentVideoTrack}isCurrentlyWatching(){return this.isWatching}getRemoteUsers(){return this.rtcClient.getRemoteUsers()}getVideoUsers(){return this.rtcClient.getRemoteUsers().filter(t=>t.hasVideo)}async switchUser(t){try{Pe.log("Switching to user:",t),this.isWatching&&(this.currentVideoTrack=null,this.isWatching=!1);const r=this.rtcClient.getRemoteUsers().find(i=>i.uid===t);return r?(await this.rtcClient.subscribe(r),r.videoTrack?(this.currentVideoTrack=r.videoTrack,this.isWatching=!0,Pe.log("Successfully switched to user:",t),!0):!1):(Pe.warn(`Target user ${t} not found`),!1)}catch(n){throw Pe.error("Failed to switch user:",n),n}}async waitForVideoTrack(t){return new Promise(n=>{let r=0;const i=50,o=()=>{if(r++,t.videoTrack){const a=typeof t.videoTrack.getMediaStreamTrack=="function";Pe.log(`[RTC Service] 视频轨道已准备就绪: ${t.uid}, 轨道可用: ${a}`),n()}else r>=i?(Pe.warn(`[RTC Service] 等待视频轨道超时: ${t.uid}`),n()):setTimeout(o,200)};o()})}async waitForRemoteUsers(){return new Promise(t=>{let n=0;const r=30;let i=!1;const o=()=>{n++;const s=this.rtcClient.getRemoteUsers();s.length>0?(s.forEach((a,c)=>{Pe.log(`[RTC Service] 第 ${c+1} 个远端用户: UID=${a.uid}, 有视频=${a.hasVideo}, 有音频=${a.hasAudio}, 视频轨道=${!!a.videoTrack}`)}),i=!0,t()):n>=r?(i||Pe.warn("[RTC Service] 等待超时,未找到远端用户"),t()):setTimeout(o,200)};o()})}checkAgoraConfig(){const t=[];return{isValid:t.length===0,issues:t}}destroy(){try{qr.off("onRtcTokenChanged",this.onTokenUpdate),this.stopWatching(),this.rtcClient.destroy(),Pe.log("RTC service destroyed")}catch(t){Pe.error("Failed to destroy RTC service:",t)}}}const D5=new cje;class lje{constructor(){et(this,"sn","");et(this,"emitter",sT());et(this,"printerId","");et(this,"connectionStatus",0);et(this,"pendingRequests",new Map);et(this,"requestIdCounter",1);et(this,"onConnectionStatus",t=>{Pe.log("[RTM ] 连接状态变化:",t);let n;switch(typeof t=="object"&&"status"in t?n=t.status:n=t,this.connectionStatus=n,n){case 2:Pe.log("[RTM ] 正在连接到打印机...");break;case 1:Pe.log("[RTM ] 已成功连接到打印机"),this.emitter.emit("connected");break;case 0:Pe.log("[RTM ] 已断开与打印机的连接"),this.emitter.emit("disconnected");break;default:Pe.warn("[RTM ] 未知的连接状态:",n)}});et(this,"onPrinterEventRaw",t=>{let n=t;if(t.event&&typeof t.event=="string")try{n=JSON.parse(t.event)}catch(r){Pe.error("[RTM ] 解析事件数据失败:",r),n=t}this.emitter.emit("autoReportStatus",n.result)});et(this,"onRtmMessage",t=>{Pe.logJson("[RTM]收到消息:",t);const n=t==null?void 0:t.message;if(!n){Pe.warn("[RTM ] 消息数据为空");return}const r=JSON.parse(n);r.id!==void 0&&this.handleResponse(r)});Pe.log("当前协议非 RTM,跳过 RTM 初始化")}async initializeConnectionStatus(){try{const t=await qr.request("getConnectStatus",{printerId:this.printerId},1e4);Pe.log("[RTM ] 初始连接状态:",t),t.printerId===this.printerId?this.connectionStatus=t.connectStatus:(this.connectionStatus=0,Pe.error("[RTM ] 打印机ID不匹配")),this.onConnectionStatus(this.connectionStatus)}catch(t){Pe.error("[RTM ] 获取初始连接状态失败:",t),this.connectionStatus=0}}listenIPCEvent(){qr.on("onRtmMessage",this.onRtmMessage),qr.on("onConnectionStatus",this.onConnectionStatus),qr.on("onPrinterEventRaw",this.onPrinterEventRaw)}handleResponse(t){const{id:n}=t,r=this.pendingRequests.get(n.toString());if(r){const{resolve:i,timer:o}=r;clearTimeout(o),this.pendingRequests.delete(n.toString()),t.method===Rt.GetBasicInfo&&this.emitter.emit("status",t.result),i(t.result)}}async request(t,n={},r=5e3){const i=this.requestIdCounter++,o={...n,id:i},s=JSON.stringify(o);return new Promise((a,c)=>{const l=setTimeout(()=>{this.pendingRequests.delete(i.toString()),c(new Error(`[RTM] 请求超时 (${r}ms)`))},r);this.pendingRequests.set(i.toString(),{resolve:a,reject:c,timer:l}),Pe.logJson("[RTM]消息发送:",s),qr.request("sendRtmMessage",{printerId:this.printerId,message:s},r).then(()=>{}).catch(u=>{clearTimeout(l),this.pendingRequests.delete(i.toString()),Pe.error("[RTM] 发送失败:",{method:t,params:n,error:u}),c(u)})})}async startPrint(t,n){return this.request(Rt.StartPrint,{...n})}async pausePrint(t,n,r=5e3){return this.request(Rt.PausePrint,{...n},r)}async resumePrint(t,n,r=5e3){return this.request(Rt.ResumePrint,{...n},r)}async stopPrint(t,n,r=5e3){return this.request(Rt.CancelPrint,{...n},r)}async urgentStop(t,n){return this.request(Rt.UrgentStop,{...n})}async feed(t,n,r=5e3){return this.request(Rt.Feed,{...n},r)}async retreat(t,n,r=5e3){return this.request(Rt.Retreat,{...n},r)}async getSystemInfo(t,n){return this.request(Rt.GetSystemInfo,{...n})}async getBaseInfo(t,n){return this.request(Rt.GetBasicInfo,{...n})}async getPrintsInfo(t,n){return this.request(Rt.GetPrintsInfo,{...n})}async getHomeStatus(t,n){return this.request(Rt.GetHomeStatus,{...n})}async setPrintConfig(t,n){return this.request(Rt.SetPrintConfig,{...n})}async xyzHomeControl(t,n){return this.request(Rt.XYZHomeControl,{...n})}async xyzMoveControl(t,n){return this.request(Rt.XYZMoveControl,{...n})}async temperatureControl(t,n){return this.request(Rt.TemperatureControl,{...n})}async setLight(t,n){return this.request(Rt.LightSwitch,{...n})}async setFan(t,n){return this.request(Rt.FanControl,{...n})}async setPrintSpeed(t,n){return this.request(Rt.PrintSpeedControl,{...n})}async setDeviceName(t,n){return this.request(Rt.SetDeviceName,{...n})}async otaUpgrade(t,n){return this.request(Rt.OTAUpgrade,{...n})}async getFileList(t,n){var r,i;try{const o=n.params.offset,s=n.params.limit,a=Math.floor(o/s)+1,c=await qr.request("getFileList",{printerId:this.printerId,pageNumber:a,pageSize:s},1e4),l={error_code:0,offset:((r=n.params)==null?void 0:r.offset)||0,total:c.totalFiles,file_list:c.fileList.map(u=>({filename:u.fileName,type:"file",print_time:u.printTime,layer:u.layer,size:u.size,create_time:u.createTime,total_filament_used:u.totalFilamentUsed,total_print_times:u.totalPrintTimes,last_print_time:u.lastPrintTime}))};return Pe.log("[RTM ] 本地文件列表返回结果:",l),l}catch(o){return Pe.error("[RTM ] 本地文件列表失败:",o),{error_code:o.code||1,offset:((i=n.params)==null?void 0:i.offset)||0,total:0,file_list:[]}}}async getFileDetail(t,n){try{Pe.log("[RTM ] 正在获取文件详情:",n);const r=await qr.request("getFileDetail",{printerId:this.printerId,fileName:n.params.filename},1e4),i={error_code:0,filename:r.fileName,print_time:r.printTime,layer:r.layer,size:r.size,create_time:r.createTime,total_filament_used:r.totalFilamentUsed,total_print_times:r.totalPrintTimes,last_print_time:r.lastPrintTime,color_map:(r.colorMapping||[]).map(o=>({t:o.t,color:o.color,name:o.type})),thumbnail:r.thumbnail};return Pe.log("[RTM ] 获取文件详情返回结果:",i),i}catch(r){throw Pe.error("[RTM ] 获取文件详情失败:",r),r}}async getBaseInfoIPC(t,n){try{return{error_code:0,...await qr.request("getPrinterStatusRaw",{printerId:this.printerId},1e4)}}catch(r){throw Pe.error("[RTM ] 获取基本信息失败:",r),r}}async getSn(){try{const t=await qr.request("get_sn",{},1e4);return Pe.log("[RTM ]获取SN成功:",t),t}catch(t){throw Pe.error("[RTM ]获取SN失败:",t),t}}async getFileThumbnail(t,n){return this.request(Rt.GetFileThumbnail,{...n})}async deleteFile(t,n){return this.request(Rt.DeleteFile,{...n})}async getPrintHistoryList(t,n,r=1,i=20){return this.getPrintTaskList(r,i)}async getPrintTaskList(t=1,n=100){try{const r=await qr.request("getPrintTaskList",{printerId:this.printerId,pageNumber:t,pageSize:n},1e4);if(!r||r===null)return Pe.error("[RTM ] 获取打印任务列表响应为空"),{error_code:1,total:0,history_task_list:[]};const i={error_code:0,total:r.totalTasks||0,history_task_list:(r.taskList||[]).map(o=>({task_id:o.taskId,task_name:o.taskName,begin_time:o.beginTime,end_time:o.endTime,task_status:o.taskStatus,time_lapse_video_status:0,time_lapse_video_url:"",time_lapse_video_size:0,time_lapse_video_duration:0}))};return Pe.log("[RTM ] 获取打印任务列表返回结果:",i),i}catch(r){return Pe.error("[RTM ] 获取打印任务列表失败:",r),{error_code:1,total:0,history_task_list:[]}}}async deletePrintHistory(t,n){var r;try{const i=((r=n.params)==null?void 0:r.list)||[];return Pe.log("[RTM]删除打印任务请求:",{printerId:this.printerId,taskIds:i}),{error_code:(await qr.request("deletePrintTasks",{printerId:this.printerId,taskIds:i},1e4)).error_code}}catch(i){throw Pe.error("[RTM ] 删除打印任务失败:",i),i}}async loadFilament(t,n,r=5e3){return this.request(Rt.LoadFilamenting,{...n},r)}async unloadFilament(t,n,r=5e3){return this.request(Rt.UnloadFilamenting,{...n},r)}async setFilamentInfo(t,n){return this.request(Rt.SetFilamentInfo,{...n})}async setMonoFilamentInfo(t,n){return this.request(Rt.SetMonoFilamentInfo,{...n})}async getMonoFilamentInfo(t,n){return this.request(Rt.GetMonoFilamentInfo,{...n})}async setAutoFillFilament(t,n){return this.request(Rt.SetAutoFillFilament,{...n})}async getCanvasInfo(t,n){return this.request(Rt.GetCanvasInfo,{...n})}async autoLeveling(t,n){return this.request(Rt.AutoLeveling,{...n})}async vibrationOptimize(t,n){return this.request(Rt.VibrationOptimize,{...n})}async pidDetect(t,n){return this.request(Rt.PIDDetect,{...n})}async oneKeyCheck(t,n){return this.request(Rt.OneKeyCheck,{...n})}async getAIDetectionSettings(t,n){return this.request(Rt.GetAIDetectionSettings,{...n})}async setAIDetectionSettings(t,n){return this.request(Rt.SetAIDetectionSettings,{...n})}}const Ku=new lje,uje={class:"dialog-header font-size16"},dje={class:"dialog-content bg-color"},fje={class:"noodle-detection-cards"},hje={class:"detection-cards"},pje={class:"detection-card"},mje={class:"card-info"},gje={class:"card-title"},vje={class:"card-description"},yje={class:"config-section"},Eje={class:"config-card"},bje={class:"config-label"},Sje={class:"config-card"},Aje={class:"config-label"},Cje={class:"bottom-container"};var rc=(e=>(e[e.On=1]="On",e[e.Off=0]="Off",e))(rc||{}),vee=(e=>(e.Low="low",e.Medium="medium",e.High="high",e))(vee||{}),yee=(e=>(e.Notify="notification",e.Pause="pause",e))(yee||{});const wje=Je({__name:"ai-detection",props:{title:{type:String,default:"AI功能"},detectionItems:{type:Array,required:!0},detectionFrequency:{type:String,default:"medium"},anomalyHandling:{type:String,default:"notification"},cancelText:{type:String,default:"关闭"},saveText:{type:String,default:"保存"},modelValue:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["update:modelValue","save","close"],setup(e,{emit:t}){const{isMobile:n}=gs(),{t:r}=Eo(),i=e,o=t,s=V({get:()=>i.modelValue,set:y=>o("update:modelValue",y)}),a=se(0),c=se("medium"),l=se("notification"),u=se(0),d=V(()=>a.value===0),f=()=>{const y=i.detectionItems.find(E=>E.key==="noodleDetection");a.value=(y==null?void 0:y.value)===1?1:0,c.value=i.detectionFrequency,l.value=i.anomalyHandling;const v=i.detectionItems.find(E=>E.key==="foreignObjectDetection");u.value=(v==null?void 0:v.value)===1?1:0};Ye(()=>i.modelValue,y=>{y&&f()},{immediate:!0}),Ye(()=>i.detectionItems,()=>{i.modelValue&&f()},{deep:!0}),Ye(()=>[i.detectionFrequency,i.anomalyHandling],()=>{i.modelValue&&(c.value=i.detectionFrequency,l.value=i.anomalyHandling)});const h=()=>{s.value=!1,o("close")},p=()=>{const y={spaghetti_detection:{status:a.value,frequency:c.value,handing:l.value},foreign_object_detection:{status:u.value}};o("save",y),s.value=!1},g=()=>{},m=()=>{};return(y,v)=>{const E=pr,b=Ug,S=Fg,w=Zd;return ne(),Ze(w,{modelValue:s.value,"onUpdate:modelValue":v[3]||(v[3]=C=>s.value=C),width:P(n)?"90%":"500px","show-close":!1,style:Ut({padding:0,maxHeight:P(n)?"80vh":"70vh",overflow:"auto"}),"close-on-click-modal":!1,"close-on-press-escape":!0,class:"bg-color"},{header:Re(()=>[G("div",uje,[G("span",null,Ue(e.title),1),be(E,{class:"close-btn",type:"info",size:"small",onClick:h},{default:Re(()=>[be(P(Wd))]),_:1})])]),default:Re(()=>[G("div",dje,[G("div",fje,[G("div",hje,[G("div",pje,[G("div",mje,[G("div",gje,Ue(P(r)("aiDetection.noodleDetection")),1),G("div",vje,Ue(P(r)("aiDetection.noodleDetectionDesc")),1)]),be(S,{modelValue:a.value,"onUpdate:modelValue":v[0]||(v[0]=C=>a.value=C),class:"card-select",onChange:g},{default:Re(()=>[be(b,{label:P(r)("aiDetection.on"),value:1},null,8,["label","value"]),be(b,{label:P(r)("aiDetection.off"),value:0},null,8,["label","value"])]),_:1},8,["modelValue"])])]),G("div",yje,[G("div",Eje,[G("div",bje,Ue(P(r)("aiDetection.detectionFrequency")),1),be(S,{modelValue:c.value,"onUpdate:modelValue":v[1]||(v[1]=C=>c.value=C),class:"config-select",disabled:d.value,onChange:m},{default:Re(()=>[be(b,{label:P(r)("aiDetection.low"),value:"low"},null,8,["label","value"]),be(b,{label:P(r)("aiDetection.medium"),value:"medium"},null,8,["label","value"]),be(b,{label:P(r)("aiDetection.high"),value:"high"},null,8,["label","value"])]),_:1},8,["modelValue","disabled"])]),G("div",Sje,[G("div",Aje,Ue(P(r)("aiDetection.anomalyHandling")),1),be(S,{modelValue:l.value,"onUpdate:modelValue":v[2]||(v[2]=C=>l.value=C),class:"config-select",disabled:d.value,onChange:m},{default:Re(()=>[be(b,{label:P(r)("aiDetection.notify"),value:"notification"},null,8,["label","value"]),be(b,{label:P(r)("aiDetection.pause"),value:"pause"},null,8,["label","value"])]),_:1},8,["modelValue","disabled"])])])]),G("div",Cje,[be(E,{class:"cancel-btn",onClick:h},{default:Re(()=>[yt(Ue(e.cancelText),1)]),_:1}),be(E,{class:"save-btn",type:"primary",onClick:p,loading:e.loading},{default:Re(()=>[yt(Ue(e.saveText),1)]),_:1},8,["loading"])])])]),_:1},8,["modelValue","width","style"])}}}),Tje=rr(wje,[["__scopeId","data-v-bcd626cd"]]),WE=1e3,di=oy("printer-mqtt",()=>{const r=String(Ws.wan).toLowerCase()==="true",i=se(),o=se(!1),{t:s}=Eo(),a=se(qi.sn),c=se(!1);async function l(){var _e;if(!r){const urlSn=(qi.sn||"").trim();if(urlSn){a.value=urlSn;return}try{const Me=await Ku.getSn(),it=(_e=Me==null?void 0:Me.sn)==null?void 0:_e.trim();it&&(a.value=it)}catch(Me){Pe.warn("[IPC] get_sn 失败,沿用 URL sn",Me)}}}const u=se(!1),d=se([]),f=se([]),h=se(1),p=se(15),g=se(0),m=se(!0),y=se(!1),v=se(""),E=se(),b=se([]),S=se(""),w=se(0);let C=null;const _=se({}),I=eo({moveStep:10,modelFanSpeed:0,auxiliaryFanSpeed:0,chassisFanSpeed:0,lightValue:0,curPrinterMode:1,printModeOptions:[{label:"control.slient",value:0},{label:"control.balanced",value:1},{label:"control.sport",value:2},{label:"control.ludicrous",value:3}],xPos:0,yPos:0,zPos:0}),O=se(),L=se(),R=se(""),F=se([]),W=se([]),J=se(""),Y=se(""),M=se(xn.Local),B=se(0),q=se([]),z=se(""),A=se(!1),T=se(),k=se({error_code:0,spaghetti_detection:{status:rc.Off,frequency:vee.Medium,handing:yee.Notify},foreign_object_detection:{status:rc.Off}}),j=V(()=>{var _e,Me;return((Me=(_e=O.value)==null?void 0:_e.external_device)==null?void 0:Me.u_disk)??!1}),re=V(()=>{var _e,Me;return((Me=(_e=O.value)==null?void 0:_e.external_device)==null?void 0:Me.camera)??!1}),me=V(()=>{var _e,Me,it,zt;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?!0:((zt=(it=(Me=O.value)==null?void 0:Me.external_device)==null?void 0:it.chassis_camera)==null?void 0:zt.configured)==1}),te=V(()=>{var _e,Me,it,zt;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?!0:((zt=(it=(Me=O.value)==null?void 0:Me.external_device)==null?void 0:it.chassis_lighting)==null?void 0:zt.configured)==1}),X=V(()=>{var _e,Me;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?qi.region!=qC.China&&jn():((Me=i.value)==null?void 0:Me.machine_model)==tc.C2?me.value&&te.value&&jn():!1}),fe=V(()=>{var _e,Me,it,zt;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?!0:((zt=(it=(Me=O.value)==null?void 0:Me.external_device)==null?void 0:it.auxiliary_fan)==null?void 0:zt.configured)==1}),le=V(()=>{var _e,Me,it,zt;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?!0:((zt=(it=(Me=O.value)==null?void 0:Me.external_device)==null?void 0:it.exhaust_grille)==null?void 0:zt.configured)==1}),ve=V(()=>{var _e,Me,it,zt;return((_e=i.value)==null?void 0:_e.machine_model)==tc.CC2?!0:((zt=(it=(Me=O.value)==null?void 0:Me.external_device)==null?void 0:it.chassis_fan)==null?void 0:zt.configured)==1}),Z=V(()=>{var Me,it;const _e=((Me=L.value)==null?void 0:Me.filename)??"";if(((it=O.value)==null?void 0:it.machine_status.status)===Ge.Printing&&_e)if(M.value===xn.UDisk){const zt=W.value.find(Fi=>Fi.filename===_e);return(zt==null?void 0:zt.layer)??0}else{const zt=F.value.find(Fi=>Fi.filename===_e);return zt?(zt==null?void 0:zt.layer)??0:(Pe.log("当前打印文件不存在缓存,重新获取文件详情获取总层数",_e),jI(_e,xn.Local,void 0,!1),B)}return 0}),ae=V(()=>{var _e;return((_e=E.value)==null?void 0:_e.canvas_info.auto_refill)??!1}),pe=V(()=>{var _e;return((_e=E.value)==null?void 0:_e.canvas_info.active_tray_id)??-1}),K=se(-1),ce=`lastLoadedSlotId:${a.value}`,ye=localStorage.getItem(ce);ye&&(K.value=Number(ye));const ee=V(()=>{var _e;for(const Me of((_e=E.value)==null?void 0:_e.canvas_info.canvas_list)??[]){const it=Me.tray_list.find(zt=>zt.status==Oo.loaded);if(it)return K.value=it.tray_id,localStorage.setItem(ce,it.tray_id.toString()),it.tray_id}return-1}),$=V(()=>{var _e;for(const Me of((_e=E.value)==null?void 0:_e.canvas_info.canvas_list)??[])if(Me.connected)return!0;return!1});Ye($,(_e,Me)=>{!_e&&Me&&r1()},{immediate:!0});const ge=V(()=>L.value===void 0?0:L.value.print_duration),ie=V(()=>L.value===void 0?0:L.value.remaining_time_sec),Ie=V(()=>{var Me;return((Me=O.value)==null?void 0:Me.machine_status.status)??Ge.Offline}),Ce=V(()=>{var _e;return((_e=O.value)==null?void 0:_e.machine_status.sub_status)??0}),oe=se(0),Ne=V(()=>{const _e=Ce.value,Me=[De.LoadStartCanvas,De.LoadNozzleHeatingCanvas,De.LoadManualInsertFilamentCanvas,De.LoadCutFilamentCanvas,De.LoadDrawFilamentCanvas,De.LoadPushFilamentCanvas,De.LoadFlushFilamentCanvas,De.LoadCompleteCanvas,De.LoadFailedCanvas],it=[De.UnloadStartCanvas,De.UnloadNozzleHeatingCanvas,De.UnloadCheckFilamentCanvas,De.UnloadCutFilamentCanvas,De.UnloadDrawFilamentCanvas,De.UnloadCompleteCanvas,De.UnloadFailedCanvas];return Me.includes(_e)||it.includes(_e)}),x=V(()=>Ie.value===Ge.Initializing),N=V(()=>c.value),U=V(()=>Ie.value===Ge.Printing),de=V(()=>Ie.value===Ge.Idle),we=V(()=>Ie.value===Ge.Loading),Ae=V(()=>Ie.value===Ge.UnLoading),Le=V(()=>Ie.value===Ge.AutoLeveling),ue=V(()=>Ie.value===Ge.PidCalibration),Ee=V(()=>Ie.value===Ge.ResonanceTester),He=V(()=>Ie.value===Ge.SelfCheck),Xe=V(()=>Ie.value===Ge.Upgrade),qe=V(()=>Ie.value===Ge.ManualHoming),It=V(()=>Ie.value===Ge.FileSending),We=V(()=>Ie.value===Ge.Extrudering),$e=V(()=>Ie.value===Ge.PowerOffResume),ht=V(()=>Ce.value===De.Homed),Ht=V(()=>Ce.value===De.Printing),_t=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Paused),qt=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Paused),nn=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Interruption),kn=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Stopped),Jn=V(()=>Ie.value===Ge.Printing&&Ce.value===De.PrintComplete),oi=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Stopping),Se=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Pausing),Oe=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Resuming),ct=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Resumed),gt=V(()=>Ie.value===Ge.Printing&&Ce.value===De.HotendPreheating),Et=V(()=>Ie.value===Ge.Printing&&Ce.value===De.HotendCooling),$n=V(()=>Ie.value===Ge.Printing&&Ce.value===De.BedPreheating),Mi=V(()=>Ie.value===Ge.Printing&&Ce.value===De.BedCooling),$o=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Homing),Tl=V(()=>Ie.value===Ge.Printing&&Ce.value===De.Homed),ua=V(()=>Ie.value===Ge.Printing&&Ce.value===De.AutoLeveling),Ve=V(()=>Ie.value===Ge.Printing&&Ce.value===De.AutoLevelingComplete),Ct=V(()=>Ie.value===Ge.Printing&&Ce.value===De.UnloadNozzleHeatingCanvas),un=V(()=>Ie.value===Ge.Printing&&Ce.value===De.UnloadCheckFilamentCanvas),hr=V(()=>Ie.value===Ge.Printing&&Ce.value===De.UnloadCutFilamentCanvas),si=V(()=>Ie.value===Ge.Printing&&Ce.value===De.UnloadDrawFilamentCanvas),No=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadNozzleHeatingCanvas),Bi=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadManualInsertFilamentCanvas),Mo=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadCutFilamentCanvas),o0=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadDrawFilamentCanvas),A6=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadPushFilamentCanvas),Oee=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadFlushFilamentCanvas),_ee=V(()=>Ie.value===Ge.Printing&&Ce.value===De.LoadCompleteCanvas);V(()=>Ce.value===De.ManualInsertFilament),V(()=>Ce.value===De.BiteFilament);const Ree=V(()=>Ce.value===De.BiteFilamentEnd),kee=V(()=>Ce.value===De.CutFilament),xee=V(()=>Ce.value===De.EjectFilament),Dee=V(()=>Ce.value===De.EjectFilamentComplete),Lee=V(()=>Ce.value===De.UnloadCompleteCanvas),Nee=V(()=>Ce.value===De.LoadCompleteCanvas),Mee=V(()=>Ce.value===De.ResonanceOptimizing),Bee=V(()=>Ce.value===De.ResonanceOptimized);V(()=>Ce.value===De.ResonanceOptimizeFailed),V(()=>Ce.value===De.PidPreheating),V(()=>Ce.value===De.PidDetecting);const Fee=V(()=>Ce.value===De.PidCompleted);V(()=>Ce.value===De.PidFailed);const Uee=V(()=>Ce.value===De.AutoLeveling),jee=V(()=>Ce.value===De.AutoLevelingComplete),Hee=V(()=>Ce.value===De.OTAInfoUpdating),zee=V(()=>Ce.value===De.OTADownloading),Wee=V(()=>Ce.value===De.OTAExtracting),Vee=V(()=>Ce.value===De.OTAUpdating),BI=V(()=>Ce.value===De.OTAComplete),Gee=V(()=>Ce.value===De.OTAFailed),Jee=V(()=>Ce.value===De.InitializeComplete),Zee=V(()=>Ie.value===Ge.TimeLapseVideoGenerating&&Ce.value===De.TimeLapseVideoGenerating),Yee=V(()=>Ie.value===Ge.Printing&&Ce.value===De.TimeLapseVideoGeneratingComplete),Xee=V(()=>Ie.value===Ge.Printing&&Ce.value===De.TimeLapseVideoGeneratingFailed),Qee=V(()=>Ie.value===Ge.PowerOffResume&&Ce.value==De.Default);V(()=>Ce.value===De.FileSendingComplete),Ye(BI,_e=>{_e&&setTimeout(async()=>{await l(),Pe.log("固件升级完成之后注册客户端"),dn.registerClient(a.value)},2e3)}),Ye($,_e=>{_e||r1()},{immediate:!0});const Kee=se("");dn.emitter.on("status",c2),dn.emitter.on("autoReportStatus",FI),dn.emitter.on("systemAutoReportStatus",qee),dn.emitter.on("getBaseInfo",xu),dn.emitter.on("getSystemInfo",l2),dn.emitter.on("sendHeartBeat",ete),dn.emitter.on("connected",async()=>{await l(),c.value=!0,dn.registerClient(a.value),dn.subscribeAotuReportTopic(a.value)}),dn.emitter.on("disconnected",()=>{c.value=!1,u.value=!1}),dn.emitter.on("registerSuccess",async()=>{u.value=!0,await xu(),await l2(),me.value&&await zI(),await r1()}),Ku.emitter.on("connected",async()=>{c.value=!0,u.value=!0,await xu(),await l2(),await r1(),X.value&&await WI()}),Ku.emitter.on("disconnected",()=>{c.value=!1,u.value=!1}),Ku.emitter.on("status",c2),Ku.emitter.on("autoReportStatus",FI),Jl.emitter.on("registerMaxRetryReached",()=>{Zt.error(s("toastMessages.DeviceRegisterFailed"))}),dn.emitter.on("ConnectionLimitExceeded",()=>{Zt.error(s("toastMessages.ConnectionLimitExceeded"))});async function FI(_e){if(!(!_e||typeof _e!="object")&&O.value){if(_e.extruder&&(O.value.extruder||(O.value.extruder={}),Object.assign(O.value.extruder,_e.extruder)),_e.heater_bed&&(O.value.heater_bed||(O.value.heater_bed={}),Object.assign(O.value.heater_bed,_e.heater_bed)),_e.print_status&&(O.value.print_status||(O.value.print_status={}),Object.assign(O.value.print_status,_e.print_status)),_e.fans&&(O.value.fans||(O.value.fans={}),_e.fans.fan&&(O.value.fans.fan||(O.value.fans.fan={}),Object.assign(O.value.fans.fan,_e.fans.fan)),_e.fans.box_fan&&(O.value.fans.box_fan||(O.value.fans.box_fan={}),Object.assign(O.value.fans.box_fan,_e.fans.box_fan)),_e.fans.aux_fan&&(O.value.fans.aux_fan||(O.value.fans.aux_fan={}),Object.assign(O.value.fans.aux_fan,_e.fans.aux_fan)),_e.fans.heater_fan&&(O.value.fans.heater_fan||(O.value.fans.heater_fan={}),Object.assign(O.value.fans.heater_fan,_e.fans.heater_fan)),_e.fans.controller_fan&&(O.value.fans.controller_fan||(O.value.fans.controller_fan={}),Object.assign(O.value.fans.controller_fan,_e.fans.controller_fan))),_e.gcode_move&&(O.value.gcode_move||(O.value.gcode_move={}),_e.gcode_move.speed_mode,Object.assign(O.value.gcode_move,_e.gcode_move)),_e.tool_head&&(O.value.tool_head||(O.value.tool_head={homed_axes:""}),Object.assign(O.value.tool_head,_e.tool_head)),_e.ztemperature_sensor&&(O.value.ztemperature_sensor||(O.value.ztemperature_sensor={}),Object.assign(O.value.ztemperature_sensor,_e.ztemperature_sensor)),_e.led&&(O.value.led||(O.value.led={}),Object.assign(O.value.led,_e.led)),_e.external_device&&(O.value.external_device||(O.value.external_device={u_disk:!1,camera:!1,chassis_camera:{configured:0},chassis_lighting:{configured:0},auxiliary_fan:{configured:0},exhaust_grille:{configured:0},chassis_fan:{configured:0}}),Object.assign(O.value.external_device,_e.external_device)),_e.machine_status){O.value.machine_status||(O.value.machine_status={status:0,sub_status:0,progress:0,exception_status:[],sub_status_reason_code:0});const Me=_e.machine_status.exception_status??[];q.value=[...Me],Me.length>0&&Pe.log("[RTM]异常码上报: ",Me),Object.assign(O.value.machine_status,_e.machine_status)}_e.canvas_info&&(E.value||(E.value={}),E.value.canvas_info||(E.value.canvas_info={}),Object.assign(E.value.canvas_info,_e.canvas_info)),_e.mono_filament_info&&(T.value||(T.value={}),Object.assign(T.value,_e.mono_filament_info)),_e.spaghetti_detection&&(k.value||(k.value={}),k.value.spaghetti_detection||(k.value.spaghetti_detection={}),Object.assign(k.value.spaghetti_detection,_e.spaghetti_detection)),_e.foreign_object_detection&&(k.value||(k.value={}),k.value.foreign_object_detection||(k.value.foreign_object_detection={}),Object.assign(k.value.foreign_object_detection,_e.foreign_object_detection)),c2(O.value)}}async function qee(_e){!_e||typeof _e!="object"||(i.value||(i.value={}),Object.assign(i.value,_e),Pe.log("[MQTT]自动上报系统信息:",i.value))}Ye(()=>{var _e;return(_e=O.value)==null?void 0:_e.machine_status.progress},_e=>{_e&&_e>0&&It.value&&jn()}),Ye(()=>It.value,(_e,Me)=>{!_e&&Me&&(w.value=100,w.value=0,S.value="",Pe.log("[ALL] 清理文件传输进度信息"))}),Ye(()=>Ie.value,async(_e,Me)=>{if(Me===Ge.Printing&&_e!==Ge.Printing&&(C!==null&&(clearTimeout(C),C=null),xu()),_e===Ge.Printing){C!==null&&(clearTimeout(C),C=null);const it=60;let zt=0;const Fi=async()=>{var Ji,Du;if(Ie.value!==Ge.Printing){C=null;return}if(zt>=it){Pe.log(`[ALL]轮询获取文件名已达最大次数${it}次,停止轮询`),C=null;return}zt++,await xu();const Vr=((Du=(Ji=O.value)==null?void 0:Ji.print_status)==null?void 0:Du.filename)||"";if(Vr){C=null;const Il=10,s0=1e3;(async()=>{let Va=!1;for(let Lu=1;Lu<=Il;Lu++){Pe.log(`[ALL]第${Lu}次请求打印文件缩略图:`,Vr);const u2=Lu==Il;if(await UI(Vr,xn.Local,u2,"print")){Pe.log("[MQTT]获取到缩略图,停止重试"),Va=!0;break}LusetTimeout(i1,s0))}Va||Pe.log(`[ALL]重试${Il}次后仍未获取到缩略图`)})()}else Ie.value===Ge.Printing?C=setTimeout(Fi,500):C=null};Fi()}_e===Ge.Offline&&(c.value=!1,u.value=!1,Pe.warn("[RTM] 主状态变为离线(-1)"))});async function c2(_e){var Me,it,zt,Fi,Vr,Ji,Du,Il,s0,Df,Va,Lu,u2,i1,VI,GI,JI;_e&&(((Me=O.value)==null?void 0:Me.machine_status.sub_status)!==void 0&&(oe.value=O.value.machine_status.sub_status),O.value=_e,L.value=(it=O.value)==null?void 0:it.print_status,R.value=((Fi=(zt=O.value)==null?void 0:zt.print_status)==null?void 0:Fi.uuid)||"",I.lightValue=((Vr=_e==null?void 0:_e.led)==null?void 0:Vr.status)??0,I.modelFanSpeed=Math.round((((Du=(Ji=_e==null?void 0:_e.fans)==null?void 0:Ji.fan)==null?void 0:Du.speed)??0)*100/255),I.auxiliaryFanSpeed=Math.round((((s0=(Il=_e==null?void 0:_e.fans)==null?void 0:Il.aux_fan)==null?void 0:s0.speed)??0)*100/255),I.chassisFanSpeed=Math.round((((Va=(Df=_e==null?void 0:_e.fans)==null?void 0:Df.box_fan)==null?void 0:Va.speed)??0)*100/255),I.curPrinterMode=(_e==null?void 0:_e.gcode_move.speed_mode)??1,I.xPos=Number((u2=(Lu=O.value)==null?void 0:Lu.gcode_move.x)==null?void 0:u2.toFixed(1)),I.yPos=Number((VI=(i1=O.value)==null?void 0:i1.gcode_move.y)==null?void 0:VI.toFixed(1)),I.zPos=Number((JI=(GI=O.value)==null?void 0:GI.gcode_move.z)==null?void 0:JI.toFixed(1)),v.value=(_e==null?void 0:_e.tool_head.homed_axes)??"",Pe.log("[ALL]设备全量信息更新:",O.value))}function $ee(_e){var Me;q.value=[..._e],(Me=O.value)!=null&&Me.machine_status&&(O.value.machine_status.exception_status=[..._e])}async function ete(){try{o.value=!0;const _e={type:"PING"};Pe.log("[MQTT]发送心跳包"),await dn.sendHeartBeat(a.value,_e)}catch{}finally{o.value=!1}}async function tte(_e){try{o.value=!0;const Me={method:Rt.StartPrint,params:_e};_e.storage_media===xn.UDisk&&!_e.filename.startsWith("/")&&(_e.filename="/"+_e.filename);let it;return jn()||(it=await dn.startPrint(a.value,Me)),it.error_code!==0&&it.error_code!==Eh.BedMeshDataMissing?Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.startFailed")):setTimeout(()=>{xu()},500),it}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.startFailed")+Me.message),{error_code:1}}finally{o.value=!1}}async function nte(){try{o.value=!0;const _e={method:Rt.PausePrint};let Me;jn()||(Me=await dn.pausePrint(a.value,_e,1e4*6)),Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.pauseFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.pauseFailed")+_e.message)}finally{o.value=!1}}async function rte(_e=1e4*6){try{o.value=!0;const Me={method:Rt.ResumePrint};let it;jn()||(it=await dn.resumePrint(a.value,Me,_e)),it.error_code!==0&&Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.resumeFailed"))}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.resumeFailed")+Me.message)}finally{o.value=!1}}async function ite(){try{o.value=!0;const _e={method:Rt.CancelPrint};let Me;jn()||(Me=await dn.stopPrint(a.value,_e,1e4*6)),Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.stopFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.stopFailed")+_e.message)}finally{o.value=!1}}async function UI(_e,Me=xn.Local,it=!0,zt="preview"){try{if(_e==="")return Pe.error("Filename is empty when getting file thumbnail!",_e),"";o.value=!0,Me===xn.UDisk&&!_e.startsWith("/")&&(_e="/"+_e);const Fi={method:Rt.GetFileThumbnail,params:{storage_media:Me,file_name:_e}};let Vr;if(jn()||(Vr=await dn.getFileThumbnail(a.value,Fi)),Vr.error_code===0){const Ji=Vr.thumbnail??"";return zt==="preview"?J.value=Ji:Y.value=Ji,Ji}else return it&&Lt(xt.ErrorCodeMsg,Vr.error_code),""}catch(Fi){return it&&Lt(xt.CustomMessage,0,"error",s("errorCodes.GetThumbnailFailed")+Fi.message),""}}async function ote(_e=xn.Local,Me,it=0,zt=20){try{o.value=!0;const Fi={method:Rt.GetFileList,params:{storage_media:_e,...Me&&{dir:Me},offset:it,limit:zt}};let Vr;if(jn()||(Vr=await dn.getFileList(a.value,Fi,1e4*3)),Vr.error_code==Eh.PrinterBusy?A.value=!0:A.value=!1,Vr.error_code===0){const Ji=(Il,s0)=>{const Df=new Map(s0.value.map(Va=>[Va.filename,Va]));for(const Va of Il)Df.set(Va.filename,Va);s0.value=Array.from(Df.values())},Du=Vr.file_list||[];return _e===xn.Local?Ji(Du,F):_e===xn.UDisk&&Ji(Du,W),{res:!0,file_list:Vr.file_list,total:Vr.total??0}}else return Vr.error_code==Eh.UDiskNotDetected?(Pe.log("u盘不存在"),{res:!1,file_list:[],total:0}):Vr.error_code==Eh.PrinterBusy&&_e==xn.UDisk&&Me=="/"&&it==0?(Pe.warn("请求U盘列表首页时,打印机正忙"),{res:!1,file_list:[],total:0}):(Lt(xt.ErrorCodeAndCustom,Vr.error_code,"error",s("toastMessages.getFileListFailed")),{res:!1,file_list:[],total:0})}catch{return Lt(xt.CustomMessage,0,"error",s("toastMessages.getFileListFailed")),{res:!1,file_list:[],total:0}}finally{o.value=!1}}async function jI(_e,Me,it,zt=!0,Fi="preview"){try{o.value=!0,Me===xn.UDisk&&!_e.startsWith("/")&&(_e="/"+_e);const Vr={method:Rt.GetFileDetail,params:{storage_media:Me,filename:_e,...it&&{dir:it}}};let Ji;return jn()||(Ji=await dn.getFileDetail(a.value,Vr,5e3)),Ji.error_code===0?(_.value=Ji,B.value=Ji.layer??0,jn(),Ji):(zt&&Lt(xt.ErrorCodeAndCustom,Ji.error_code,"error",s("toastMessages.getFileInfoFailed")),Ji)}catch(Vr){return zt&&Lt(xt.CustomMessage,0,"error",Vr.message),{}}finally{o.value=!1}}async function ste(_e,Me){try{o.value=!0;const it={method:Rt.DeleteFile,params:{storage_media:Me,file_path:_e}};let zt;jn()||(zt=await dn.deletePrintFile(a.value,it)),zt.error_code!==0&&Lt(xt.ErrorCodeMsg,zt.error_code,"error")}catch{Lt(xt.ErrorCodeMsg,0,"error",s("toastMessages.deleteFileFailed"))}finally{o.value=!1}}async function ate(){try{o.value=!0;const _e={method:Rt.GetHistoryTask};let Me;if(jn()||(Me=await dn.getPrintHistoryList(a.value,_e,1e4*3)),Me.error_code!==0)return Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.getHistoryFailed")),[];{const it=Me.history_task_list.sort((zt,Fi)=>Fi.begin_time-zt.begin_time);return d.value=it,f.value=HI(it),it}}catch(_e){return Lt(xt.CustomMessage,0,"error",s("toastMessages.getHistoryFailed")+_e.message),[]}finally{o.value=!1}}async function cte(_e=!1){if(y.value)return[];try{y.value=!0,_e?h.value+=1:(h.value=1,d.value=[],f.value=[]);const Me={method:Rt.GetHistoryTask};Pe.log(`RTM历史列表请求: 第${h.value}页, 每页${p.value}条`);const it=await Ku.getPrintHistoryList(a.value,Me,h.value,p.value);if(it.error_code!==0)return Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.getHistoryFailed")),[];{g.value=it.total||0,m.value=it.history_task_list.length>=p.value,Pe.log(`RTM懒加载: 第${h.value}页, 返回${it.history_task_list.length}条, 总计${g.value}条, 还有更多: ${m.value}`);const zt=it.history_task_list.sort((Fi,Vr)=>Vr.begin_time-Fi.begin_time);return _e?d.value=[...d.value,...zt]:d.value=zt,f.value=HI(d.value),zt}}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.getHistoryFailed")+Me.message),[]}finally{y.value=!1}}function HI(_e){return _e.map(Me=>({Thumbnail:"",TaskName:Me.task_name,BeginTime:Me.begin_time,EndTime:Me.end_time,TaskStatus:Me.task_status,SliceInformation:{},AlreadyPrintLayer:0,TaskId:Me.task_id,MD5:"",CurrentLayerTalVolume:0,TimeLapseVideoStatus:Me.time_lapse_video_status,TimeLapseVideoUrl:Me.time_lapse_video_url,TimeLapseVideoSize:Me.time_lapse_video_size,TimeLapseVideoDuration:Me.time_lapse_video_duration,ErrorStatusReason:0}))}async function lte(_e){try{o.value=!0;const Me={method:Rt.HistoryDelete,params:{list:_e}};let it;jn()||(it=await dn.deletePrintHistory(a.value,Me)),it.error_code!==0&&Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.delHistoryFailed"))}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.delHistoryFailed")+Me.message)}finally{o.value=!1}}async function zI(){try{o.value=!0;const _e={method:Rt.GetLivingVideoUrl},Me=await dn.getLivingVideoUrl(a.value,_e);return Me.error_code!==0?(Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.getLivingVideoUrl")),""):(z.value=Me.url,Me.url)}catch(_e){return Pe.error("Failed to get living video URL: "+_e.message),""}finally{o.value=!1}}async function ute(){try{o.value=!0;const _e={method:Rt.Feed};let Me;jn()||(Me=await dn.feed(a.value,_e,1e4*6*5)),Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.feedFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.feedFailed")+_e.message)}finally{o.value=!1}}async function dte(){try{o.value=!0;const _e={method:Rt.Retreat};let Me;jn()||(Me=await dn.retreat(a.value,_e,1e4*6*5)),Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.UnloadFilamentFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.UnloadFilamentFailed")+_e.message)}finally{o.value=!1}}async function fte(_e){try{o.value=!0;const Me={method:Rt.LightSwitch,params:{power:_e?1:0}};let it;return jn()||(it=await dn.setLight(a.value,Me)),it.error_code!==0?(Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.executionFailed")),!1):!0}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+Me.message),!1}finally{o.value=!1}}async function hte(_e){try{o.value=!0;const Me={method:Rt.FanControl,params:{..._e.modelFanSpeed!==void 0&&{fan:_e.modelFanSpeed},..._e.chassisFanSpeed!==void 0&&{box_fan:_e.chassisFanSpeed},..._e.auxiliaryFanSpeed!==void 0&&{aux_fan:_e.auxiliaryFanSpeed}}};let it;return jn()||(it=await dn.setFan(a.value,Me)),it.error_code!==0?(Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.executionFailed")),!1):!0}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+Me.message),!1}finally{o.value=!1}}async function pte(_e,Me=!0){try{o.value=!0;const it={method:Rt.PrintSpeedControl,params:{mode:_e}};let zt;return jn()||(zt=await dn.setPrintSpeed(a.value,it)),zt.error_code!==0?(Me&&Lt(xt.ErrorCodeAndCustom,zt.error_code,"error",s("toastMessages.executionFailed")),!1):!0}catch(it){return Me&&Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+it.message),!1}finally{o.value=!1}}async function mte(){try{o.value=!0;const _e={method:Rt.AutoLeveling},Me=await dn.autoLeveling(a.value,_e);Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.executionFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+_e.message)}finally{o.value=!1}}async function gte(){try{o.value=!0;const _e={method:Rt.VibrationOptimize},Me=await dn.vibrationOptimize(a.value,_e);Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.executionFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+_e.message)}finally{o.value=!1}}async function vte(){try{o.value=!0;const _e={method:Rt.PIDDetect},Me=await dn.pidDetect(a.value,_e);Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.executionFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+_e.message)}finally{o.value=!1}}async function yte(){try{o.value=!0;const _e={method:Rt.OneKeyCheck,params:{ringing_optimize:!0,pid_check:!0,auto_bed_leveling:!0}},Me=await dn.oneKeyCheck(a.value,_e);Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.executionFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+_e.message)}finally{o.value=!1}}async function l2(){try{o.value=!0;const _e={method:Rt.GetSystemInfo};let Me;jn()||(Me=await dn.getSystemInfo(a.value,_e)),Me.error_code!==0?Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.GetSystemInfoFailed")):i.value=Me}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.GetSystemInfoFailed")+_e.message)}finally{o.value=!1}}async function xu(){try{o.value=!0;const _e={method:Rt.GetBasicInfo};let Me;jn()||(Me=await dn.getBaseInfo(a.value,_e)),Me.error_code!==0&&Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.GetBaseInfoFailed"))}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.GetBaseInfoFailed")+_e.message)}finally{o.value=!1}}async function rZe(){try{o.value=!0;const _e={method:Rt.GetBasicInfo},Me=await Ku.getBaseInfoIPC(a.value,_e);return O.value=Me,c2(O.value),Me}catch(_e){throw new Error(s("toastMessages.GetBaseInfoFailed")+_e.message)}finally{o.value=!1}}async function Ete(_e){try{o.value=!0;const Me={method:Rt.SetDeviceName,params:{hostname:_e}};let it;jn()||(it=await dn.setDeviceName(a.value,Me)),it.error_code!==0&&Zt.error(s("toastMessages.executionFailed"))}catch{Zt.error(s("toastMessages.executionFailed"))}finally{o.value=!1}}async function bte(){try{o.value=!0;const _e={method:Rt.OTAUpgrade};let Me;jn()||(Me=await dn.otaUpgrade(a.value,_e)),Me.error_code!==0&&Zt.error(s("toastMessages.otaUpgradeFailed"))}catch{Zt.error(s("toastMessages.otaUpgradeFailed"))}finally{o.value=!1}}async function Ste(){try{o.value=!0;const _e={method:Rt.UrgentStop};let Me;jn()||(Me=await dn.urgentStop(a.value,_e)),Me.error_code!==0&&Zt.error(s("toastMessages.executionFailed"))}catch{Zt.error(s("toastMessages.executionFailed"))}finally{o.value=!1}}async function Ate(_e){try{o.value=!0;const Me={method:Rt.XYZHomeControl,params:{homed_axes:_e.toLowerCase()}};let it;jn()||(it=await dn.xyzHomeControl(a.value,Me,5e3*10)),it.error_code!==0&&Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetHomeZeroFailed"))}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.SetHomeZeroFailed")+Me.message)}finally{o.value=!1}}async function Cte(_e,Me){try{if(o.value=!0,await xu(),!v.value.includes(_e.toLowerCase())){Lt(xt.CustomMessage,0,"error",s("toastMessages.homingBeforeMove"));return}const it={method:Rt.XYZMoveControl,params:{axes:_e.toLowerCase(),distance:Me}};let zt;jn()||(zt=await dn.xyzMoveControl(a.value,it,5e3*5)),zt.error_code!==0&&Lt(xt.ErrorCodeAndCustom,zt.error_code,"error",s("toastMessages.SetAxisMoveFailed"))}catch(it){Lt(xt.CustomMessage,0,"error",s("toastMessages.SetAxisMoveFailed")+it.message)}finally{o.value=!1}}async function wte(_e){try{o.value=!0;const Me={method:Rt.GetTimeLapseVideoList,params:{url:_e}},it=await dn.getTimeLapseVideoList(a.value,Me);it.error_code!==0?Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.executionFailed")):b.value.push(it.url)}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.executionFailed")+Me.message)}finally{o.value=!1}}async function Tte(_e){try{o.value=!0;const Me={method:Rt.TemperatureControl,params:_e};let it;jn()||(it=await dn.temperatureControl(a.value,Me)),it.error_code!==0&&Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetTemperatureFailed"))}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.SetTemperatureFailed")+Me.message)}finally{o.value=!1}}async function Ite(_e,Me){try{o.value=!0;const it={method:Rt.LoadFilamenting,params:{canvas_id:_e,tray_id:Me}};let zt;if(jn()||(zt=await dn.loadFilamentCanvas(a.value,it,1e4*6*5)),zt.error_code!==0)return Lt(xt.ErrorCodeAndCustom,zt.error_code,"error",s("toastMessages.LoadFilamentFailed")),!1;if(zt.error_code===0)return!0}catch(it){Lt(xt.CustomMessage,0,"error",s("toastMessages.LoadFilamentFailed")+it.message)}finally{o.value=!1}}async function Pte(_e,Me){try{o.value=!0;const it={method:Rt.UnloadFilamenting,params:{canvas_id:_e,tray_id:Me}};let zt;if(jn()||(zt=await dn.unloadFilamentCanvas(a.value,it,1e4*6*5)),zt.error_code!==0)return Lt(xt.ErrorCodeAndCustom,zt.error_code,"error",s("toastMessages.UnloadFilamentFailed")),!1;if(zt.error_code===0)return!0}catch(it){Lt(xt.CustomMessage,0,"error",s("toastMessages.UnloadFilamentFailed")+it.message)}}async function Ote(_e){try{o.value=!0;const Me={method:Rt.SetMonoFilamentInfo,params:_e};let it;return jn()||(it=await dn.setMonoFilamentInfo(a.value,Me)),it.error_code!==0?(Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetFilamentInfoFailed")),!1):!0}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.SetFilamentInfoFailed")+Me.message),!1}finally{o.value=!1}}async function r1(){try{if(!u.value||$.value)return!1;o.value=!0;const _e={method:Rt.GetMonoFilamentInfo};let Me;return jn()||(Me=await dn.getMonoFilamentInfo(a.value,_e)),Me.error_code!==0?(Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.GetFilamentInfoFailed")),!1):(T.value=Me.mono_filament_info,!0)}catch(_e){return Lt(xt.CustomMessage,0,"error",s("toastMessages.GetFilamentInfoFailed")+_e.message),!1}finally{o.value=!1}}async function _te(_e){try{o.value=!0;const Me={method:Rt.SetFilamentInfo,params:_e};let it;return jn()||(it=await dn.setFilamentInfoCanvas(a.value,Me)),it.error_code!==0?(Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetFilamentInfoFailed")),!1):!0}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.SetFilamentInfoFailed")+Me.message)}finally{o.value=!1}}async function Rte(_e){try{o.value=!0;const Me={method:Rt.SetAutoFillFilament,params:{auto_refill:_e}};let it;return jn()||(it=await dn.setAutoFillFilamentCanvas(a.value,Me)),it.error_code!==0?(Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetAutoRefillFailed")),!1):!0}catch(Me){return Lt(xt.CustomMessage,0,"error",s("toastMessages.SetAutoRefillFailed")+Me.message),!1}}async function kte(){try{o.value=!0;const _e={method:Rt.GetCanvasInfo};let Me;jn()||(Me=await dn.getCanvasInfoCanvas(a.value,_e)),Me.error_code!==0?Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.GetCanvasInfoFailed")):Me.error_code===0&&(E.value=Me)}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.GetCanvasInfoFailed")+_e.message)}finally{o.value=!1}}async function WI(){try{o.value=!0;const _e={method:Rt.GetAIDetectionSettings},Me=await Ku.getAIDetectionSettings(a.value,_e);Me.error_code!==0?Lt(xt.ErrorCodeAndCustom,Me.error_code,"error",s("toastMessages.GetAIDetectionSettingsFailed")):k.value=Me}catch(_e){Lt(xt.CustomMessage,0,"error",s("toastMessages.GetAIDetectionSettingsFailed")+_e.message)}}async function xte(_e){try{o.value=!0;const Me={method:Rt.SetAIDetectionSettings,params:_e};let it;if(jn(),it.error_code!==0)Lt(xt.ErrorCodeAndCustom,it.error_code,"error",s("toastMessages.SetAIDetectionSettingsFailed"));else return it}catch(Me){Lt(xt.CustomMessage,0,"error",s("toastMessages.SetAIDetectionSettingsFailed")+Me.message)}}return{isExecutingCommand:o,isConnected:c,websocketHistorytaskDetails:f,deviceControlModel:I,isPrinting:U,isPrintPrinting:Ht,isPrintPaused:_t,elapsedPrintTime:ge,remainingPrintTime:ie,printerInfo:L,curPrintFileName:Kee,status:Ie,subStatus:Ce,lastSubStatus:oe,deviceStatus:O,deviceAttributes:i,totalPrintLayer:Z,isIdle:de,isPrintStopped:kn,isInitializeComplete:Jee,isOTAInfoUpdating:Hee,isOTADownloading:zee,isOTAExtracting:Wee,isOTAUpdating:Vee,isOTAComplete:BI,isOTAFailed:Gee,isBiteFilamentEnd:Ree,isCutFilament:kee,isEjectFilament:xee,isEjectFilamentComplete:Dee,isResonanceOptimizing:Mee,isResonanceCompleted:Bee,isAutoLeveling:Uee,isAutoLevelingComplete:jee,isPrintCompleted:Jn,isPrintStopping:oi,isPrintPausing:Se,isPrintResuming:Oe,isPrintResumed:ct,isPrintHotendPreheating:gt,isPrintHotendCooling:Et,isPrintBedPreheating:$n,isPrintBedCooling:Mi,isPrintHoming:$o,isPrintHomed:Tl,isPrintAutoLeveling:ua,isPrintAutoLevelingComplete:Ve,isPrintEjectFilament:Ct,isPrintUnloadCheckFilamentCanvas:un,isPrintUnloadCutFilamentCanvas:hr,isPrintUnloadDrawFilamentCanvas:si,isPrintLoadNozzleHeatingCanvas:No,isPrintLoadManualInsertFilamentCanvas:Bi,isPrintLoadCutFilamentCanvas:Mo,isPrintLoadDrawFilamentCanvas:o0,isPrintLoadPushFilamentCanvas:A6,isPrintLoadFlushFilamentCanvas:Oee,isPrintLoadCompleteCanvas:_ee,isMainLoading:we,isMainUnLoading:Ae,isMainAutoLevel:Le,isMainResonanceTesting:Ee,isMainPid:ue,isMainUpgrade:Xe,isMainHoming:qe,isPidCompleted:Fee,isHomed:ht,isMainFileSending:It,isMainExtrudering:We,isMainSelfTest:He,isMainInitializing:x,isMainConnected:N,isPaused:qt,isFilamentInterruption:nn,currentThumbnail:J,currentPrintThumbnail:Y,canvas:E,historytaskDetails:d,videoGeneratedSuccessUrls:b,canvasConnected:$,isLoadCompleteCanvas:Nee,canvasAutoRefill:ae,getFileDetail:jI,exportTimeLapse:wte,startPrint:tte,pausePrint:nte,resumePrint:rte,stopPrint:ite,loadFilament:ute,unloadFilament:dte,setLight:fte,setFanSpeed:hte,setPrintSpeedPct:pte,autoLeveling:mte,vibrationOptimize:gte,pidDetect:vte,oneKeyCheck:yte,getSystemInfo:l2,getBaseInfo:xu,setDeviceName:Ete,otaUpgrade:bte,urgentStop:Ste,xyzHomeControl:Ate,xyzMoveControl:Cte,temperatureControl:Tte,getFileList:ote,deletePrintFile:ste,getPrintHistoryList:ate,getPrintHistoryListLazy:cte,deletePrintHistory:lte,rtmHistoryCurrentPage:h,rtmHistoryPageSize:p,rtmHistoryTotal:g,rtmHistoryHasMore:m,rtmHistoryLoading:y,getLivingVideoUrl:zI,getFileThumbnail:UI,isRegisterSuccess:u,currentPrintPathType:M,setFilamentInfoCanvas:_te,setAutoFillFilamentCanvas:Rte,getCanvasInfoCanvas:kte,loadFilamentCanvas:Ite,unloadFilamentCanvas:Pte,setMonoFilamentInfo:Ote,isSubGeneratingTimeLapse:Zee,isSubGeneratingTimeLapseComplete:Yee,isSubGeneratingTimeLapseFailed:Xee,previewFileDetail:_,exceptionCodeList:q,monoFilamentInfo:T,LoadedSlotId:ee,currentSendingFileName:S,currentUploadFileProgress:w,isUDiskInserted:j,isFilamentDrivingStatus:Ne,currentActiveTrayId:pe,lastLoadedSlotId:K,isUnloadCompleteCanvas:Lee,livingVideoUrl:z,cameraConnection:re,printerBusy:A,isMainPowerOffResume:$e,isPowerOffResuming:Qee,aiDetectionSettings:k,isCameraUpgraded:me,setExceptionCodeList:$ee,getMonoFilamentInfo:r1,getAIDetectionSettings:WI,setAIDetectionSettings:xte,isChassisLightUpgraded:te,isAuxiliaryFanUpgraded:fe,isExhaustGrilleUpgraded:le,isChassisFanUpgraded:ve,isNeedShowAiSetting:X}}),Ije=oy("vide-stream",()=>{const e=se(!1),t=se(!1),n=se(0),r=V(()=>{if(!t.value)return"";let l="";if(l=o.livingVideoUrl,l){const u=l.includes("?")?"&":"?";return`${l}${u}_t=${n.value}`}return l}),i=El(),o=di(),s=V(()=>!0);async function a(){try{if(Pe.log("[VIDEO-STORE] openVideoStream 开始, 当前 isPlaying:",t.value,"protocolType:",Ws.protocolType),e.value=!0,await new Promise(l=>setTimeout(l,1e3)),Ws.protocolType==="MQTT"&&o.isCameraUpgraded)await o.getLivingVideoUrl(),n.value=Date.now(),t.value=!t.value;else{const l=await i.openVideoStream(!t.value);Yt(l)?(n.value=Date.now(),t.value=!t.value):(Zt.error("Video stream is not available"),t.value=!1)}}catch(l){Zt.error(l.message)}finally{e.value=!1}}async function c(){o.isCameraUpgraded&&(e.value=!0,await o.getLivingVideoUrl(),n.value=Date.now(),e.value=!1)}return{isLoading:e,videoUrl:r,isPlaying:t,openVideoStream:a,cameraConnection:s,getVideoStreamUrl:c,refreshKey:n}}),Eee=oy("host",()=>({curPrintHost:se("")})),Pje={class:"file-name font-size18 color-white-65 status-text-margin"},Oje={class:"status-text"},_je=Je({__name:"print-status",props:["status","subStatus","isMQTTConnected","lastSubStatus"],setup(e){const{t}=Eo(),n=e,r=()=>{if((n.status===Ge.Printing||n.status==Ge.ManualHoming||n.status==Ge.FileSending||n.status==Ge.TimeLapseVideoGenerating||n.status==Ge.AutoLeveling||n.status==Ge.PidCalibration||n.status==Ge.ResonanceTester||!n.isMQTTConnected)&&pp())return!1},i=()=>{if(n.status==Ge.FileSending&&n.isMQTTConnected)return bbe();if(n.status==Ge.PidCalibration)return t("printStatus.pidTun");if(n.status==Ge.ResonanceTester)return t("printStatus.inputShape");if(n.status==Ge.SelfCheck)return t("printStatus.deviceSelfCheck");if(n.status==Ge.Upgrade)return t("printStatus.upgrade");if(n.status==Ge.ComponentUpgrade)return t("printStatus.componentUpgrade");if(n.status==Ge.AutoLeveling)return t("printStatus.autoLevel")},o=()=>n.isMQTTConnected?n.status===Ge.Printing||n.status==Ge.Idle||n.status==Ge.FileSending||n.status==Ge.Loading||n.status==Ge.UnLoading||n.status==Ge.ManualHoming||n.status==Ge.Extrudering||n.status==Ge.TimeLapseVideoGenerating||n.status==Ge.Extrudering||n.status==Ge.PowerOffResume?s.value:a():t("printStatus.offline");V(()=>{switch(n.status){case wt.Idle:return t("printStatus.idle");case wt.Resuming:return t("printStatus.resuming");case wt.Printing:return t("printStatus.printing");case wt.Pausing:return t("printStatus.pausing");case wt.Paused:return t("printStatus.paused");case wt.Stopping:return t("printStatus.stopping");case wt.Stopped:return t("printStatus.stopped");case wt.Error:return t("printStatus.deviceBusy");case wt.AutoLeveled:case wt.Preheated:case wt.Preparing:return t("printStatus.preparing");case wt.FileUploading:return t("printStatus.fileUploading");case wt.Completed:return t("printStatus.completed");case wt.DeviceTesting:return t("printStatus.deviceSelfChecking");case wt.AutoLevel:return t("printStatus.autoLeveling");case wt.ResonanceTesting:return t("printStatus.inputShaping");case wt.Busy:return t("printStatus.deviceBusy");case wt.FileChecking:return t("printStatus.fileChecking");case wt.Homing:return t("printStatus.homing");case wt.FeedOut:return t("printStatus.unloading");case wt.PIDDetect:return t("printStatus.pidTuning");case wt.Preheating:return t("printStatus.preheating");default:return""}});const s=V(()=>{switch(n.status){case Ge.Idle:return t("printStatus.idle");case Ge.Printing:switch(n.subStatus){case De.HotendPreheating:case De.HotendCooling:return t("printStatus.nozzleHeating");case De.BedPreheating:case De.BedCooling:return t("printStatus.bedPreheating");case De.Homing:case De.Homed:return t("printStatus.homing");case De.AutoLeveling:case De.AutoLevelingComplete:return t("printStatus.autoLeveling");case De.Pausing:return t("printStatus.pausing");case De.Paused:return t("printStatus.paused");case De.Interruption:return t("printStatus.filamentInterruption");case De.Resuming:case De.Resumed:return t("printStatus.resuming");case De.Stopping:return t("printStatus.stopping");case De.Stopped:return t("printStatus.stopped");case De.PrintComplete:return t("printStatus.completed");case De.UnloadNozzleHeatingCanvas:case De.UnloadCheckFilamentCanvas:case De.UnloadCutFilamentCanvas:case De.UnloadDrawFilamentCanvas:return t("printStatus.unloading");case De.LoadNozzleHeatingCanvas:case De.LoadManualInsertFilamentCanvas:case De.LoadCutFilamentCanvas:case De.LoadDrawFilamentCanvas:case De.LoadPushFilamentCanvas:case De.LoadFlushFilamentCanvas:case De.LoadCompleteCanvas:return t("printStatus.loading");case De.Printing:return t("printStatus.printing");default:return""}case Ge.Loading:switch(n.subStatus){case De.NozzleHeating:case De.ManualInsertFilament:case De.BiteFilament:case De.BiteFilamentEnd:case De.CutFilament:case De.EjectFilament:case De.LoadNozzleHeatingCanvas:case De.LoadManualInsertFilamentCanvas:case De.LoadCutFilamentCanvas:case De.LoadDrawFilamentCanvas:case De.LoadPushFilamentCanvas:case De.LoadFlushFilamentCanvas:return t("printStatus.loading");default:return t("printStatus.preparing")}case Ge.UnLoading:switch(n.subStatus){case De.CutFilament:case De.EjectFilament:case De.UnloadNozzleHeatingCanvas:case De.UnloadCheckFilamentCanvas:case De.UnloadCutFilamentCanvas:case De.UnloadDrawFilamentCanvas:return t("printStatus.unloading");default:return t("printStatus.preparing")}case Ge.Extrudering:switch(n.subStatus){case De.ExtruderLoading:case De.ExtruderLoadComplete:return t("printStatus.loading");case De.ExtruderUnloading:case De.ExtruderUnloadingComplete:return t("printStatus.unloading");default:return t("printStatus.preparing")}case Ge.AutoLeveling:return t("printStatus.autoLeveling");case Ge.PidCalibration:return t("printStatus.pidTuning");case Ge.ResonanceTester:return t("printStatus.inputShaping");case Ge.SelfCheck:return t("printStatus.deviceSelfChecking");case Ge.Upgrade:return t("printStatus.upgrading");case Ge.ComponentUpgrade:return t("printStatus.componentUpgrading");case Ge.ManualHoming:return t("printStatus.homing");case Ge.FileSending:return t("printStatus.fileSending");case Ge.TimeLapseVideoGenerating:return t("printStatus.timeLapseVideoGenerating");case Ge.PowerOffResume:switch(n.subStatus){case De.Default:return t("printStatus.powerOffResumeWait");default:return t("printStatus.powerOffResume")}default:return"未知主状态:"+n.status}}),a=()=>{if(n.status==Ge.AutoLeveling)return t("printStatus.autoLeveling");if(n.status==Ge.PidCalibration)return t("printStatus.pidTuning");if(n.status==Ge.ResonanceTester)return t("printStatus.inputShaping");if(n.status==Ge.Upgrade)return t("printStatus.upgrading");if(n.status==Ge.ComponentUpgrade)return t("printStatus.componentUpgrading");if(n.status==Ge.SelfCheck)switch(n.subStatus){case De.PidPreheating:case De.PidDetecting:case De.PidCompleted:case De.PidFailed:return t("printStatus.pidTuning");case De.ResonanceOptimizing:case De.ResonanceOptimized:case De.ResonanceOptimizeFailed:case De.AccelerometerNormal:case De.AccelerometerError:return t("printStatus.inputShaping");case De.AutoLeveling:case De.AutoLevelingComplete:return t("printStatus.autoLeveling");default:return""}switch(n.subStatus){case De.OTAInfoUpdating:case De.OTADownloading:case De.OTAExtracting:case De.OTAUpdating:case De.OTAComplete:return t("printStatus.upgrading");case De.Pausing:return t("printStatus.pausing");case De.Paused:return t("printStatus.paused");case De.Interruption:return t("printStatus.filamentInterruption");case De.Resuming:return t("printStatus.resuming");case De.Resumed:return t("printStatus.resumed");case De.Stopping:return t("printStatus.stopping");case De.Stopped:return t("printStatus.stopped");default:return""}};V(()=>{switch(n.status){case wt.Idle:return"status-idle";case wt.Resuming:case wt.FileUploading:case wt.FileChecking:case wt.DeviceTesting:case wt.AutoLevel:case wt.ResonanceTesting:case wt.Homing:case wt.FeedOut:case wt.PIDDetect:case wt.Preparing:case wt.Preheating:case wt.Preheated:case wt.AutoLeveled:return"status-preparing";case wt.Printing:return"status-printing";case wt.Pausing:return"status-pausing";case wt.Paused:return"status-paused";case wt.Stopping:return"status-stopping";case wt.Stopped:return"status-stopped";case wt.Error:return"status-error";case wt.Busy:return"status-busy";case wt.Completed:return"status-completed";default:return"status-other"}});const c=V(()=>{if(!n.isMQTTConnected)return"status-error";switch(n.status){case Ge.Idle:return"status-idle";case Ge.Printing:switch(n.subStatus){case De.Paused:case De.Interruption:return"status-paused";case De.Stopped:return"status-stopped";case De.PrintComplete:return"status-completed";case De.Pausing:return"status-pausing";case De.Stopping:return"status-stopping";default:return"status-printing"}case Ge.PowerOffResume:switch(n.subStatus){case De.Default:return"status-paused";default:return"status-printing"}case Ge.Loading:case Ge.UnLoading:case Ge.Extrudering:case Ge.AutoLeveling:case Ge.PidCalibration:case Ge.ResonanceTester:case Ge.SelfCheck:case Ge.ManualHoming:case Ge.FileSending:case Ge.TimeLapseVideoGenerating:case Ge.Upgrade:case Ge.ComponentUpgrade:return"status-preparing";default:return"status-other"}}),l=V(()=>c.value);V(()=>{switch(n.status){case wt.Idle:return DO;case wt.Resuming:case wt.FileUploading:case wt.FileChecking:case wt.Preparing:case wt.Printing:case wt.DeviceTesting:case wt.AutoLevel:case wt.ResonanceTesting:case wt.Homing:case wt.FeedOut:case wt.PIDDetect:case wt.Stopping:case wt.Pausing:case wt.Preheating:case wt.Preheated:case wt.AutoLeveled:return A2;case wt.Paused:return xO;case wt.Stopped:return NO;case wt.Error:case wt.Busy:return MO;case wt.Completed:return LO;default:return null}});const u=V(()=>{if(!n.isMQTTConnected)return MO;switch(n.status){case Ge.Idle:return DO;case Ge.Printing:switch(n.subStatus){case De.Paused:case De.Interruption:return xO;case De.Stopped:return NO;case De.PrintComplete:return LO;default:return A2}case Ge.PowerOffResume:switch(n.subStatus){case De.Default:return Nue;default:return A2}case Ge.Loading:case Ge.UnLoading:case Ge.Extrudering:case Ge.AutoLeveling:case Ge.PidCalibration:case Ge.ResonanceTester:case Ge.SelfCheck:case Ge.ManualHoming:case Ge.FileSending:case Ge.TimeLapseVideoGenerating:case Ge.Upgrade:case Ge.ComponentUpgrade:return A2;default:return null}}),d=V(()=>u.value);V(()=>{const p=n.status;return p===wt.Resuming||p===wt.Printing||p===wt.Pausing||p===wt.Stopping||p===wt.Preparing||p===wt.FileUploading||p===wt.FileChecking||p===wt.DeviceTesting||p===wt.AutoLevel||p===wt.ResonanceTesting||p===wt.Homing||p===wt.FeedOut||p===wt.PIDDetect||p===wt.Preheating||p===wt.Preheated||p===wt.AutoLeveled?"is-loading":""});const f=V(()=>{if(!n.isMQTTConnected)return"";const p=n.status;return p===Ge.Loading||p===Ge.UnLoading||p===Ge.Extrudering||p===Ge.AutoLeveling||p===Ge.PidCalibration||p===Ge.ResonanceTester||p===Ge.SelfCheck||p===Ge.ManualHoming||p===Ge.Upgrade||p===Ge.FileSending||p===Ge.TimeLapseVideoGenerating||p===Ge.ComponentUpgrade||p===Ge.PowerOffResume&&n.subStatus!==De.Default||p===Ge.Printing&&n.subStatus!==De.Paused&&n.subStatus!==De.Stopped&&n.subStatus!==De.PrintComplete&&n.subStatus!==De.Interruption?"is-loading":""}),h=V(()=>f.value);return(p,g)=>(ne(),Te(Ft,null,[G("span",Pje,Ue(i()),1),vn(G("span",{class:"file-name font-size18 color-white-65"},Ue(s.value),513),[[_r,r()]]),G("span",null,[G("span",{class:je([l.value,"status-container"])},[(ne(),Ze(Br(d.value),{class:je([h.value,"mr-1"])},null,8,["class"])),G("span",Oje,Ue(o()),1)],2)])],64))}}),bee=rr(_je,[["__scopeId","data-v-3c12f447"]]),Rje={class:"myDialogHeader font-size14"},kje={style:{margin:"14px 10px"}},xje={class:"dialog-content font-size14"},Dje={style:{textAlign:"center"}},Lje={class:"dialog-footer"},Nje=Je({__name:"confirm-dialog",props:{modelValue:Boolean,confirmTitle:{type:String,required:!0},confirmMessage:{type:String,required:!0},confirmBtnTxt:{type:String,required:!0},showCancelBtn:{type:Boolean,default:!0}},emits:["confirm","update:modelValue","cancel"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=e,i=t,o=V({get:()=>r.modelValue,set:c=>i("update:modelValue",c)}),s=()=>{i("cancel"),o.value=!1},a=()=>{i("confirm"),o.value=!1};return(c,l)=>{const u=pr,d=Zd;return ne(),Ze(d,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=f=>o.value=f),width:P(n)?"90%":"31%",style:Ut(P(n)?{top:"50%",transform:"translateY(-50%)",padding:0,backgroundColor:"#1c1d1e",borderRadius:"4px",overflow:"hidden"}:{padding:0,backgroundColor:"#1c1d1e",maxWidth:"440px",borderRadius:"4px",overflow:"hidden"}),"show-close":!1,"close-on-click-modal":!1},{header:Re(()=>[G("div",Rje,[G("span",kje,Ue(c.$t(`dialogs.${e.confirmTitle}`)),1),be(u,{class:"close-dialog-btn",type:"info",onClick:s,size:"small"},{default:Re(()=>[be(P(Wd),{style:{width:"14px",height:"14px"}})]),_:1})])]),default:Re(()=>[G("div",xje,[G("p",Dje,Ue(e.confirmMessage),1)]),G("div",Lje,[e.showCancelBtn?(ne(),Ze(u,{key:0,class:"cancel-btn",onClick:s},{default:Re(()=>[yt(Ue(c.$t("buttons.cancel")),1)]),_:1})):Ke("",!0),be(u,{class:"confirm-btn",type:"primary",onClick:a},{default:Re(()=>[yt(Ue(c.$t(`buttons.${e.confirmBtnTxt}`)),1)]),_:1})])]),_:1},8,["modelValue","width","style"])}}}),al=rr(Nje,[["__scopeId","data-v-db1dbc8b"]]),Mje={class:"warning-dialog-header font-size14"},Bje={class:"warning-title"},Fje={style:{"margin-left":"8px"}},Uje={class:"warning-dialog-content font-size14"},jje={class:"warning-message"},Hje={key:0,class:"exception-codes"},zje=Je({__name:"warning-dialog",props:{modelValue:Boolean,warningMessage:{type:String,required:!0},firstExceptionError:{type:Object,default:()=>({})}},emits:["update:modelValue","close"],setup(e,{emit:t}){const{isMobile:n}=gs(),{t:r}=Eo(),i=e,o=t,s=V({get:()=>i.modelValue,set:u=>o("update:modelValue",u)}),a=()=>{o("close"),s.value=!1},c=V(()=>!i.firstExceptionError||typeof i.firstExceptionError.code!="number"?!1:Gue(i.firstExceptionError.code)),l=()=>c.value?r("dialogs.warning"):r("dialogs.errorNotice");return(u,d)=>{const f=Pn,h=pr,p=Zd;return ne(),Ze(p,{modelValue:s.value,"onUpdate:modelValue":d[0]||(d[0]=g=>s.value=g),top:"0",width:P(n)?"90%":"40%",style:Ut(P(n)?{top:"20px",padding:0,backgroundColor:"#1c1d1e","--el-dialog-margin-top":"0",maxHeight:"30vh"}:{top:"20px",padding:0,backgroundColor:"#1c1d1e",maxWidth:"450px","--el-dialog-margin-top":"0",maxHeight:"30vh"}),"show-close":!1,"close-on-click-modal":!1,"close-on-press-escape":!1},{header:Re(()=>[G("div",Mje,[G("div",Bje,[be(f,{class:je(["warning-icon",c.value?"is-severe":"is-info"])},{default:Re(()=>[be(P(j1e))]),_:1},8,["class"]),G("span",Fje,Ue(l()),1)]),be(h,{class:"close-dialog-btn",type:"info",onClick:a,size:"small"},{default:Re(()=>[be(P(Wd),{style:{width:"14px",height:"14px"}})]),_:1})])]),default:Re(()=>[G("div",Uje,[G("div",jje,[G("p",{class:je(c.value?"msg-severe":"msg-info")},Ue(e.warningMessage),3),e.firstExceptionError?(ne(),Te("div",Hje,[G("p",{class:je(["exception-item",c.value?"msg-severe":"msg-info"])},Ue(e.firstExceptionError.message),3)])):Ke("",!0)])])]),_:1},8,["modelValue","width","style"])}}}),Wje=rr(zje,[["__scopeId","data-v-de9bb654"]]);function See(){const e=El(),t=di(),n=V(()=>e.printerInfo),r=se(!1),i=se(!1);Ye(()=>t.isPowerOffResuming,j=>{j?i.value=!0:i.value=!1},{immediate:!0}),Ye(()=>t.status,j=>{Ge.Printing,j===Ge.Idle&&(t.currentPrintThumbnail="")},{immediate:!0});const o=se(!1),s=se(""),a=se({code:0,message:""});Ye(()=>t.exceptionCodeList,j=>{if(j&&j.length>0){if(Pe.log("触发异常码列表更新: ",j),j.includes(zc.NoodleDefect)||j.includes(zc.foreignDetection))return;s.value=m("dialogs.exceptionHappenedGoCheck");const re=Wue(j,m,y.value);if(re){const me=j.filter(X=>X===zc.XMotorDriverError||X===zc.YMotorDriverError||X===zc.ZMotorDriverError||X===zc.ExtruderMotorDriverError),te=me.join("、");a.value.message=`${m("dialogs.errorCodePrefix")}${te}, ${re}`,a.value.code=me[0]}else{const me=j[0],te=zue(me),X=m(te);a.value.message=`${m("dialogs.errorCodePrefix")}${me}, ${X}`,a.value.code=me}o.value=!0,Pe.log("局域网下,弹出警告框后,重置异常码列表"),t.setExceptionCodeList([])}});const c=()=>{o.value=!1},l=V(()=>t.lastSubStatus),u=V(()=>t.printerInfo),d=V(()=>{var j;return(j=t.deviceStatus)==null?void 0:j.machine_status}),f=V(()=>{var re;const j=(re=d.value)==null?void 0:re.progress;return typeof j=="number"&&!isNaN(j)?Math.max(0,Math.min(100,j)):0}),h=V(()=>{var j;return(j=u.value)==null?void 0:j.current_layer}),p=V(()=>t.totalPrintLayer),g=V(()=>t.isPrinting?w9e($J.Base64,t.currentPrintThumbnail):""),{t:m,locale:y}=Eo(),v=se(!1),E=se(!1),b=se(!1),S=se("confirmPausePrint"),w=se("confirmStopPrint"),C=se("powerOffResume"),_=se("confirm"),I=se("confirm"),O=se("resume"),L=V(()=>m("dialogs.confirmPausePrintMsg")),R=V(()=>m("dialogs.confirmStopPrintMsg")),F=V(()=>m("dialogs.powerOffResumeMsg"));function W(){E.value=!0}function J(){b.value=!0}const Y=V(()=>{var j;return((j=t.printerInfo)==null?void 0:j.filename)||t.curPrintFileName});ln(()=>{Ye(z,j=>{(j===wt.Completed||j===wt.Stopped)&&(e.currentThumbnail="")},{immediate:!0})});const M=V(()=>!(t.isPrintHotendPreheating||t.isPrintHotendCooling||t.isPrintBedPreheating||t.isPrintBedCooling||t.isPrintHoming||t.isPrintHomed||t.isPrintAutoLeveling||t.isPrintAutoLevelingComplete||t.isPrintResuming||t.isPrintResumed||t.isPrintPrinting||t.isPrintUnloadCheckFilamentCanvas||t.isPrintUnloadCutFilamentCanvas||t.isPrintUnloadDrawFilamentCanvas||t.isPrintLoadNozzleHeatingCanvas||t.isPrintLoadManualInsertFilamentCanvas||t.isPrintLoadCutFilamentCanvas||t.isPrintLoadDrawFilamentCanvas||t.isPrintLoadPushFilamentCanvas||t.isPrintLoadFlushFilamentCanvas||t.isPrintLoadCompleteCanvas)),B=V(()=>!(t.isPrintPaused||t.isFilamentInterruption)),q=V(()=>t.isPrinting&&(t.isPrintStopping||t.isPrintStopped||t.isPrintCompleted)),z=V(()=>{{const j=t.status,re=t.subStatus,me=re!=null?Pbe(re):"";return Pe.log(`主状态(${j}) 子状态(${re}) (${me})`),t.status}}),A=V(()=>t.subStatus),T=V(()=>t.isFilamentInterruption),k=V(()=>{var j,re;return{name:(j=t.deviceAttributes)==null?void 0:j.hostname,ip:(re=t.deviceAttributes)==null?void 0:re.ip}});return ln(()=>{Ye(()=>t.isRegisterSuccess,j=>{v.value=j},{immediate:!0})}),yc(()=>{r.value=!0}),{printerInfo:n,pauseDisableButton:M,resumeDisableBtn:B,stopDisableBtn:q,status:z,subStatus:A,deviceInfo:k,currentThumbnail:g,showPauseComfirmDialog:E,showStopComfirmDialog:b,showPowerOffResumeDialog:i,pauseComfirmTitle:S,stopComfirmTitle:w,powerOffResumeTitle:C,pauseComfirmMsg:L,stopComfirmMsg:R,powerOffResumeMsg:F,pauseComfirmBtnTxt:_,stopComfirmBtnTxt:I,powerOffResumeBtnTxt:O,displayFileName:Y,curProgress:f,curPrintLayer:h,totalPrintLayer:p,isMQTTConnected:v,pausePrint:W,stopPrint:J,showWarningDialog:o,firstExceptionError:a,warningMessage:s,lastSubStatus:l,closeWarningDialog:c,isFilamentInterruption:T}}var Fc=(e=>(e[e.NotExecuted=0]="NotExecuted",e[e.Executing=1]="Executing",e[e.Success=2]="Success",e[e.Failed=3]="Failed",e))(Fc||{});function Aee(){const e=El(),t=di(),n=t,r=n.deviceControlModel,i=se(0),o=se(0),s=se(0),a=se(0),c=se(!1),l=async()=>{c.value=!1,a.value=1;const R=await n.setLight(!1);a.value=R?2:3},u=()=>{c.value=!1,a.value===0?(a.value=3,Cn(()=>{a.value=0})):a.value=0};Ye(()=>t.subStatus,R=>{(R===De.PrintComplete||R===De.Stopped)&&n.setPrintSpeedPct(MZ.Balanced,!1)});const d=async R=>{i.value=1;let F;F=await t.setFanSpeed({chassisFanSpeed:R/100*255}),i.value=F?2:3},f=async R=>{let F;o.value=1,F=await t.setFanSpeed({auxiliaryFanSpeed:R/100*255}),o.value=F?2:3},h=async R=>{let F;s.value=1,F=await t.setFanSpeed({modelFanSpeed:R/100*255}),s.value=F?2:3},p=async R=>{var J,Y,M,B;const F=(Y=(J=t.aiDetectionSettings)==null?void 0:J.spaghetti_detection)==null?void 0:Y.status,W=(B=(M=t.aiDetectionSettings)==null?void 0:M.foreign_object_detection)==null?void 0:B.status;if(R===0&&(F===rc.On||W===rc.On))c.value=!0;else{a.value=1;const q=await n.setLight(R>0);a.value=q?2:3}},g=V(()=>!e.isIdle),m=V(()=>!t.isPrinting),y=V(()=>t.isMainInitializing||!t.isMainConnected||!t.isChassisLightUpgraded),v=V(()=>!(t.isIdle||t.isPrinting||t.isMainExtrudering||t.isMainExtrudering)||!t.isAuxiliaryFanUpgraded),E=V(()=>!(t.isIdle||t.isPrinting||t.isMainExtrudering||t.isMainExtrudering)||!t.isChassisFanUpgraded),b=V(()=>!(t.isIdle||t.isPrinting||t.isMainExtrudering||t.isMainExtrudering)),S=V(()=>!t.isIdle),w=(R,F)=>(R==="Z"&&(F=F*-1),t.xyzMoveControl(R,r.moveStep*F)),C=R=>t.xyzHomeControl(R),_=se(r.curPrinterMode),I=se(r.curPrinterMode),O=se(!1);Ye(()=>r.curPrinterMode,R=>{O.value||(I.value=R,_.value=R)});const L=async R=>{const F=I.value;O.value=!0;try{await n.setPrintSpeedPct(R)?I.value=R:_.value=F}finally{O.value=!1}};return ln(()=>{}),yc(()=>{}),{onchassisFanSpeedChange:d,onAuxiliaryFanSpeedChange:f,onModelFanSpeedChange:h,onLightChange:p,deviceControlModel:r,controlDisabled:g,move:w,moveToHome:C,setPrintSpeedPct:L,changeSpeedDisabled:m,lightDisabled:y,fanDisabled:b,xyzDisabled:S,uiPrinterMode:_,auxiliaryFanDisabled:v,chassisFanDisabled:E,chassisFanCmdStatus:i,auxiliaryFanCmdStatus:o,modelFanCmdStatus:s,lightCmdStatus:a,onLightOffConfirm:l,showLightOffDialog:c,onLightOffCancel:u}}const Vje={class:"status-container"},Gje={class:"model-image"},Jje=["src"],Zje={class:"flex-1 flex flex-col justify-between ml-[18px]"},Yje={class:"right-first"},Xje={class:"file-name font-size18"},Qje={class:"print-control-buttons"},Kje={class:"right-second"},qje={class:"right-third"},$je={class:"progress-text font-size24"},eHe={style:{"margin-left":"280px"},class:"layer font-size18"},tHe={class:"layer font-size18"},nHe={width:"12",height:"1",viewBox:"0 0 12 1",style:{display:"inline-block","vertical-align":"middle"}},rHe={class:"right-third"},iHe={class:"progress-text font-size24"},oHe=Je({__name:"device-status",setup(e){const t=El(),n=di(),r=n,i=V(()=>n.currentUploadFileProgress>0&&o.value===Ge.FileSending&&L.value),{status:o,pauseDisableButton:s,resumeDisableBtn:a,stopDisableBtn:c,currentThumbnail:l,showPauseComfirmDialog:u,showStopComfirmDialog:d,showPowerOffResumeDialog:f,pauseComfirmTitle:h,stopComfirmTitle:p,powerOffResumeTitle:g,pauseComfirmMsg:m,stopComfirmMsg:y,powerOffResumeMsg:v,pauseComfirmBtnTxt:E,stopComfirmBtnTxt:b,powerOffResumeBtnTxt:S,displayFileName:w,curProgress:C,curPrintLayer:_,totalPrintLayer:I,subStatus:O,isMQTTConnected:L,isFilamentInterruption:R,pausePrint:F,stopPrint:W,showWarningDialog:J,warningMessage:Y,lastSubStatus:M,closeWarningDialog:B,firstExceptionError:q}=See(),z=se(!1),A=()=>{z.value=!0},T=()=>{z.value=!1};return ln(()=>{window.addEventListener("pagehide",()=>{t.onBeforeUnmount()})}),xi(()=>{}),(k,j)=>{const re=Dw,me=pr,te=KG;return ne(),Te("div",Vje,[G("div",Gje,[z.value?Ke("",!0):(ne(),Te("img",{key:0,src:P(EJ),alt:"default",class:"model-thumb"},null,8,Jje)),vn(be(re,{src:P(l),onLoad:A,onError:T},null,8,["src"]),[[_r,!!P(l)]])]),G("div",Zje,[vn(G("div",Yje,[G("span",Xje,Ue(P(w)),1),G("div",Qje,[!P(r).isPaused&&!P(R)?(ne(),Ze(me,{key:0,class:"print-control-button",disabled:P(s),onClick:P(F)},{default:Re(()=>[G("span",null,[be(P(KC))])]),_:1},8,["disabled","onClick"])):Ke("",!0),P(r).isPaused||P(R)?(ne(),Ze(me,{key:1,class:"print-control-button",disabled:P(a),onClick:j[0]||(j[0]=X=>P(r).resumePrint(1e4*6))},{default:Re(()=>[G("span",null,[be(P(QC))])]),_:1},8,["disabled"])):Ke("",!0),be(me,{class:"print-control-button",disabled:P(c),onClick:P(W)},{default:Re(()=>[G("span",null,[be(P($W))])]),_:1},8,["disabled","onClick"])])],512),[[_r,P(r).isPrinting]]),G("div",Kje,[be(bee,{status:P(o),subStatus:P(O),isMQTTConnected:P(L),lastSubStatus:P(M)},null,8,["status","subStatus","isMQTTConnected","lastSubStatus"])]),vn(G("div",qje,[G("span",$je,[yt(Ue(P(C)),1),j[6]||(j[6]=G("span",{class:"font-size16"},"%",-1))]),G("span",eHe,[yt(Ue(k.$t("printStatus.layerProgress")),1),j[7]||(j[7]=G("span",{class:"mr-1 layer font-size18"},":",-1)),yt(" "+Ue(P(_))+"/"+Ue(P(I)),1)]),G("span",tHe,[(ne(),Te("svg",nHe,[...j[8]||(j[8]=[G("line",{x1:"0",y1:"0.5",x2:"12",y2:"0.5",stroke:"currentColor","stroke-width":"1"},null,-1)])])),yt(Ue(P(eZ)(P(r).remainingPrintTime)),1)])],512),[[_r,P(r).isPrinting]]),vn(G("div",rHe,[G("span",iHe,[yt(Ue(P(n).currentUploadFileProgress),1),j[9]||(j[9]=G("span",{class:"font-size16"},"%",-1))])],512),[[_r,i.value]]),vn(be(te,{percentage:P(C),"show-text":!1,"stroke-width":8},null,8,["percentage"]),[[_r,P(r).isPrinting]]),vn(be(te,{percentage:P(n).currentUploadFileProgress,"show-text":!1,"stroke-width":8},null,8,["percentage"]),[[_r,i.value]])]),be(al,{modelValue:P(u),"onUpdate:modelValue":j[1]||(j[1]=X=>En(u)?u.value=X:null),"confirm-title":P(h),"confirm-message":P(m),"confirm-btn-txt":P(E),onConfirm:P(r).pausePrint},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onConfirm"]),be(al,{modelValue:P(d),"onUpdate:modelValue":j[2]||(j[2]=X=>En(d)?d.value=X:null),"confirm-title":P(p),"confirm-message":P(y),"confirm-btn-txt":P(b),onConfirm:P(r).stopPrint},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onConfirm"]),be(al,{modelValue:P(f),"onUpdate:modelValue":j[3]||(j[3]=X=>En(f)?f.value=X:null),"confirm-title":P(g),"confirm-message":P(v),"confirm-btn-txt":P(S),onConfirm:j[4]||(j[4]=X=>P(r).resumePrint(1e4*6*2)),onCancel:P(r).stopPrint},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onCancel"]),be(Wje,{modelValue:P(J),"onUpdate:modelValue":j[5]||(j[5]=X=>En(J)?J.value=X:null),"warning-message":P(Y),firstExceptionError:P(q),onClose:P(B)},null,8,["modelValue","warning-message","firstExceptionError","onClose"])])}}}),sHe=rr(oHe,[["__scopeId","data-v-84625f57"]]),aHe={class:"fdm-card"},cHe={class:"fdm-card-header"},lHe={class:"fdm-card-header-left"},uHe={class:"fdm-card-header-right"},dHe=Je({__name:"fdm-card",props:{isOpen:{type:Boolean,default:!0},isOpenModifiers:{}},emits:["update:isOpen"],setup(e){const t=Nh(e,"isOpen"),n=se(null);function r(){t.value=!t.value}return(i,o)=>{const s=z5e;return ne(),Te("div",aHe,[G("div",cHe,[G("div",lHe,[St(i.$slots,"title",{},void 0,!0)]),G("div",uHe,[St(i.$slots,"actions",{},void 0,!0),G("span",{class:je(["toggle-icon",{rotated:t.value}]),onClick:r},[be(P(qW))],2)])]),be(s,null,{default:Re(()=>[vn(G("div",{ref_key:"content",ref:n,class:"fdm-card-content"},[St(i.$slots,"default",{},void 0,!0)],512),[[_r,t.value]])]),_:3})])}}}),ku=rr(dHe,[["__scopeId","data-v-13ce3744"]]),fHe={class:"z-axis"},hHe=["disabled"],pHe=["disabled"],mHe={class:"home-icon"},gHe=["disabled"],vHe={class:"arc-button-container"},yHe=["disabled"],EHe=["disabled"],bHe=["disabled"],SHe=["disabled"],AHe=["disabled"],CHe={class:"xy-axis-home"},wHe=["disabled"],THe={class:"home-icon"},IHe=["disabled"],PHe={class:"home-icon"},OHe=Je({__name:"axis-control",props:{xyzDisabled:{type:Boolean,default:!1}},emits:["z-up","z-down","x-up","x-down","y-up","y-down","home-all","home-x","home-y","home-z"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=n.value?"40px":"56px",i={width:r,height:r},o={height:n.value?"122px":"158px"},s=n.value?"122px":"158px",a={width:s,height:s};return(c,l)=>(ne(),Te("div",{class:"axis-container",style:o},[G("div",fHe,[G("button",{class:"control-button z-axis-item",disabled:e.xyzDisabled,onClick:l[0]||(l[0]=u=>c.$emit("z-up"))}," Z↑ ",8,hHe),l[10]||(l[10]=G("div",{class:"line"},null,-1)),G("button",{class:"z-axis-item control-button",disabled:e.xyzDisabled,onClick:l[1]||(l[1]=u=>c.$emit("home-z"))},[G("span",mHe,[be(P(fce))])],8,pHe),l[11]||(l[11]=G("div",{class:"line"},null,-1)),G("button",{class:"control-button z-axis-item",disabled:e.xyzDisabled,onClick:l[2]||(l[2]=u=>c.$emit("z-down"))}," Z↓ ",8,gHe)]),G("div",{class:"xy-axis",style:a},[G("div",vHe,[G("button",{class:"sector top",disabled:e.xyzDisabled,onClick:l[3]||(l[3]=u=>c.$emit("y-up"))},[...l[12]||(l[12]=[G("span",null," Y+ ",-1)])],8,yHe),G("button",{class:"sector right",disabled:e.xyzDisabled,onClick:l[4]||(l[4]=u=>c.$emit("x-up"))},[...l[13]||(l[13]=[G("span",null," X+ ",-1)])],8,EHe),G("button",{class:"sector bottom",disabled:e.xyzDisabled,onClick:l[5]||(l[5]=u=>c.$emit("y-down"))},[...l[14]||(l[14]=[G("span",null," Y- ",-1)])],8,bHe),G("button",{class:"sector left",disabled:e.xyzDisabled,onClick:l[6]||(l[6]=u=>c.$emit("x-down"))},[...l[15]||(l[15]=[G("span",null," X- ",-1)])],8,SHe),l[16]||(l[16]=G("div",{class:"line horizontal"},null,-1)),l[17]||(l[17]=G("div",{class:"line vertical"},null,-1))]),G("button",{class:"home",style:i,disabled:e.xyzDisabled,onClick:l[7]||(l[7]=u=>c.$emit("home-all"))},[G("span",null,[be(P(lce),{width:"20",height:"20"})])],8,AHe)]),G("div",CHe,[G("button",{class:"z-axis-item control-button",disabled:e.xyzDisabled,onClick:l[8]||(l[8]=u=>c.$emit("home-x"))},[G("span",THe,[be(P(yce))])],8,wHe),l[18]||(l[18]=G("div",{class:"line"},null,-1)),G("button",{class:"z-axis-item control-button",disabled:e.xyzDisabled,onClick:l[9]||(l[9]=u=>c.$emit("home-y"))},[G("span",PHe,[be(P(mce))])],8,IHe)])]))}}),Cee=rr(OHe,[["__scopeId","data-v-d4b831ae"]]),_He={class:"flex items-center gap-2 justify-between"},RHe={class:"flex items-center gap-2"},kHe={class:"flex items-center gap-2"},xHe={key:0,class:"flex items-center gap-2"},DHe=["disabled"],LHe={key:0},NHe={key:1},MHe=["disabled"],BHe={key:0},FHe={key:1},UHe=Je({__name:"value-control",props:Dm({title:String,componentType:{type:String,default:null},showInput:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},defaultOpenValue:{type:Number,default:100},cmdStatus:{type:Number,default:Fc.NotExecuted}},{value:{type:Number,default:0},valueModifiers:{}}),emits:Dm(["change"],["update:value"]),setup(e,{emit:t}){const n=e,r=se(!1),i=se(null),o=se(!1),s=se(!1),a=Nh(e,"value"),c=se(""),l=t,u=se(!1),d=se(0),f=se(!1),h=se(!1),p=se(!1),g=se(""),m=se(0),y=di(),v=V(()=>o.value||n.cmdStatus===Fc.Executing);function E(O){var L;if(n.disabled&&(O.stopPropagation(),((L=y.deviceAttributes)==null?void 0:L.machine_model)==tc.C2)){let R=!1;switch(n.componentType){case na.AuxiliaryFan:R=!y.isAuxiliaryFanUpgraded;break;case na.ExhaustGrille:R=!y.isExhaustGrilleUpgraded;break;case na.ChassisFan:R=!y.isChassisFanUpgraded;break;case na.ChassisLight:R=!y.isChassisLightUpgraded;break}R&&(u.value=!0)}}function b(){n.disabled||v.value||Cn(()=>{p.value=r.value,g.value=c.value,m.value=d.value;const O=r.value?0:n.defaultOpenValue;d.value=O,h.value=!0,o.value=!0,s.value=!0,r.value=O>0,c.value=`${O}%`,l("change",d.value)})}function S(O){n.disabled||v.value||(O<0&&(O=0),O>100&&(O=100),p.value=r.value,g.value=c.value,m.value=d.value,d.value=O,Cn(()=>{h.value=!0,o.value=!0,c.value=`${d.value}%`,r.value=d.value>0,l("change",d.value)}))}const w=se(!1),C=se(!1);function _(){n.disabled||v.value||a.value<=0||(w.value=!0,S(d.value-10))}function I(){n.disabled||v.value||a.value>=100||(C.value=!0,S(d.value+10))}return Ye(()=>n.cmdStatus,(O,L)=>{L===Fc.Executing&&O===Fc.Success&&(r.value=d.value>0,c.value=`${d.value}%`,Pe.log("命令成功,开关状态已反转并更新输入值:",r.value,c.value),o.value=!1,s.value=!1,w.value=!1,C.value=!1),L===Fc.Executing&&O===Fc.Failed&&(o.value=!1,s.value=!1,w.value=!1,C.value=!1,r.value=p.value,c.value=g.value,d.value=m.value),o.value&&O===Fc.NotExecuted&&L!==Fc.NotExecuted&&(o.value=!1,s.value=!1,w.value=!1,C.value=!1,r.value=p.value,c.value=g.value,d.value=m.value,Pe.log("取消操作,已重置 pending 并回滚 UI"))}),Ye(()=>a.value,O=>{n.cmdStatus!==Fc.Executing&&(r.value=O>0,c.value=`${O}%`),!f.value&&!h.value&&(d.value=O,f.value=!0)}),ln(()=>{d.value=a.value,c.value=`${a.value}%`,a.value===0?r.value=!1:r.value=!0}),yc(()=>{i.value&&(clearTimeout(i.value),i.value=null)}),(O,L)=>{const R=Mw,F=Pn,W=iG;return ne(),Te(Ft,null,[G("div",{class:je(["value-control",{"is-disabled":n.disabled}]),onClickCapture:E},[G("div",_He,[G("div",RHe,[G("span",null,[St(O.$slots,"icon",{},void 0,!0)]),G("span",null,Ue(n.title),1)]),G("div",kHe,[be(R,{"model-value":r.value,size:"large",onChange:b,disabled:n.disabled||v.value,loading:s.value,class:"custom-switch"},null,8,["model-value","disabled","loading"])])]),n.showInput?(ne(),Te("div",xHe,[G("button",{class:"gray-button",onClick:_,disabled:n.disabled||v.value||a.value<=0},[w.value?(ne(),Te("span",LHe,[be(F,{class:"is-loading",style:{"font-size":"14px"}},{default:Re(()=>[be(P(dl))]),_:1})])):(ne(),Te("span",NHe,[be(P(Cce))]))],8,DHe),be(W,{class:"flex-1 no-border-input",readonly:!0,"model-value":c.value,style:{"min-width":"60px"},disabled:n.disabled},null,8,["model-value","disabled"]),G("button",{class:"gray-button",onClick:I,disabled:n.disabled||v.value||a.value>=100},[C.value?(ne(),Te("span",BHe,[be(F,{class:"is-loading",style:{"font-size":"14px"}},{default:Re(()=>[be(P(dl))]),_:1})])):(ne(),Te("span",FHe,[be(P(eV))]))],8,MHe)])):Ke("",!0)],34),be(al,{modelValue:u.value,"onUpdate:modelValue":L[0]||(L[0]=J=>u.value=J),"confirm-title":O.$t("errorNotice"),"confirm-message":O.$t("dialogs.needUpgradeComponent"),"confirm-btn-txt":"confirm","show-cancel-btn":!1},null,8,["modelValue","confirm-title","confirm-message"])],64)}}}),wd=rr(UHe,[["__scopeId","data-v-ff828c0f"]]),jHe={style:{width:"fit-content"}},HHe={class:"flex items-center gap-2 justify-between xyz-pos"},zHe=Je({__name:"step-setting",props:Dm(["xPos","yPos","zPos"],{step:{type:Number,default:1},stepModifiers:{}}),emits:["update:step"],setup(e){const t=se([{name:"0.1mm",value:.1},{name:"1mm",value:1},{name:"10mm",value:10},{name:"30mm",value:30}]),n=Nh(e,"step");return(r,i)=>{const o=WG,s=zG;return ne(),Te("div",jHe,[G("div",HHe,[G("span",null,"X:"+Ue(e.xPos??""),1),G("span",null,"Y:"+Ue(e.yPos??""),1),G("span",null,"Z:"+Ue(e.zPos??""),1)]),be(s,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=a=>n.value=a),size:"large",class:"fdm-radio-button-group"},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(t.value,a=>(ne(),Ze(o,{label:a.name,value:a.value,key:a.name,style:{width:"72px",height:"42px"}},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])}}}),wee=rr(zHe,[["__scopeId","data-v-d3248eec"]]),WHe={class:"control-container"},VHe={class:"flex-1 relative ml-4 flex flex-col justify-between"},GHe={class:"flex items-center gap-2 justify-between mb-[10px]"},JHe={class:"self-end flex items-center"},ZHe={class:"fan-container"},YHe=Je({__name:"device-control",setup(e){const{deviceControlModel:t,onchassisFanSpeedChange:n,onAuxiliaryFanSpeedChange:r,onModelFanSpeedChange:i,onLightChange:o,controlDisabled:s,move:a,moveToHome:c,setPrintSpeedPct:l,changeSpeedDisabled:u,chassisFanDisabled:d,lightDisabled:f,fanDisabled:h,auxiliaryFanDisabled:p,xyzDisabled:g,uiPrinterMode:m,chassisFanCmdStatus:y,auxiliaryFanCmdStatus:v,modelFanCmdStatus:E,lightCmdStatus:b,showLightOffDialog:S,onLightOffConfirm:w,onLightOffCancel:C}=Aee();return(_,I)=>{const O=Ug,L=Fg;return ne(),Te(Ft,null,[be(ku,null,{title:Re(()=>[yt(Ue(_.$t("control.control")),1)]),default:Re(()=>[G("div",WHe,[be(Cee,{class:"self-center",xyzDisabled:P(g),onHomeAll:I[0]||(I[0]=R=>P(c)("XYZ")),onHomeX:I[1]||(I[1]=R=>P(c)("X")),onHomeY:I[2]||(I[2]=R=>P(c)("Y")),onHomeZ:I[3]||(I[3]=R=>P(c)("Z")),onXUp:I[4]||(I[4]=R=>P(a)("X",1)),onXDown:I[5]||(I[5]=R=>P(a)("X",-1)),onYUp:I[6]||(I[6]=R=>P(a)("Y",1)),onYDown:I[7]||(I[7]=R=>P(a)("Y",-1)),onZUp:I[8]||(I[8]=R=>P(a)("Z",1)),onZDown:I[9]||(I[9]=R=>P(a)("Z",-1))},null,8,["xyzDisabled"]),G("div",VHe,[G("div",GHe,[be(wee,{step:P(t).moveStep,"onUpdate:step":I[10]||(I[10]=R=>P(t).moveStep=R),"x-pos":P(t).xPos,"y-pos":P(t).yPos,"z-pos":P(t).zPos,disabled:P(s)},null,8,["step","x-pos","y-pos","z-pos","disabled"]),G("div",JHe,[G("span",null,Ue(_.$t("control.printSpeed")),1),be(L,{modelValue:P(m),"onUpdate:modelValue":I[11]||(I[11]=R=>En(m)?m.value=R:null),placeholder:"",style:{width:"140px"},"show-arrow":!1,offset:4,class:"ml-[10px] no-border-select disabled-cursor",disabled:P(u),onChange:P(l)},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(P(t).printModeOptions,R=>(ne(),Ze(O,{key:R.value,label:_.$t(R.label),value:R.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled","onChange"])])]),G("div",ZHe,[be(wd,{class:"flex-1",title:_.$t("control.model"),value:P(t).modelFanSpeed,"onUpdate:value":I[12]||(I[12]=R=>P(t).modelFanSpeed=R),onChange:P(i),disabled:P(h),defaultOpenValue:100,cmdStatus:P(E),"component-type":P(na).ModelFan},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.sideFan"),value:P(t).auxiliaryFanSpeed,"onUpdate:value":I[13]||(I[13]=R=>P(t).auxiliaryFanSpeed=R),onChange:P(r),disabled:P(p),defaultOpenValue:100,cmdStatus:P(v),"component-type":P(na).AuxiliaryFan},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.Case"),"show-input":!0,value:P(t).chassisFanSpeed,"onUpdate:value":I[14]||(I[14]=R=>P(t).chassisFanSpeed=R),onChange:P(n),disabled:P(d),defaultOpenValue:100,cmdStatus:P(y),"component-type":P(na).ExhaustGrille},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.Lighting"),"show-input":!1,value:P(t).lightValue,"onUpdate:value":I[15]||(I[15]=R=>P(t).lightValue=R),onChange:P(o),disabled:P(f),defaultOpenValue:1,cmdStatus:P(b),"component-type":P(na).ChassisLight},{icon:Re(()=>[be(P(tV))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"])])])])]),_:1}),be(al,{modelValue:P(S),"onUpdate:modelValue":I[16]||(I[16]=R=>En(S)?S.value=R:null),"confirm-title":_.$t("errorNotice"),"confirm-message":_.$t("aiDetection.lightOffConfirm"),"confirm-btn-txt":_.$t("close"),onConfirm:P(w),onCancel:P(C)},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onConfirm","onCancel"])],64)}}}),XHe=rr(YHe,[["__scopeId","data-v-b895cfac"]]),QHe={class:"popover-content"},KHe={class:"canvas-container"},qHe={class:"slots-grid"},$He=["onClick"],eze={class:"fraction"},tze={class:"numerator"},nze={class:"denominator"},rze={class:"canvas-title"},ize=Je({__name:"tray-card-mapping-select",props:{canvas:{default:()=>({})},gFilamentType:{default:""},gFilamentName:{default:""}},emits:["mapping-update","close-popover"],setup(e,{emit:t}){const n=e,r=t,{t:i}=Eo(),o=V(()=>n.canvas.canvas_info.canvas_list||[]),s=m=>{if(n.canvas.canvas_info&&n.canvas.canvas_info.canvas_list.length>m){const y=n.canvas.canvas_info.canvas_list[m];if(y&&y.tray_list)return y.tray_list}return Array(4).fill(null)},a=m=>c(m)!==wi.NoRecognition,c=m=>m?m.status===Oo.Empty?wi.NoFilament:!m.filament_color||m.filament_color.trim()===""||!m.filament_type||m.filament_type.trim()===""?wi.NoRecognition:m.filament_type:wi.NoRecognition,l=m=>m?c(m)===wi.NoRecognition?"#434343":yd(m.filament_color)||"transparent":"transparent",u=m=>{const y=l(m);if(!y||y==="transparent"){const v=c(m);return v===wi.NoFilament||v===wi.NoRecognition?"#FFFFFF":Gc((m==null?void 0:m.filament_color)||"#000000")}return Gc(y)},d=m=>m?c(m)===wi.NoRecognition:!1,f=m=>{if(!m)return!1;const y=c(m);if(y===wi.NoFilament||y===wi.NoRecognition)return!1;const v=y===n.gFilamentType,E=n.gFilamentName&&fm(m.filament_name)===fm(n.gFilamentName);return v||E},h=m=>{if(!m)return"";const y=c(m);return y===wi.NoRecognition?"":m.status===Oo.Empty?i("multiColor.EmptyFilament"):y!==n.gFilamentType?i("multiColor.FilamentTypeNotMatch"):m.filament_name?m.filament_name:"-"},p=m=>{const y={padding:"8px",background:"#333334",textAlign:"center",width:"auto",minWidth:"80px",border:"1px solid black",whiteSpace:"nowrap",boxSizing:"border-box"};return m?c(m)!==n.gFilamentType?{...y,color:"#ff4d4f"}:{...y,color:"white"}:y},g=m=>{m.filament_color=yd(m.filament_color),r("mapping-update",m),r("close-popover")};return(m,y)=>{const v=Dp;return ne(),Te("div",QHe,[G("div",KHe,[(ne(!0),Te(Ft,null,Rr(o.value,(E,b)=>(ne(),Te("div",{key:b,class:"canvas-group"},[G("div",qHe,[(ne(!0),Te(Ft,null,Rr(s(Number(b)),(S,w)=>(ne(),Ze(v,{key:w,placement:"bottom",effect:"dark",trigger:"hover","show-arrow":!1,offset:12,disabled:!a(S),"popper-style":p(S)},{reference:Re(()=>[G("div",{class:je(["slot-item",{"transparent-bg":!1,"bordered-slot":d(S),"disabled-slot":!f(S)}]),style:Ut({"background-color":l(S),color:u(S)}),onClick:C=>f(S)?g(S):null},[G("div",eze,[G("div",tze,Ue(S?S.tray_id+1:b+(w+1)),1),G("div",nze,Ue(c(S)),1)])],14,$He)]),default:Re(()=>[yt(" "+Ue(h(S)),1)]),_:2},1032,["disabled","popper-style"]))),128))]),G("div",rze,"CANVAS-"+Ue(b),1)]))),128))])])}}}),oze=rr(ize,[["__scopeId","data-v-8578b5da"]]),sze={class:"all-container"},aze={class:"header-container"},cze={class:"btn-autofeed"},lze={class:"btn-container"},uze={class:"content-container"},dze=["onClick"],fze={class:"slot-dropdown"},hze={key:0,class:"empty-mapping-note font-size16"},pze={key:1,class:"note font-size12"},O1=4,mze=Je({__name:"tray-card-preview",props:{title:{default:""},existEmptyMapping:{type:Boolean,default:!1},canvas:{default:()=>({})}},emits:["mapping-update"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=se("#373737"),i=se(!1),o=se(!1),s=di(),a=async I=>{const O=!!I;o.value=!0;try{await s.setAutoFillFilamentCanvas(O)&&(i.value=O,Pe.log("设置自动续料开关",O))}catch(L){Pe.error("Failed to set auto-refill",L),i.value=!O}finally{o.value=!1}};Ye(()=>s.canvasAutoRefill,I=>{I!==void 0&&(i.value=I)},{immediate:!0});const{amsMappingInfoData:c}=Vt("amsMappingInfoData"),{canvasPreviewMap:l}=Vt("canvasPreviewMap"),{slotArray:u}=Vt("slotArray"),d=se([]),f=se(1),h=V(()=>Math.ceil(d.value.length/O1)),p=V(()=>{const I=(f.value-1)*O1,O=I+O1;return d.value.slice(I,O)}),g=()=>{f.value>1&&f.value--},m=()=>{f.value{f.value=1};Ye([l,()=>{var I;return(I=c.value)==null?void 0:I.ColorMapping}],([I,O])=>{try{pp()&&(d.value=I||[]),y()}catch(L){Pe.error("Error in filamentMap watch:",L),d.value=[]}},{immediate:!0});const v=I=>{if(!u.value||!I)return"";const O=u.value.find(L=>L.id===I);return(O==null?void 0:O.filamentColor)??""},E=I=>{if(!u.value||!I)return"";const O=u.value.find(L=>L.id===I);return(O==null?void 0:O.filamentType)??""},b=se([]);Ye(()=>{var I;return(I=c.value)==null?void 0:I.ColorMapping},I=>{I&&(b.value=new Array(O1).fill(!1))},{immediate:!0});const S=I=>{if(I===""||!u.value)return"";const O=u.value.find(L=>L.id===I);return(O==null?void 0:O.filamentName)??""},w=se(-1),C=I=>{{d.value[w.value].mapFilamentColor=I.filament_color,d.value[w.value].mapFilamentType=I.filament_type,d.value[w.value].mapFilamentName=I.filament_name,d.value[w.value].trayId=Number(I.tray_id),d.value[w.value].canvasId=0,d.value[w.value].isSuccess=!0,l.value[w.value].mapFilamentColor=I.filament_color,l.value[w.value].mapFilamentType=I.filament_type,l.value[w.value].mapFilamentName=I.filament_name,l.value[w.value].trayId=Number(I.tray_id),l.value[w.value].canvasId=0,l.value[w.value].isSuccess=!0;return}},_=I=>{const O=(f.value-1)*O1+I;w.value=O};return(I,O)=>{const L=Pn,R=Mw,F=pr,W=Dp;return ne(),Te("div",sze,[G("div",aze,[be(L,null,{default:Re(()=>[be(P(Fle))]),_:1}),G("div",cze,[G("span",null,Ue(I.$t("multiColor.autoFeed")),1),be(R,{modelValue:i.value,"onUpdate:modelValue":O[0]||(O[0]=J=>i.value=J),loading:o.value,onChange:a,"active-color":"#409EFF","inactive-color":"#DCDFE6"},null,8,["modelValue","loading"])]),G("div",lze,[be(F,{class:"icon-btn",onClick:g,disabled:f.value<=1},{default:Re(()=>[be(P(Hle))]),_:1},8,["disabled"]),G("span",null,Ue(f.value)+"/"+Ue(h.value),1),be(F,{class:"icon-btn",onClick:m,disabled:f.value>=h.value},{default:Re(()=>[be(P(Vle))]),_:1},8,["disabled"])])]),G("div",uze,[p.value&&p.value.length>0?(ne(),Te(Ft,{key:0},[(ne(!0),Te(Ft,null,Rr(p.value,(J,Y)=>(ne(),Te("div",{key:Y,class:"tray-container"},[J.gFilamentName?(ne(),Ze(W,{key:0,placement:"top",effect:"dark",trigger:"hover","show-arrow":!1,offset:2,"popper-style":{padding:"8px",background:"#333334",color:"white",textAlign:"center",width:"100px",minWidth:"100px",maxHeight:"34px",border:"1px solid black"}},{reference:Re(()=>[G("div",{class:"slot-type",style:Ut({backgroundColor:J.gFilamentColor,color:P(Gc)(J.gFilamentColor)})},Ue(J.gFilamentType),5)]),default:Re(()=>[yt(" "+Ue(J.gFilamentName),1)]),_:2},1024)):(ne(),Te("div",{key:1,class:"slot-type",style:Ut({backgroundColor:J.gFilamentColor,color:P(Gc)(J.gFilamentColor)})},Ue(J.gFilamentType),5)),be(P(Qle)),be(W,{placement:P(n)?"bottom":"left",visible:b.value[Y],"onUpdate:visible":M=>b.value[Y]=M,trigger:"click",width:300,"popper-style":{padding:"8px",background:"#434343"}},{reference:Re(()=>[G("div",{class:"slot-id-container",style:Ut({backgroundColor:J.mapFilamentColor?J.mapFilamentColor:r.value,color:P(Gc)(J.mapFilamentColor)}),onClick:M=>_(Y)},[P(pp)()&&!J.isSuccess?(ne(),Te(Ft,{key:0},[],64)):(ne(),Te(Ft,{key:1},[G("span",null,Ue(J.trayId+1),1),G("div",null,[be(P($le),{class:"arrow-down hor-line",style:Ut({"--fill-color":P(Gc)(J.mapFilamentColor)})},null,8,["style"])]),be(W,{placement:"bottom",effect:"dark",trigger:"hover","show-arrow":!1,offset:22,"popper-style":{padding:"8px",background:"#333334",color:"white",textAlign:"center",width:"100px",minWidth:"100px",maxHeight:"34px",border:"1px solid black"}},{reference:Re(()=>[G("span",null,Ue(J.mapFilamentType),1)]),default:Re(()=>[yt(" "+Ue(J.mapFilamentName),1)]),_:2},1024)],64)),G("div",fze,[be(P(qW),{class:"arrow-down",style:Ut({"--fill-color":P(Gc)(J.mapFilamentColor)})},null,8,["style"])])],12,dze)]),default:Re(()=>[be(oze,{canvas:I.canvas,gFilamentType:J.gFilamentType,gFilamentName:J.gFilamentName,onMappingUpdate:C,onClosePopover:M=>b.value[Y]=!1},null,8,["canvas","gFilamentType","gFilamentName","onClosePopover"])]),_:2},1032,["placement","visible","onUpdate:visible"])]))),128)),p.value.length<4?(ne(!0),Te(Ft,{key:0},Rr(4-p.value.length,J=>(ne(),Te("div",{key:"filler-"+J,class:"tray-container tray-placeholder"}))),128)):Ke("",!0)],64)):Ke("",!0)]),I.existEmptyMapping?(ne(),Te("div",hze,[G("span",null,Ue(I.$t("multiColor.existEmptyMappingNote")),1)])):(ne(),Te("div",pze,[G("span",null,Ue(I.$t("multiColor.selectCANVASNote")),1)]))])}}}),gze=rr(mze,[["__scopeId","data-v-cf19f61d"]]),vze={class:"myDialogHeader"},yze={class:"print-task-content"},Eze={class:"file-info"},bze={class:"model-preview"},Sze=["src"],Aze={class:"print-info"},Cze={class:"info-group"},wze={class:"print-time"},Tze={class:"info-group"},Ize={class:"material-weight"},Pze={class:"info-group"},Oze={class:"material-weight"},_ze={class:"print-bed-options"},Rze={class:"target-checkbox"},kze={class:"label-text"},xze={key:0,class:"target-checkbox"},Dze={class:"label-text"},Lze={class:"target-checkbox"},Nze={class:"label-text"},Mze={class:"bottom-container"},Bze=768,Fze=Je({__name:"print-preview",props:{modelValue:Boolean,fileData:{type:Object,default:()=>({name:"",previewImage:"",printTime:"",materialWeight:"",TotalLayers:0})},canvas:{type:Object,default:()=>({})}},emits:["confirm-print","ams-confirm-print","update:modelValue","confirm-print-mqtt"],setup(e,{emit:t}){Dre(R=>({"52b48529":I.value}));const n=di(),r=e,i=V(()=>n.canvasConnected??!1),{amsMappingInfoData:o}=Vt("amsMappingInfoData"),{canvasPreviewMap:s}=Vt("canvasPreviewMap"),a=()=>s.value.findIndex(R=>R.mapFilamentColor===""),c=se(!1),l=V(()=>{const R=r.fileData.materialWeight,F=typeof R=="number"?R:Number(R);return Number.isNaN(F)?"--":F.toFixed(2)}),u=t,d=se({timeLapse:!1,bedLeveling:!1,openCANVAS:!0,selectedBed:"A"});let f=null;const h=se(!1),p=se(window.innerWidth),g=V(()=>p.value>=Bze?"calc(50vh - 380px)":"5vh"),m=()=>{p.value=window.innerWidth};ln(()=>{window.addEventListener("resize",m)}),xi(()=>{window.removeEventListener("resize",m)});const y=V({get:()=>r.modelValue,set:R=>u("update:modelValue",R)}),v=se(!0),E=()=>{h.value||(v.value=!1)};Ye(()=>r.fileData.previewImage,()=>{v.value=!0});const b=()=>{d.value.timeLapse=!1,d.value.bedLeveling=!1,d.value.openCANVAS=!0,d.value.selectedBed="A",c.value=!1,I.value=_.value};Ye(()=>y.value,R=>{R?(h.value=!1,f!==null&&(clearTimeout(f),f=null)):(h.value=!0,f!==null&&clearTimeout(f),f=window.setTimeout(()=>{b(),f=null},500))});const S=()=>{if(i.value){if(a()!==-1){c.value=!0;return}{const R={filename:r.fileData.name,storage_media:xn.Local,config:{delay_video:d.value.timeLapse,printer_check:d.value.bedLeveling,print_layout:d.value.selectedBed,bedlevel_force:!1,slot_map:s.value.map(F=>({t:F.t,canvas_id:F.canvasId,tray_id:F.trayId}))}};Pe.log("MQTT多色打印",JSON.parse(JSON.stringify(R))),u("confirm-print-mqtt",R)}}else{const R={filename:r.fileData.name,storage_media:xn.Local,config:{delay_video:d.value.timeLapse,printer_check:d.value.bedLeveling,print_layout:d.value.selectedBed}};Pe.log("MQTT单色打印",R),u("confirm-print-mqtt",R)}y.value=!1},w=()=>{y.value=!1},C=R=>`data:image/png;base64,${R}`,_=se("#333334"),I=se("#333334"),O=R=>{const F=performance.now();I9e(R.target).then(W=>{const J=P9e(I.value,W);if(Pe.log("色差距离:",J,"颜色1:",I.value,"颜色2:",W),J<1.2){const M=Xn(W).luminance()>.5?"#1c1c1d":"#585858";Pe.log(`颜色太相似 (ΔE=${J}),自动选择对比色: ${M}`),I.value=M}}).catch(W=>{Pe.error("Failed to get or analyze main color of image:",W),I.value=_.value}).finally(()=>{const J=performance.now()-F;Pe.log(`[性能统计] 模型图/背景色色差分析总耗时: ${J.toFixed(2)}ms`)})};function L(R){Pe.log("映射更新,选择的颜色:",R)}return(R,F)=>{const W=pr,J=WG,Y=zG,M=Zd;return ne(),Ze(M,{modelValue:y.value,"onUpdate:modelValue":F[4]||(F[4]=B=>y.value=B),"show-close":!1,width:"auto",top:g.value,style:Ut({backgroundColor:_.value,padding:"0px 0px 6px",maxWidth:i.value?"446px":"420px",minWidth:"100px",borderRadius:"4px",overflow:"hidden"})},{header:Re(()=>[G("div",vze,[G("span",null,Ue(R.$t("sendPrintTask")),1),be(W,{class:"close-dialog-btn",type:"info",onClick:w,size:"small"},{default:Re(()=>[be(P(Wd))]),_:1})])]),default:Re(()=>[G("div",yze,[G("div",Eze,Ue(P(mp)(e.fileData.name)),1),G("div",bze,[vn(G("img",{src:C(e.fileData.previewImage),alt:"模型预览",class:"model-image",onError:E,onLoad:O},null,40,Sze),[[_r,v.value]]),vn(be(P(oue),{class:"model-image"},null,512),[[_r,!v.value&&!h.value]])]),G("div",Aze,[G("div",Cze,[be(P(Rce)),G("span",wze," "+Ue(e.fileData.printTime||"--"),1)]),G("div",Tze,[be(P(Dce)),G("span",Ize," "+Ue(l.value)+"g",1)]),G("div",Pze,[be(P(Zle)),G("span",Oze," "+Ue(e.fileData.totalLayers),1)])]),vn(be(gze,{existEmptyMapping:c.value,canvas:e.canvas,onMappingUpdate:L},null,8,["existEmptyMapping","canvas"]),[[_r,i.value]]),G("div",_ze,[be(Y,{modelValue:d.value.selectedBed,"onUpdate:modelValue":F[0]||(F[0]=B=>d.value.selectedBed=B)},{default:Re(()=>[be(J,{value:"A"},{default:Re(()=>[yt(Ue(R.$t("texturedPlate")),1)]),_:1}),be(J,{value:"B"},{default:Re(()=>[yt(Ue(R.$t("smoothPlate")),1)]),_:1})]),_:1},8,["modelValue"])]),G("div",{class:je(["print-options",{"two-options":!0}])},[vn(G("label",Rze,[vn(G("input",{type:"checkbox","onUpdate:modelValue":F[1]||(F[1]=B=>d.value.openCANVAS=B)},null,512),[[Y0,d.value.openCANVAS]]),F[5]||(F[5]=G("span",{class:"checkmark"},null,-1)),G("span",kze,Ue(R.$t("multiColor.openCANVAS")),1)],512),[[_r,!1]]),!P(jn)()&&P(n).isCameraUpgraded?(ne(),Te("label",xze,[vn(G("input",{type:"checkbox","onUpdate:modelValue":F[2]||(F[2]=B=>d.value.timeLapse=B)},null,512),[[Y0,d.value.timeLapse]]),F[6]||(F[6]=G("span",{class:"checkmark"},null,-1)),G("span",Dze,Ue(R.$t("timeLapse")),1)])):Ke("",!0),G("label",Lze,[vn(G("input",{type:"checkbox","onUpdate:modelValue":F[3]||(F[3]=B=>d.value.bedLeveling=B)},null,512),[[Y0,d.value.bedLeveling]]),F[7]||(F[7]=G("span",{class:"checkmark"},null,-1)),G("span",Nze,Ue(R.$t("bedLeveling")),1)])])]),G("div",Mze,[be(W,{class:"cancel-btn",onClick:w},{default:Re(()=>[yt(Ue(R.$t("buttons.cancel")),1)]),_:1}),be(W,{class:"confirm-btn",type:"primary",onClick:S},{default:Re(()=>[yt(Ue(R.$t("buttons.print")),1)]),_:1})])]),_:1},8,["modelValue","top","style"])}}}),Tee=rr(Fze,[["__scopeId","data-v-e2c0238c"]]),Uze=Je({__name:"customLoading",setup(e){return(t,n)=>{const r=Pn;return ne(),Ze(r,{class:"is-loading"},{default:Re(()=>[be(P(dl))]),_:1})}}});class jze{static hexToRgb(t){const n=t.replace(/^#/,"");if(!/^([0-9A-Fa-f]{3}){1,2}$/.test(n))return console.error(`[ColorTool] 无效的十六进制颜色:${t},请传入如#FF6464或FF6464的格式`),null;const r=n.length===3?n.split("").map(a=>a.repeat(2)).join(""):n,i=parseInt(r.slice(0,2),16),o=parseInt(r.slice(2,4),16),s=parseInt(r.slice(4,6),16);return[i,o,s]}static normalizeRgb(t,n=16){const r=t.map(o=>Math.max(0,Math.min(255,o))),i=255/(n-1);return r.map(o=>Math.round(o/i)*i)}static rgbToHsv(t,n,r){const i=t/255,o=n/255,s=r/255,a=Math.max(i,o,s),c=Math.min(i,o,s);let l=0,u=0;const d=a*100,f=a-c;if(a!==0&&(u=f/a*100),f!==0){switch(a){case i:l=(o-s)/f+(o=u[0]&&S<=u[1]&&_>=u[0]&&_<=u[1]&&w>=g&&I>=g,J=S>=f[0]&&S<=f[1]&&_>=f[0]&&_<=f[1]&&w>=g&&I>=g,Y=C>=p&&O>=p,M=w.04045?Math.pow((t+.055)/1.055,2.4):t/12.92}function vH(e,t,n){const r=VE(e),i=VE(t),o=VE(n),s=r*.4124564+i*.3575761+o*.1804375,a=r*.2126729+i*.7151522+o*.072175,c=r*.0193339+i*.119192+o*.9503041;return[s*100,a*100,c*100]}function yH(e,t,n){const s=e/95.047,a=t/100,c=n/108.883,l=.008856,u=903.3,d=s>l?Math.cbrt(s):(u*s+16)/116,f=a>l?Math.cbrt(a):(u*a+16)/116,h=c>l?Math.cbrt(c):(u*c+16)/116,p=116*f-16,g=500*(d-f),m=200*(f-h);return[p,g,m]}function EH(e){if(!e||!/^#?[0-9A-Fa-f]{3}([0-9A-Fa-f]{3})?$/.test(e))return null;const t=jze.hexToRgb(e);return t||null}function zze(e,t,n,r,i,o){const s=Math.sqrt(t*t+n*n),a=Math.sqrt(i*i+o*o),c=(s+a)/2,l=.5*(1-Math.sqrt(Math.pow(c,7)/(Math.pow(c,7)+Math.pow(25,7)))),u=(1+l)*t,d=(1+l)*i,f=Math.sqrt(u*u+n*n),h=Math.sqrt(d*d+o*o);let p=Math.atan2(n,u)*180/Math.PI,g=Math.atan2(o,d)*180/Math.PI;p<0&&(p+=360),g<0&&(g+=360);const m=r-e,y=h-f;let v=g-p;v>180&&(v-=360),v<-180&&(v+=360);const E=2*Math.sqrt(f*h)*Math.sin(v*Math.PI/360),b=(e+r)/2,S=(f+h)/2;let w=(p+g)/2;Math.abs(p-g)>180&&(w+=180),w>360&&(w-=360);const C=1-.17*Math.cos((w-30)*Math.PI/180)+.24*Math.cos(2*w*Math.PI/180)+.32*Math.cos((3*w+6)*Math.PI/180)-.2*Math.cos((4*w-63)*Math.PI/180),_=30*Math.exp(-Math.pow((w-275)/25,2)),I=2*Math.sqrt(Math.pow(S,7)/(Math.pow(S,7)+Math.pow(25,7))),O=1+.015*Math.pow(b-50,2)/Math.sqrt(20+Math.pow(b-50,2)),L=1+.045*S,R=1+.015*S*C,F=-Math.sin(2*_*Math.PI/180)*I,W=1,J=1,Y=1;return Math.sqrt(Math.pow(m/(W*O),2)+Math.pow(y/(J*L),2)+Math.pow(E/(Y*R),2)+F*(y/(J*L))*(E/(Y*R)))}function Wze(e,t=50){const n=EH(e);if(!n)return null;const[r,i,o]=vH(n[0],n[1],n[2]),[s,a,c]=yH(r,i,o);let l=Number.POSITIVE_INFINITY,u=null;for(const d of Hze){const f=EH(d.colorHex);if(!f)continue;const[h,p,g]=vH(f[0],f[1],f[2]),[m,y,v]=yH(h,p,g),E=zze(s,a,c,m,y,v);E(e.File="file",e.PrintHistory="printHistory",e.UDisk="UDisk",e))(Ai||{});function Vze(){const{t:e}=Eo(),t=El(),n=di(),r=n,i=se([]),o=se([]),s=se(""),a=se(""),c=se(""),l=se(!1),u=se(1),d=se(50),f=se(1),h=se(50),p=se("/"),g=se(0),m=se(0),y=se({}),v=se(new Map),E=se(new Map),b=se(new Map),S=se(new Map),w=se(!1),C=se(null),_=se(!1),I=se(!1),O=se(!1),L=()=>{C.value||(C.value=Zt({message:e("toastMessages.loadingData"),type:"info",duration:0,icon:hn(Uze),dangerouslyUseHTMLString:!0}))},R=()=>{C.value&&(C.value.close(),C.value=null)};xi(()=>{R()}),ln(()=>{var ue,Ee;j.value.length===0&&L(),Ye(()=>{var He,Xe;return(Xe=(He=n.deviceStatus)==null?void 0:He.external_device)==null?void 0:Xe.u_disk},He=>{He!==void 0&&(Pe.log("u盘状态发生变化",He),E.value.clear(),b.value.clear(),S.value.clear(),o.value=[],f.value=1,h.value=50,m.value=0,p.value="/",K(xn.UDisk,"/"))}),Ye(()=>n.isRegisterSuccess,He=>{He&&(K(xn.Local),Ie())}),((Ee=(ue=n.deviceStatus)==null?void 0:ue.external_device)==null?void 0:Ee.u_disk)&&(p.value="/",K(xn.UDisk,"/",0,Ya))}),se([]);const F=se("file"),W=V(()=>r.status),J=V(()=>n.subStatus);Ye(W,ue=>{(ue===wt.Completed||ue===wt.Stopped)&&(L(),K(xn.Local),setTimeout(()=>{K(xn.UDisk,"/")},1e3),Ie())},{immediate:!0}),Ye(J,ue=>{(ue===De.PrintComplete||ue===De.Stopped)&&(Pe.log("打印完成或停止,5s后刷新历史任务列表..."),setTimeout(()=>{Ie()},4e3),K(xn.Local),setTimeout(()=>{K(xn.UDisk,"/")},1e3),Pe.log("打印完成或停止,清空当前打印缩略图..."),n.currentThumbnail="")}),Ye(()=>n.status,(ue,Ee)=>{Ee===Ge.FileSending&&ue!==Ge.FileSending&&(Pe.log("[ALL]旧状态-文件传输中,新状态-非文件传输中,2s后将刷新文件列表..."),ce(xn.Local),setTimeout(async()=>{var He;if(await K(xn.Local),Pe.log("[ALL]刷新文件列表成功"),n.isPrinting){const Xe=(He=n.printerInfo)==null?void 0:He.filename;if(Xe&&!i.value.some(qe=>qe.filename===Xe)){for(let We=1;We<=3;We++)if(await new Promise(ht=>setTimeout(ht,1e3)),ce(xn.Local),Pe.log(`[ALL]第${We}次刷新本地文件列表...`),await K(xn.Local),i.value.some(ht=>ht.filename===Xe)){Pe.log("[ALL]找到文件,停止重试");return}Pe.log("[ALL]重试3次后仍未找到文件")}}},1e3))});const Y=V(()=>!(n.isIdle||n.isPrintStopped||n.isPrintCompleted||n.isMainLoading&&n.isLoadCompleteCanvas||n.isMainUnLoading&&n.isEjectFilamentComplete||n.isMainAutoLevel&&n.isAutoLevelingComplete||n.isMainPid&&n.isPidCompleted||n.isMainResonanceTesting&&n.isResonanceCompleted||n.isMainHoming&&n.isHomed)),M=V(()=>!(n.isIdle||n.isPrintStopped||n.isPrintCompleted||n.isMainUnLoading&&n.isEjectFilamentComplete||n.isMainLoading&&n.isLoadCompleteCanvas||n.isMainAutoLevel&&n.isAutoLevelingComplete||n.isMainPid&&n.isPidCompleted||n.isMainResonanceTesting&&n.isResonanceCompleted||n.isMainHoming&&n.isHomed)),B=V(()=>!(n.isIdle||n.isPrintStopped||n.isPrintCompleted)),q=V(()=>!n.isIdle),z=V(()=>n.isPrinting),A=V(()=>!n.isIdle),T=V(()=>!n.isIdle),k=V(()=>n.historytaskDetails),j=V(()=>{{const ue=[];return F.value==="file"||F.value==="printHistory"?i.value&&i.value.length>0&&ue.push(...i.value.map(Ee=>({name:Ee.filename,usedSize:0,totalSize:0,storageType:0,type:1,CreateTime:Ee.create_time??0,FileSize:Ee.size??0,Thumbnail:"",LayerHeight:Ee.layer??0,TotalLayers:Ee.layer??0,EstFilamentLength:Ee.total_filament_used??0}))):F.value==="UDisk"&&o.value&&o.value.length>0&&ue.push(...o.value.map(Ee=>({name:Ee.filename,usedSize:0,totalSize:0,storageType:1,type:1,CreateTime:Ee.create_time??0,FileSize:Ee.size??0,Thumbnail:"",LayerHeight:Ee.layer??0,TotalLayers:Ee.layer??0,EstFilamentLength:Ee.total_filament_used??0}))),ue}});Ye(j,ue=>{ue&&ue.length>0&&R()}),Ye(w,ue=>{ue&&R()});const re=V(()=>n.canvas),me=se([]);Ye(()=>{var ue,Ee;return(Ee=(ue=re.value)==null?void 0:ue.canvas_info)==null?void 0:Ee.canvas_list},(ue,Ee)=>{if(!ue&&!Ee)return;if(!ue||!Ee){Pe.log("canvas_list信息发生变化(空值变化)",ue),me.value=ue||[];return}if(ue.length!==Ee.length){Pe.log("canvas_list信息发生变化(长度变化)",ue),me.value=ue;return}const He=JSON.stringify(ue),Xe=JSON.stringify(Ee);He!==Xe&&(Pe.log("canvas_list信息发生变化(内容变化)",ue),me.value=ue)},{deep:!0});const te=V(()=>{var He,Xe,qe,It,We;const ue=[];if(!ee.value.color_map||!me.value||me.value.length===0)return Pe.warn("缺少Gcode文件多色信息或多色耗材信息为空,无法进行多色映射"),ue;const Ee=[];for(const $e of me.value)if($e!=null&&$e.tray_list)for(const ht of $e.tray_list)Ee.push({canvasId:$e.canvas_id||0,tray:ht});for(let $e=0;$et.amsMappingInfoData),fe=()=>{const ue={FilePath:"xxxxx"};return t.getAmsMappingInfo(ue)},le=V(()=>t.mockAmsInfo1),ve=V(()=>{var Ee;const ue=[];return(Ee=le.value)!=null&&Ee.AmsBoxs&&le.value.AmsBoxs.forEach((He,Xe)=>{He!=null&&He.TrayList&&He.TrayList.forEach((qe,It)=>{ue.push(qe)})}),ue});ui("amsMappingInfoData",{amsMappingInfoData:X}),ui("slotArray",{slotArray:ve});const Z=V(()=>te.value);ui("canvasPreviewMap",{canvasPreviewMap:Z});const ae=V(()=>{{const ue=k.value||[],Ee=j.value||[],He=new Map(Ee.map(qe=>[qe.name,{exists:!0,TotalLayers:qe.TotalLayers}]));return ue.map(qe=>{var It;return{Thumbnail:"",TaskName:qe.task_name,BeginTime:qe.begin_time,EndTime:qe.end_time,TaskStatus:qe.task_status,SliceInformation:{},AlreadyPrintLayer:0,TaskId:qe.task_id,MD5:"",CurrentLayerTalVolume:0,TimeLapseVideoStatus:qe.time_lapse_video_status,TimeLapseVideoUrl:qe.time_lapse_video_url,TimeLapseVideoSize:qe.time_lapse_video_size,TimeLapseVideoDuration:qe.time_lapse_video_duration,ErrorStatusReason:0,noExistPrintFile:!He.has(qe.task_name),TotalLayers:(It=He.get(qe.task_name))==null?void 0:It.TotalLayers}})}}),pe=async(ue,Ee)=>{{if(_.value)return;if(Ee=="back"){if(p.value=="/")return;const Xe=p.value.split("/").filter(qe=>qe);Xe.length>0&&(Xe.pop(),p.value=Xe.length>0?"/"+Xe.join("/")+"/":"/")}else{if(p.value.split("/").length>6){Pe.warn("U盘层级大于5级,不允许进入下一级",p.value),Lt(xt.CustomMessage,0,"error",e("toastMessages.UDiskLevelTooDeep"));return}p.value=p.value+ue+"/"}f.value=1;const He=p.value||"/";b.value.has(He)?h.value=b.value.get(He):h.value=1,S.value.has(He)?m.value=S.value.get(He):m.value=0,Pe.log("当前文件夹路径:",p.value),K(xn.UDisk,p.value,0,Ya)}},K=async(ue=xn.Local,Ee,He=0,Xe=Ya)=>{var qe,It;if(ue==xn.Local){const We=Math.floor(He/Ya)+1;if(u.value=We,v.value.has(We)){Pe.log("使用本地文件缓存,页码:",We),i.value=v.value.get(We),O.value=!0;return}if(He>g.value){O.value=!0;return}I.value=!0;let $e;try{$e=await n.getFileList(ue,Ee,He,Xe)}finally{I.value=!1,O.value=!0}if(w.value=$e.file_list.length===0,i.value=$e.file_list,((qe=$e.file_list)==null?void 0:qe.length)===0)d.value=1,g.value=0;else{const ht=$e.total??0;d.value=Math.max(1,Math.ceil(ht/Ya)),g.value=ht}v.value.set(We,$e.file_list),Pe.log("缓存本地文件数据,页码:",We),O.value=!0}else if(ue==xn.UDisk){const We=Math.floor(He/Ya)+1,$e=Ee||"/";if(E.value.has($e)&&E.value.get($e).has(We)&&(o.value=E.value.get($e).get(We),h.value=b.value.get($e),S.value.has($e)&&(m.value=S.value.get($e)),o.value.length!==0)){Pe.log("使用U盘文件缓存,路径:",$e,"页码:",We),f.value=We;return}{const Ht=S.value.get($e)??m.value;if(He>Ht){Pe.log("下边界处理,offset:",He,"totalForDir:",Ht);return}}_.value=!0;const ht=await n.getFileList(ue,Ee,He,Xe);if(_.value=!1,!ht.res)return;if(f.value=We,o.value=ht.file_list,((It=ht.file_list)==null?void 0:It.length)===0)h.value=1,b.value.set($e,1),m.value=0,S.value.set($e,0);else{const Ht=ht.total??0;h.value=Math.max(1,Math.ceil(Ht/Ya)),b.value.set($e,h.value),m.value=Ht,S.value.set($e,Ht)}{const Ht=o.value.filter(qt=>!qt.filename.toLowerCase().endsWith(".gcode")),_t=o.value.filter(qt=>qt.filename.toLowerCase().endsWith(".gcode"));o.value=[...Ht,..._t]}E.value.has($e)||E.value.set($e,new Map),E.value.get($e).set(We,o.value)}},ce=(ue,Ee)=>{ue===xn.Local?(v.value.clear(),Pe.log("清除本地文件缓存")):ue===xn.UDisk&&E.value.has("/")&&(E.value.get("/").clear(),Pe.log("清除U盘文件缓存,路径:","/"))},ye=async(ue,Ee=xn.Local)=>{const He=[];He.push(ue),await n.deletePrintFile(He,Ee),ce(Ee),K(Ee)},ee=V(()=>n.previewFileDetail),$=async ue=>{if(ue===""){Pe.log("获取文件详情(单个)时,url为空!",ue);return}l.value=!1;{s.value=ue,a.value=ue;let Ee;if(F.value==="UDisk"?(c.value=await n.getFileThumbnail(ue,xn.UDisk,!1),Ee=await n.getFileDetail(ue,xn.UDisk,void 0,!0)):(c.value=await n.getFileThumbnail(ue,xn.Local,!1),Ee=await n.getFileDetail(ue,xn.Local,void 0,!0)),Ee.error_code!=_be)return;if(Array.isArray(n.previewFileDetail.color_map)&&n.previewFileDetail.color_map.length===0){Lt(xt.CustomMessage,0,"error",e("toastMessages.InvalidFile"));return}await Cn(),l.value=!0}},ge=V(()=>{{const ue=ee.value;return{Thumbnail:c.value,EstTime:(ue==null?void 0:ue.print_time)??0,EstWeight:(ue==null?void 0:ue.total_filament_used)??0}}}),ie=async ue=>{{const Ee=await n.getFileDetail(ue,xn.Local,void 0,!1);if(Ee.error_code!=0){Lt(xt.ErrorCodeAndCustom,Ee.error_code,"error",e("toastMessages.exportFileFailed"));return}qm(ue,df.Local)}},Ie=async()=>{await n.getPrintHistoryList()},Ce=async ue=>{const Ee=[];Ee.push(ue),await n.deletePrintHistory(Ee),Ie()},oe=()=>F.value=="UDisk"?xn.UDisk:xn.Local,Ne=async ue=>{ue.storage_media=oe(),y.value=ue,Pe.log("本次打印参数:",JSON.parse(JSON.stringify(y.value))),(await n.startPrint(ue)).error_code===Eh.BedMeshDataMissing&&(y.value.config.bedlevel_force=!0,Ne(y.value))},x=(ue,Ee)=>Ee?t.startPrintAmsWithMapping(ue):(t.curPrintFileName=mp(ue.Filename),t.startPrint(ue)),N=V(()=>F.value==="file"?u.value:F.value==="UDisk"?f.value:1),U=V(()=>F.value==="file"?d.value:F.value==="UDisk"?h.value:1),de=async(ue,Ee,He)=>{F.value==="file"?(d.value=Ee,await K(xn.Local,He,(ue-1)*Ya,Ya)):(h.value=Ee,await K(xn.UDisk,p.value,(ue-1)*Ya,Ya))},we=ue=>{const Ee=ue/1048576;let He=0;return Ee<20?He=1e3:Ee<100?He=3e3:Ee<500?He=3500:Ee<1e3?He=4500:He=5500,Math.max(1e3,Math.min(5500,He))};function Ae(ue){F.value=ue}return{onDeletePrintFile:ye,onGetPrintFileInfo:$,onConfirmPrint:x,onConfirmPrintMqtt:Ne,onDeletePrintHistory:Ce,getFileList:K,calculateProcessingTime:we,switchTab:Ae,onUploadError:ue=>{Pe.error("Upload failed:",ue)},onGetAmsMappingInfo:fe,onPageChange:de,onGetUDiskFileList:pe,canvas:re,fileListData:j,printHistoryTaskDetailData:ae,printFileInfoData:ge,btnDisabled:B,currentTab:F,historyListDisabledDeleteBtn:z,historyListDisabledExportBtn:A,fileListDisabledExportBtn:T,amsMappingInfoData:X,loadingMessage:C,ListTab:Ai,currentThumbnail:c,hasGetThumbnailSuccess:l,fileListPrintBtnDisabled:Y,currentPage:N,totalPages:U,currentFolderPath:p,importBtnDisabled:q,historyListPrintBtnDisabled:M,uDiskListLoading:_,localListLoading:I,localListFetched:O,onExportPrintFile:ie}}const Gze={class:"file-list-wrapper"},Jze={class:"file-list-container"},Zze={key:0,class:"table-loading-container"},Yze={class:"empty-state"},Xze={class:"empty-content"},Qze={class:"empty-title"},Kze={key:0,class:"table-expand-content"},qze={key:0,class:"pagination-container"},$ze={class:"page-input-wrapper"},eWe={class:"page-input-container bg-color"},tWe={class:"page-separator"},nWe="delete",rWe="deleteFile",iWe=Je({__name:"print-file-list",props:{fileList:{type:Array,default:()=>[]},amsMappingInfoData:{type:Object},printFileInfo:{type:Object,default:()=>({})},btnDisabled:{type:Boolean,default:!1},fileListDisabledExportBtn:{type:Boolean,default:!1},hasGetThumbnailSuccess:{type:Boolean,default:!1},fileListPrintBtnDisabled:{type:Boolean,default:!1},currentPageProp:{type:Number,default:1},totalPagesProp:{type:Number,default:1},currentFolderPath:{type:String,default:"/"},currentTab:{type:String,default:Ai.File},canvas:{type:Object,default:()=>({})},uDiskListLoading:{type:Boolean,default:!1},localListLoading:{type:Boolean,default:!1},localListFetched:{type:Boolean,default:!1}},emits:["start-print","export-printFile","delete-printFile","get-printFileInfo","confirm-print","get-amsMapping","prevFilePage","nextFilePage","pageChange","getFileList","confirm-print-mqtt"],setup(e,{emit:t}){const n=di(),{isMobile:r}=gs(),i=jn(),{t:o}=Eo(),s=e,a=t,c=se([]),l=se([]),u=se(!1),d=se(""),f=se(""),h=se(!1),p=se(!1),g=V(()=>o("dialogs.deleteFileConfirmation",{fileName:d.value})),m=V(()=>s.currentPageProp),y=V(()=>s.totalPagesProp),v=se(s.currentPageProp),E=se("back"),b=eo({name:"",previewImage:"",printTime:"",materialWeight:"",totalLayers:0}),S=fe=>s.btnDisabled,w=V(()=>s.currentTab===Ai.UDisk?l.value:c.value),C=V(()=>{const fe=[...s.fileList];if(s.currentTab===Ai.UDisk&&s.currentFolderPath!=="/"){const le={name:"..",FileSize:0,TotalLayers:0,CreateTime:0,EstFilamentLength:0,isBackRow:!0};fe.unshift(le)}return fe}),_=V(()=>s.currentTab===Ai.File&&(!s.localListFetched||s.localListLoading)),I=fe=>fe.name,O=fe=>!fe.endsWith(".gcode");function L(fe){if(fe<19693)return"--";const le=new Date(fe*1e3),ve=le.getFullYear(),Z=String(le.getMonth()+1).padStart(2,"0"),ae=String(le.getDate()).padStart(2,"0"),pe=String(le.getHours()).padStart(2,"0"),K=String(le.getMinutes()).padStart(2,"0"),ce=String(le.getSeconds()).padStart(2,"0");return`${ve}-${Z}-${ae} ${pe}:${K}:${ce}`}function R(fe){return fe===0?"-":fe.toString()}const F=fe=>{f.value=d.value,s.currentTab===Ai.UDisk&&s.currentFolderPath!=="/"?d.value=s.currentFolderPath+fe.name:d.value=fe.name,M.value=!0,a("get-printFileInfo",d.value),p.value=!0,B.value=!1},W=async fe=>{try{s.currentTab===Ai.UDisk?await qm(fe,df.Udisk):await qm(fe,df.Local)}catch(le){Pe.error("File export failed:",le)}},J=()=>{s.currentTab===Ai.UDisk?a("pageChange",m.value-1,y.value,s.currentFolderPath+s.currentFolderPath):a("pageChange",m.value-1,y.value)},Y=()=>{s.currentTab===Ai.UDisk?a("pageChange",m.value+1,y.value,s.currentFolderPath):a("pageChange",m.value+1,y.value)},M=se(!1),B=se(!1),q=()=>{h.value=!1,p.value=!1,M.value=!1,B.value=!1,d.value="",Object.assign(b,{name:"",previewImage:"",printTime:"",materialWeight:"",totalLayers:0})};Ye(()=>s.amsMappingInfoData,fe=>{!fe||!p.value||(M.value=!0,M.value&&B.value&&(h.value=!0,p.value=!1))});const z=fe=>{fe&&Object.assign(b,{name:d.value,previewImage:fe==null?void 0:fe.Thumbnail,printTime:fe!=null&&fe.EstTime?tZ(fe.EstTime):"00h 00m 00s",materialWeight:(fe==null?void 0:fe.EstWeight)??0})};Ye([()=>s.printFileInfo,()=>s.hasGetThumbnailSuccess],([fe])=>{!fe||!s.hasGetThumbnailSuccess||Object.keys(fe).length===0||!p.value||(z(fe),B.value=!0,M.value&&B.value&&(h.value=!0,p.value=!1))}),Ye(()=>h.value,fe=>{fe||q()}),Ye(()=>s.currentPageProp,fe=>{v.value=fe});const A=(fe,le)=>{a("confirm-print",fe,le)},T=fe=>{var le,ve;if(((ve=(le=n.deviceStatus)==null?void 0:le.extruder)==null?void 0:ve.filament_detected)===$C.NoFilament&&!n.canvasConnected){Lt(xt.CustomMessage,0,"error",o("toastMessages.noFilamentDetected"));return}a("confirm-print-mqtt",fe)},k=fe=>{if(fe.isBackRow){if(E.value="back",s.currentTab===Ai.UDisk&&s.uDiskListLoading){Pe.log("U盘加载中时,忽略点击");return}a("getFileList",s.currentFolderPath,"back");return}if(O(fe.name)){if(E.value="forward",s.currentTab===Ai.UDisk&&s.uDiskListLoading)return;a("getFileList",fe.name,E.value);return}const le=fe.name;b.totalLayers=fe.TotalLayers;const ve=s.currentTab===Ai.UDisk?l:c;ve.value.includes(le)?ve.value=[]:ve.value=[le]};function j(fe){d.value=fe.name,u.value=!0}function re(){d.value&&(a("delete-printFile",d.value),u.value=!1)}const me=fe=>{const Z=fe.target.value.replace(/[^0-9]/g,"");v.value=parseInt(Z)},te=()=>{const fe=parseInt(v.value.toString())||1,le=Math.max(1,Math.min(fe,y.value));v.value=le,a("pageChange",le,y.value)},X=()=>{var fe,le;{if(s.currentTab===Ai.UDisk&&!n.isUDiskInserted)return o("table.emptyState.noUdisk");if(s.currentTab===Ai.UDisk&&((le=(fe=n.deviceStatus)==null?void 0:fe.external_device)!=null&&le.u_disk)&&n.printerBusy)return o("table.emptyState.loadingFile");if(s.currentTab===Ai.File)return o("table.emptyState.noFile")}return o("table.emptyState.noFile")};return(fe,le)=>{const ve=Pn,Z=pr,ae=Ww,pe=zw;return ne(),Te("div",Gze,[G("div",Jze,[_.value?(ne(),Te("div",Zze,[be(ve,{class:"table-loading-icon is-loading"},{default:Re(()=>[be(P(dl))]),_:1})])):(ne(),Ze(pe,{key:1,data:C.value,class:je(["uniform-table",{"mobile-uniform-table":P(r)}]),"expand-row-keys":w.value,onRowClick:k,"row-key":I},{empty:Re(()=>[G("div",Yze,[e.currentTab===P(Ai).UDisk&&!P(n).isUDiskInserted?(ne(),Ze(P(yue),{key:0,class:"empty-icon"})):e.currentTab===P(Ai).File&&!_.value?(ne(),Ze(P(jO),{key:1,class:"empty-icon"})):e.currentTab===P(Ai).UDisk&&P(n).printerBusy?(ne(),Ze(P(Z3),{key:2,class:"empty-Loading-icon spin"})):e.currentTab===P(Ai).UDisk&&!e.uDiskListLoading?(ne(),Ze(P(jO),{key:3,class:"empty-icon"})):Ke("",!0),G("div",Xze,[G("h3",Qze,Ue(X()),1)])])]),default:Re(()=>[be(ae,{type:"expand",width:"1","expand-row-keys":w.value,"row-key":I},{default:Re(({row:K})=>[!O(K.name)&&!K.isBackRow?(ne(),Te("div",Kze,[be(Z,{type:"primary",onClick:ce=>F(K),disabled:e.fileListPrintBtnDisabled},{default:Re(()=>[yt(Ue(fe.$t("buttons.startPrint")),1)]),_:2},1032,["onClick","disabled"]),!P(i)&&!(e.currentTab===P(Ai).UDisk&&e.currentFolderPath!=="/")?(ne(),Ze(Z,{key:0,type:"primary",onClick:ce=>W(K.name),disabled:e.fileListDisabledExportBtn},{default:Re(()=>[yt(Ue(fe.$t("buttons.export")),1)]),_:2},1032,["onClick","disabled"])):Ke("",!0),e.currentTab!==P(Ai).UDisk?(ne(),Ze(Z,{key:1,type:"primary",onClick:ce=>j(K),disabled:S(K)},{default:Re(()=>[yt(Ue(fe.$t("buttons.delete")),1)]),_:2},1032,["onClick","disabled"])):Ke("",!0)])):Ke("",!0)]),_:1},8,["expand-row-keys"]),be(ae,{label:fe.$t("fileTable.fileName"),"min-width":P(r)?"50%":void 0,"show-overflow-tooltip":""},{default:Re(({row:K})=>[G("span",{class:je({"ellipsis-text":P(r)})},[K.isBackRow?(ne(),Ze(P(UO),{key:0,style:{display:"inline-block","vertical-align":"middle","margin-right":"10px",transform:"translateY(-1px)"}})):O(K.name)?(ne(),Ze(P(mue),{key:1,style:{display:"inline-block","vertical-align":"middle","margin-right":"4px"}})):K.isBackRow?Ke("",!0):(ne(),Ze(P(Cue),{key:2,style:{display:"inline-block","vertical-align":"middle","margin-right":"4px"}})),yt(" "+Ue(K.isBackRow?fe.$t("buttons.backToParent"):P(mp)(K.name)||"-"),1)],2)]),_:1},8,["label","min-width"]),be(ae,{label:fe.$t("fileTable.fileSize"),"min-width":P(r)?"30%":void 0,width:P(r)?void 0:"160"},{default:Re(({row:K})=>[yt(Ue(K.isBackRow?"":O(K.name)?"--":P(nZ)(K.FileSize)),1)]),_:1},8,["label","min-width","width"]),be(ae,{label:fe.$t("fileTable.layerHeight"),"min-width":P(r)?"20%":void 0,width:P(r)?void 0:"160"},{default:Re(({row:K})=>[yt(Ue(K.isBackRow?"":O(K.name)?"--":K.TotalLayers||"-"),1)]),_:1},8,["label","min-width","width"]),P(r)?Ke("",!0):(ne(),Te(Ft,{key:0},[be(ae,{label:fe.$t("fileTable.createTime"),width:"160"},{default:Re(({row:K})=>[yt(Ue(K.isBackRow?"":O(K.name)?"--":L(K.CreateTime)),1)]),_:1},8,["label"]),be(ae,{label:fe.$t("fileTable.filamentConsume"),width:"160"},{default:Re(({row:K})=>[yt(Ue(K.isBackRow?"":O(K.name)?"--":(()=>{const ce=R(K.EstFilamentLength);return ce==="-"?ce:ce+"g"})()),1)]),_:1},8,["label"])],64))]),_:1},8,["data","class","expand-row-keys"]))]),P(pp)()?(ne(),Te("div",qze,[be(Z,{class:"page-button",onClick:J,disabled:m.value<=1},{default:Re(()=>[be(P(UO))]),_:1},8,["disabled"]),G("div",$ze,[G("div",eWe,[vn(G("input",{"onUpdate:modelValue":le[0]||(le[0]=K=>v.value=K),class:"page-number-input",onInput:me,onKeyup:Wc(te,["enter"]),type:"text",maxlength:"2"},null,544),[[Qz,v.value]]),G("span",tWe,"/ "+Ue(y.value),1)])]),be(Z,{class:"page-button",onClick:Y,disabled:m.value>=y.value},{default:Re(()=>[be(P(fue))]),_:1},8,["disabled"])])):Ke("",!0),be(al,{modelValue:u.value,"onUpdate:modelValue":le[1]||(le[1]=K=>u.value=K),"confirm-title":rWe,"confirm-message":g.value,"confirm-btn-txt":nWe,onConfirm:re},null,8,["modelValue","confirm-message"]),be(Tee,{modelValue:h.value,"onUpdate:modelValue":le[2]||(le[2]=K=>h.value=K),"file-data":b,amsMappingInfoData:e.amsMappingInfoData,canvas:e.canvas,onConfirmPrint:A,onConfirmPrintMqtt:T},null,8,["modelValue","file-data","amsMappingInfoData","canvas"])])}}}),oWe=rr(iWe,[["__scopeId","data-v-b3782355"]]),sWe={class:"table-expand-content"},aWe={key:0,class:"rtm-loading-container"},cWe={class:"loading-more"},lWe="deleteRecord",uWe="delete",dWe=Je({__name:"print-history-list",props:{printHistoryList:{type:Array,default:()=>[]},printFileInfo:{type:Object,default:()=>({})},btnDisabled:{type:Boolean,default:!1},historyListDisabledDeleteBtn:{type:Boolean,default:!1},historyListDisabledExportBtn:{type:Boolean,default:!1},hasGetThumbnailSuccess:{type:Boolean,default:!1},historyListPrintBtnDisabled:{type:Boolean,default:!1},canvas:{type:Object,default:()=>({})}},emits:["start-print","export-printFile","delete-printHistory","get-printFileInfo","confirm-print","confirm-print-mqtt"],setup(e,{emit:t}){const{isMobile:n}=gs(),{t:r}=Eo(),i=se(!1),o=di(),s=jn(),a=e,c=t,l=V(()=>n.value?{width:"100%"}:{width:"100%"}),u=se([]),d=se(!1),f=se(null),h=se(""),p=se(!1),g=V(()=>r("dialogs.deleteRecordConfirmation",{record:h.value})),m={0:"Other",1:"Complete",2:"Cancel",3:"Cancel",4:"Printing",5:"Pause"},y={1:"#0079D1",3:"#FFFFFF",default:"#E0E0E0"},v={fontFamily:"var(--app-font-family)",fontSize:"14px",fontWeight:"350",lineHeight:"20px",letterSpacing:"0em"},E=eo({name:"",previewImage:"",printTime:"",materialWeight:"",totalLayers:""}),b=V(()=>C.value?_.value:a.printHistoryList),S=A=>a.historyListPrintBtnDisabled,w=A=>!1,C=V(()=>!1),_=se([]);Ye(()=>a.printHistoryList,A=>{C.value||(_.value=A)},{deep:!0});const I=(A,T)=>{c("confirm-print",A,T)},O=A=>{c("confirm-print-mqtt",A)},L=A=>{var T,k;if(((k=(T=o.deviceStatus)==null?void 0:T.extruder)==null?void 0:k.filament_detected)===$C.NoFilament&&!o.canvasConnected){Lt(xt.CustomMessage,0,"error",r("toastMessages.noFilamentDetected"));return}h.value=A.TaskName,c("get-printFileInfo",A.TaskName),p.value=!0};Ye([()=>a.printFileInfo,()=>a.hasGetThumbnailSuccess],([A])=>{!A||!a.hasGetThumbnailSuccess||Object.keys(A).length===0||!p.value||(Object.assign(E,{name:h.value,previewImage:A==null?void 0:A.Thumbnail,printTime:A!=null&&A.EstTime?tZ(A.EstTime):"00h 00m 00s",materialWeight:(A==null?void 0:A.EstWeight)??0}),i.value=!0)},{deep:!0}),Ye(()=>i.value,A=>{A||(p.value=!1)});const R=A=>m[A]||"Unknow",F=A=>{const T=y[A]||y.default;return{...v,color:T}},W=(A,T)=>{const k=T-A,j=Math.floor(k/3600),re=Math.floor(k%3600/60);return`${String(j).padStart(2,"0")}h${String(re).padStart(2,"0")}m`},J=A=>{const T=new Date(A*1e3),k=le=>String(le).padStart(2,"0"),j=T.getFullYear(),re=k(T.getMonth()+1),me=k(T.getDate()),te=k(T.getHours()),X=k(T.getMinutes()),fe=k(T.getSeconds());return`${j}-${re}-${me} ${te}:${X}:${fe}`},Y=A=>{const T=A.TaskId;E.totalLayers=A.TotalLayers,u.value.includes(T)?u.value=[]:u.value=[T]},M=A=>{c("export-printFile",A)};function B(A){f.value=A.TaskId,h.value=mp(A.TaskName),d.value=!0}function q(){f.value&&(c("delete-printHistory",f.value),d.value=!1)}const z=A=>{};return ln(async()=>{}),(A,T)=>{const k=pr,j=Bg,re=Ww,me=zw,te=Pn;return ne(),Te("div",{class:je(["control-container",{mobile:P(n)}]),onScroll:z},[be(me,{data:b.value,"empty-text":A.$t("table.noData"),style:Ut(l.value),class:je(["uniform-table",{"mobile-uniform-table":P(n)}]),"expand-row-keys":u.value,onRowClick:Y,"row-key":X=>X.TaskId,scroll:{y:!1}},{default:Re(()=>[be(re,{type:"expand",width:"1"},{default:Re(({row:X})=>[G("div",sWe,[be(j,{content:A.$t("tooltip.fileNotExist"),placement:"top",disabled:!w(X)},{default:Re(()=>[be(k,{type:"primary",onClick:Nr(fe=>L(X),["stop"]),disabled:S(X)},{default:Re(()=>[yt(Ue(A.$t("reprint")),1)]),_:2},1032,["onClick","disabled"])]),_:2},1032,["content","disabled"]),P(s)?Ke("",!0):(ne(),Ze(j,{key:0,content:A.$t("tooltip.fileNotExist"),placement:"top",disabled:!w(X)},{default:Re(()=>[be(k,{type:"primary",onClick:Nr(fe=>M(X.TaskName),["stop"]),disabled:e.historyListDisabledExportBtn},{default:Re(()=>[yt(Ue(A.$t("export")),1)]),_:2},1032,["onClick","disabled"])]),_:2},1032,["content","disabled"])),be(k,{type:"primary",onClick:fe=>B(X),disabled:e.historyListDisabledDeleteBtn},{default:Re(()=>[yt(Ue(A.$t("delete")),1)]),_:2},1032,["onClick","disabled"])])]),_:1}),be(re,{label:A.$t("fileName"),"min-width":P(n)?"50%":void 0,"show-overflow-tooltip":""},{default:Re(({row:X})=>[G("span",{class:je({"ellipsis-text":P(n)})},Ue(P(mp)(X.TaskName)),3)]),_:1},8,["label","min-width"]),be(re,{width:P(n)?void 0:"160","min-width":P(n)?"20%":"160",label:A.$t("status")},{default:Re(({row:X})=>[G("span",{style:Ut(F(X.TaskStatus))},Ue(A.$t(`status.${R(X.TaskStatus)}`)),5)]),_:1},8,["width","min-width","label"]),P(n)?Ke("",!0):(ne(),Ze(re,{key:0,width:"200",label:A.$t("startTime")},{default:Re(({row:X})=>[yt(Ue(J(X.BeginTime)),1)]),_:1},8,["label"])),be(re,{width:P(n)?void 0:"160","min-width":P(n)?"30%":void 0,label:A.$t("totalConsumption")},{default:Re(({row:X})=>[yt(Ue(W(X.BeginTime,X.EndTime)),1)]),_:1},8,["width","min-width","label"]),P(n)?Ke("",!0):(ne(),Ze(re,{key:1,width:"160",label:A.$t("fileSize")},{default:Re(()=>[...T[2]||(T[2]=[yt("-",-1)])]),_:1},8,["label"]))]),_:1},8,["data","empty-text","style","class","expand-row-keys","row-key"]),P(s)&&P(o).rtmHistoryLoading?(ne(),Te("div",aWe,[G("div",cWe,[be(te,{class:"is-loading"},{default:Re(()=>[be(P(dl))]),_:1}),G("span",null,Ue(A.$t("loadingMore")),1)])])):Ke("",!0),be(Tee,{modelValue:i.value,"onUpdate:modelValue":T[0]||(T[0]=X=>i.value=X),canvas:e.canvas,"file-data":E,onConfirmPrint:I,onConfirmPrintMqtt:O},null,8,["modelValue","canvas","file-data"]),be(al,{modelValue:d.value,"onUpdate:modelValue":T[1]||(T[1]=X=>d.value=X),"confirm-title":lWe,"confirm-message":g.value,"confirm-btn-txt":uWe,onConfirm:q},null,8,["modelValue","confirm-message"])],34)}}}),fWe=rr(dWe,[["__scopeId","data-v-35929abf"]]),hWe={class:"import-button-container"},pWe=["accept"],mWe=Je({__name:"import-button",props:{accept:{type:String,default:".gcode"},disabled:{type:Boolean,default:!0}},emits:["upload-success","upload-error"],setup(e,{emit:t}){const{t:n}=Eo(),r=t,i=se(null),o=se(!1),s=se(0),a=se(""),c=di();Ye(()=>c.isConnected,p=>{!p&&o.value&&pp()&&(Pe.error("MQTT连接状态变化检测到断开 - 正在上传文件:",a.value),o.value=!1,a.value="",s.value=0,Zt.error(n("printStatus.offline")+","+n("toastMessages.uploadFileFailed")))});const l=async()=>{qi.printerId?f():!o.value&&i.value&&(i.value.value="",i.value.click())},u=p=>{if(!p||typeof p!="object")return;const{uploadedBytes:g,totalBytes:m}=p;if(typeof g!="number"||typeof m!="number"||m<=0)return;const y=g/m*100,v=Math.floor(y);s.value=v,c.isMainFileSending&&(c.currentUploadFileProgress=v,Pe.log("[MQTT] 文件传输进度:",v)),c.currentSendingFileName&&(o.value=!0,a.value=c.currentSendingFileName)};let d=!1;ln(()=>{d||(qr.on("upload_progress",u),d=!0,Pe.log("[上传进度] 已注册全局事件监听器")),c.isMainFileSending&&(o.value=!0,a.value=c.currentSendingFileName,s.value=c.currentUploadFileProgress,Pe.log("[上传进度] 恢复上传状态:",{fileName:c.currentSendingFileName,progress:c.currentUploadFileProgress}))});const f=async()=>{const p=await ib.openFileDialog("GCODE (*.gcode)|*.gcode");if(p&&p.length>0){let g=p[0];g=g.replace(/\\/g,"/");const m=g.split("/").pop()||"";try{o.value=!0,a.value=m,c.currentSendingFileName=m,s.value=0,await ib.uploadFile({filePath:g,fileName:m,printerId:qi.printerId??""}),r("upload-success",{fileName:a.value,fileSize:0,timestamp:new Date})}catch(y){Pe.error("File upload failed:",y),Lt(xt.CustomMessage,0,"error",y.message)}finally{s.value===100?setTimeout(()=>{(o.value||a.value)&&(o.value=!1,a.value="")},1e3):(o.value=!1,a.value="")}}},h=async p=>{var y;const m=(y=p.target.files)==null?void 0:y[0];if(m){if(!m.name.toLowerCase().endsWith(".gcode")){Zt.error("Only supports uploading .gcode files");return}o.value=!0,a.value=m.name,s.value=0;try{if(pp()){if(Pe.log("开始上传前检查MQTT连接状态:",c.isConnected),!c.isConnected)throw new Error(n("printStatus.offline")+","+n("toastMessages.uploadFileFailed"));const v={file:m,targetPath:df.Local,onProgress:E=>{s.value=Math.floor(E*100)},onConnectionCheck:()=>c.isConnected};await Tbe(v),r("upload-success",{fileName:m.name,fileSize:m.size,timestamp:new Date})}}catch(v){c.isConnected?r("upload-error",v instanceof Error?v.message:n("toastMessages.uploadFileFailed")):r("upload-error",n("printStatus.offline")+", "+n("toastMessages.uploadFileFailed"))}finally{s.value===100?setTimeout(()=>{(o.value||a.value)&&(o.value=!1,a.value="")},1e3):(o.value=!1,a.value="")}}};return(p,g)=>{const m=pr;return ne(),Te("div",hWe,[G("input",{type:"file",ref_key:"fileInput",ref:i,style:{display:"none"},accept:e.accept,onChange:h},null,40,pWe),be(m,{type:"info",size:"small",class:"import-button small-btn-size global-font-14",onClick:l,disabled:e.disabled},{default:Re(()=>[G("span",null,[be(P(eV))]),yt(" "+Ue(p.$t("import")),1)]),_:1},8,["disabled"])])}}}),gWe=rr(mWe,[["__scopeId","data-v-73636b9e"]]),vWe={class:"title-container"},yWe={class:"left-buttons"},EWe={class:"right-buttons bg-color232425"},bWe={class:"control-container"},SWe=Je({__name:"file-list",setup(e){const{fileListData:t,printHistoryTaskDetailData:n,printFileInfoData:r,btnDisabled:i,historyListDisabledDeleteBtn:o,historyListDisabledExportBtn:s,fileListDisabledExportBtn:a,currentTab:c,amsMappingInfoData:l,hasGetThumbnailSuccess:u,fileListPrintBtnDisabled:d,currentPage:f,totalPages:h,importBtnDisabled:p,historyListPrintBtnDisabled:g,localListFetched:m,localListLoading:y,uDiskListLoading:v,onDeletePrintFile:E,onGetPrintFileInfo:b,onConfirmPrint:S,onConfirmPrintMqtt:w,onDeletePrintHistory:C,switchTab:_,onUploadError:I,onGetAmsMappingInfo:O,onPageChange:L,ListTab:R,currentFolderPath:F,onGetUDiskFileList:W,canvas:J,onExportPrintFile:Y}=Vze(),M=jn(),B=V(()=>c.value===R.File||c.value===R.UDisk?oWe:fWe);return(q,z)=>{const A=pr;return ne(),Ze(ku,null,{title:Re(()=>[yt(Ue(q.$t("file")),1)]),default:Re(()=>[G("div",vWe,[G("div",yWe,[be(A,{size:"small",class:je(["global-font-14 medium-btn-size",{active:P(c)===P(R).File}]),onClick:z[0]||(z[0]=T=>P(_)(P(R).File))},{default:Re(()=>[yt(Ue(q.$t("printerFile")),1)]),_:1},8,["class"]),P(M)?Ke("",!0):(ne(),Ze(A,{key:0,size:"small",class:je(["global-font-14 medium-btn-size",{active:P(c)===P(R).UDisk}]),onClick:z[1]||(z[1]=T=>P(_)(P(R).UDisk))},{default:Re(()=>[yt(Ue(q.$t("buttons.eDisk")),1)]),_:1},8,["class"])),be(A,{size:"small",class:je(["global-font-14 medium-btn-size",{active:P(c)===P(R).PrintHistory}]),onClick:z[2]||(z[2]=T=>P(_)(P(R).PrintHistory))},{default:Re(()=>[yt(Ue(q.$t("printHistory")),1)]),_:1},8,["class"])]),G("div",EWe,[be(gWe,{accept:".gcode",disabled:P(p),onUploadError:P(I)},null,8,["disabled","onUploadError"])])]),G("div",bWe,[vn((ne(),Ze(Br(B.value),{fileList:P(t),printHistoryList:P(n),amsMappingInfoData:P(l),printFileInfo:P(r),btnDisabled:P(i),historyListPrintBtnDisabled:P(g),historyListDisabledDeleteBtn:P(o),historyListDisabledExportBtn:P(s),fileListDisabledExportBtn:P(a),hasGetThumbnailSuccess:P(u),fileListPrintBtnDisabled:P(d),currentPageProp:P(f),totalPagesProp:P(h),currentFolderPath:P(F),currentTab:P(c),canvas:P(J),uDiskListLoading:P(v),localListFetched:P(m),localListLoading:P(y),onGetFileList:P(W),onPageChange:P(L),onDeletePrintFile:P(E),onGetPrintFileInfo:P(b),onGetAmsMapping:P(O),onConfirmPrint:P(S),onConfirmPrintMqtt:P(w),onDeletePrintHistory:P(C),onExportPrintFile:P(Y)},null,40,["fileList","printHistoryList","amsMappingInfoData","printFileInfo","btnDisabled","historyListPrintBtnDisabled","historyListDisabledDeleteBtn","historyListDisabledExportBtn","fileListDisabledExportBtn","hasGetThumbnailSuccess","fileListPrintBtnDisabled","currentPageProp","totalPagesProp","currentFolderPath","currentTab","canvas","uDiskListLoading","localListFetched","localListLoading","onGetFileList","onPageChange","onDeletePrintFile","onGetPrintFileInfo","onGetAmsMapping","onConfirmPrint","onConfirmPrintMqtt","onDeletePrintHistory","onExportPrintFile"])),[[_r,!0]])])]),_:1})}}}),bH=rr(SWe,[["__scopeId","data-v-ff76a677"]]),AWe={class:"temperature-name"},CWe={class:"temperature-value"},wWe="modify",TWe="confirmTemperature",IWe=Je({__name:"temp-control",props:{name:{type:String,required:!0},currentValue:{type:[Number,String],required:!0},targetValue:{type:Number,default:0},min:{type:Number,default:0},max:{type:Number,required:!0},editable:{type:Boolean,default:!0},iconComponent:{type:Object,required:!0},tempDisabled:{type:Boolean,default:!1}},emits:["update","confirm"],setup(e,{emit:t}){const{t:n}=Eo(),r=e,i=t,o=V(()=>typeof r.currentValue=="number"?r.currentValue.toFixed(2):r.currentValue),s=V(()=>typeof r.currentValue=="number"),a=se(r.targetValue);Ye(()=>r.targetValue,g=>{a.value=g});const c=se(!1),l=se(!1),u=V(()=>n("dialogs.updateTemperatureConfirmation",{device:n(`temperature.${r.name}`),temperature:a.value}));function d(g){if(g==null||isNaN(g)){a.value=r.targetValue;return}g>r.max?(Pe.log("温度输入超过最大值"),a.value=r.max):g{const y=Pn,v=Dve,E=al;return ne(),Te(Ft,null,[G("div",{class:"temperature-control-row",onKeydown:Wc(p,["enter"])},[be(y,null,{default:Re(()=>[(ne(),Ze(Br(e.iconComponent)))]),_:1}),G("span",AWe,Ue(g.$t(`temperature.${e.name}`)),1),G("span",CWe,[yt(Ue(o.value),1),s.value?(ne(),Te(Ft,{key:0},[yt("℃")],64)):Ke("",!0),e.editable?(ne(),Te(Ft,{key:1},[yt(" / ")],64)):Ke("",!0)]),e.editable?(ne(),Ze(v,{key:0,modelValue:a.value,"onUpdate:modelValue":m[0]||(m[0]=b=>a.value=b),modelModifiers:{number:!0},min:e.min,max:e.max,disabled:e.tempDisabled,class:"temperature-input",controls:!1,"data-unit":"℃",onChange:d},null,8,["modelValue","min","max","disabled"])):Ke("",!0)],32),be(E,{modelValue:l.value,"onUpdate:modelValue":m[1]||(m[1]=b=>l.value=b),"confirm-title":TWe,"confirm-message":u.value,"confirm-btn-txt":wWe,onConfirm:f,onCancel:h},null,8,["modelValue","confirm-message"])],64)}}}),GE=rr(IWe,[["__scopeId","data-v-1eb676e7"]]);function PWe(){El();const e=di(),t=V(()=>e.deviceStatus),n=V(()=>{var u,d;return(d=(u=e.deviceStatus)==null?void 0:u.extruder)==null?void 0:d.temperature}),r=V(()=>{var d,f;return(f=(d=e.deviceStatus)==null?void 0:d.extruder)==null?void 0:f.target}),i=V(()=>{var u,d;return(d=(u=e.deviceStatus)==null?void 0:u.heater_bed)==null?void 0:d.temperature}),o=V(()=>{var u,d;return(d=(u=e.deviceStatus)==null?void 0:u.heater_bed)==null?void 0:d.target}),s=V(()=>{var u,d;return e.isChassisFanUpgraded?(d=(u=e.deviceStatus)==null?void 0:u.ztemperature_sensor)==null?void 0:d.temperature:"--"}),a=V(()=>!(e.isPrinting||e.isIdle||e.isMainExtrudering));return{onNozzleConfirm:u=>(Pe.log("确认喷嘴温度:",u),e.temperatureControl({extruder:u})),deviceStatus:t,onBedConfirm:u=>(Pe.log("确认热床温度:",u),e.temperatureControl({heater_bed:u})),tempDisabled:a,extruderTemperature:n,extruderTargetTemperature:r,hotBedTemperature:i,hotBedTargetTemperature:o,boxTemperature:s}}const OWe={class:"control-container"},_We={class:"header"},RWe={class:"label"},kWe={class:"value"},xWe={class:"temperature-display"},DWe=Je({__name:"device-temp",setup(e){const{onNozzleConfirm:t,onBedConfirm:n,tempDisabled:r,extruderTemperature:i,extruderTargetTemperature:o,hotBedTemperature:s,hotBedTargetTemperature:a,boxTemperature:c}=PWe();return(l,u)=>(ne(),Ze(ku,null,{title:Re(()=>[yt(Ue(l.$t("temperature.temperature")),1)]),default:Re(()=>[G("div",OWe,[G("div",_We,[G("span",RWe,Ue(l.$t("temperature.name")),1),G("span",kWe,Ue(l.$t("temperature.currentTarget")),1)]),G("div",xWe,[be(GE,{name:"nozzle",currentValue:P(i)||0,targetValue:P(o)||0,min:0,max:350,iconComponent:P(Mce),tempDisabled:P(r),onConfirm:P(t)},null,8,["currentValue","targetValue","iconComponent","tempDisabled","onConfirm"]),be(GE,{name:"heatedbed",currentValue:P(s)||0,targetValue:P(a)||0,min:0,max:110,iconComponent:P(Uce),tempDisabled:P(r),onConfirm:P(n)},null,8,["currentValue","targetValue","iconComponent","tempDisabled","onConfirm"]),be(GE,{name:"chamber",currentValue:P(c)??"--",min:0,max:100,editable:!1,tempDisabled:P(r),iconComponent:P(zce)},null,8,["currentValue","tempDisabled","iconComponent"])])])]),_:1}))}}),SH=rr(DWe,[["__scopeId","data-v-05855162"]]),LWe={class:"myDialogHeader font-size14"},NWe={style:{margin:"14px 10px"}},MWe={class:"dialog-content font-size14"},BWe={key:0,class:"image-container"},FWe={class:"dialog-footer"},UWe=Je({__name:"ai-detection-prompt",props:{modelValue:{type:Boolean,default:!1},message:{type:String,required:!0},imageUrl:{type:String,default:""}},emits:["confirm","update:modelValue","close"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=e,i=t,o=V({get:()=>r.modelValue,set:c=>i("update:modelValue",c)}),s=()=>{i("close"),o.value=!1},a=()=>{i("confirm"),o.value=!1};return(c,l)=>{const u=pr,d=Dw,f=Zd;return ne(),Ze(f,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=h=>o.value=h),width:P(n)?"90%":"31%",style:Ut(P(n)?{top:"50%",transform:"translateY(-50%)",padding:0,backgroundColor:"#1c1d1e",borderRadius:"4px",overflow:"hidden"}:{padding:0,backgroundColor:"#1c1d1e",maxWidth:"440px",borderRadius:"4px",overflow:"hidden"}),"show-close":!1,"close-on-click-modal":!1},{header:Re(()=>[G("div",LWe,[G("span",NWe,Ue(c.$t("dialogs.errorNotice")),1),be(u,{class:"close-dialog-btn",type:"info",onClick:s,size:"small"},{default:Re(()=>[be(P(Wd),{style:{width:"14px",height:"14px"}})]),_:1})])]),default:Re(()=>[G("div",MWe,[e.imageUrl?(ne(),Te("div",BWe,[be(d,{src:e.imageUrl,alt:e.message,class:"detection-image","preview-src-list":[e.imageUrl],"initial-index":0,fit:"contain","preview-teleported":""},null,8,["src","alt","preview-src-list"])])):Ke("",!0),G("p",{class:"dialog-message",style:Ut({textAlign:"center",marginTop:e.imageUrl?"16px":"0"})},Ue(e.message),5)]),G("div",FWe,[be(u,{class:"confirm-btn",type:"primary",onClick:a},{default:Re(()=>[yt(Ue(c.$t("buttons.confirm")),1)]),_:1})])]),_:1},8,["modelValue","width","style"])}}}),AH=rr(UWe,[["__scopeId","data-v-9019dc31"]]),L5="data:image/jpeg;base64,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",jWe={key:0,class:"connection-failed font-size16"},HWe={key:1,class:"connection-failed font-size16"},zWe={key:2,class:"connection-failed font-size16"},WWe={key:3,class:"relative flex justify-center items-center"},VWe=["src"],GWe={key:0},JWe={key:1},CH=3,ZWe=Je({__name:"monitor",setup(e){El();const t=di(),n=t,r=Ije(),{t:i}=Eo(),o=se(0),s=se(0),a=se(!1),c=se(null),l=se(!1),u=se(!1),d=se(!1),f=se("");function h(){if(!_.value||!O.value||!I.value)return null;try{const T=I.value.querySelector("video");if(!T||T.readyState!==HTMLMediaElement.HAVE_ENOUGH_DATA)return Pe.warn("[AI] RTC视频元素未准备好,无法截取帧"),null;const k=document.createElement("canvas");k.width=T.videoWidth||T.clientWidth,k.height=T.videoHeight||T.clientHeight;const j=k.getContext("2d");if(!j)return Pe.warn("[AI] 无法获取canvas上下文"),null;j.drawImage(T,0,0,k.width,k.height);const re=k.toDataURL("image/png");return Pe.log("[AI] 成功截取RTC视频帧"),re}catch(T){return Pe.error("[AI] 截取RTC视频帧失败:",T),null}}Ye(()=>t.exceptionCodeList,T=>{if(!(!T||!T.includes(zc.NoodleDefect)&&!T.includes(zc.foreignDetection))){if(O.value){const k=h();f.value=k||L5}else f.value=L5;Pe.log("[AI] 显示异常提示框"),T.includes(zc.foreignDetection)?d.value=!0:u.value=!0,t.setExceptionCodeList([])}}),Ye(()=>t.isPrinting,T=>{T||(d.value=!1)}),Ye(()=>{var T,k;return(k=(T=t.deviceStatus)==null?void 0:T.machine_status)==null?void 0:k.sub_status_reason_code},T=>{if(T===oV.NoodleDefect){if(O.value){const k=h();f.value=k||L5}else f.value=L5;Pe.log("[AI] 显示炒面异常提示框"),u.value=!0}});const p=V(()=>{var T,k,j,re;return[{key:"noodleDetection",title:i("aiDetection.noodleDetection"),description:i("aiDetection.noodleDetectionDesc"),value:(((k=(T=t.aiDetectionSettings)==null?void 0:T.spaghetti_detection)==null?void 0:k.status)??0)===1?rc.On:rc.Off},{key:"foreignObjectDetection",title:i("aiDetection.foreignObjectDetection"),description:i("aiDetection.foreignObjectDetectionDesc"),value:(((re=(j=t.aiDetectionSettings)==null?void 0:j.foreign_object_detection)==null?void 0:re.status)??0)===1?rc.On:rc.Off}]}),g=V(()=>{var T,k,j;return(j=(k=(T=t.aiDetectionSettings)==null?void 0:T.spaghetti_detection)==null?void 0:k.frequency)==null?void 0:j.toString()}),m=V(()=>{var T,k,j;return(j=(k=(T=t.aiDetectionSettings)==null?void 0:T.spaghetti_detection)==null?void 0:k.handing)==null?void 0:j.toString()}),y=V(()=>p.value.map(T=>({...T})));async function v(){await t.getAIDetectionSettings(),l.value=!0}function E(){l.value=!1}function b(T){try{Pe.log("[AI] 保存AI设置:",T),(T.spaghetti_detection.status===rc.On||T.foreign_object_detection.status===rc.On)&&t.deviceControlModel.lightValue===bJ.Off&&(t.setLight(!0),Pe.log("[AI] 打开灯光")),t.setAIDetectionSettings(T)}catch(k){Pe.error("[AI] 保存AI设置失败:",k)}}function S(){Pe.log("[AI] 用户确认了炒面缺陷提示",t.exceptionCodeList),u.value=!1}async function w(){if(!a.value)try{a.value=!0,await r.getVideoStreamUrl(),r.refreshKey=Date.now(),o.value+=1}catch{}finally{setTimeout(()=>{a.value=!1},1e3)}}const C=V(()=>t.cameraConnection&&t.isRegisterSuccess),_=V(()=>"false".toLowerCase()==="true"),I=se(null),O=se(!1),L=se(!1),R=se(0),F=V(()=>_.value?O.value:r.isPlaying),W=V(()=>_.value?L.value:r.isLoading);async function J(){var T;if(O.value||L.value){Pe.log("[RTC] 已经在播放或加载中,无需重复开始");return}try{if(L.value=!0,Pe.log("[RTC] 开始启动观看"),await D5.startWatching(void 0,void 0)){await M();const j=D5.getCurrentVideoTrack();if(Pe.log("[RTC] 获取视频轨道:",j?"存在":"不存在",j?{isPlaying:j.isPlaying}:null),j&&I.value){const re=I.value.childNodes.length;Pe.log("[RTC] 清理容器前子节点数量:",re);try{for(;I.value.firstChild;)I.value.removeChild(I.value.firstChild);Pe.log("[RTC] 容器清理完成,清理前子节点数:",re)}catch(te){Pe.warn("[RTC] 清理容器子节点失败:",te)}try{Pe.log("[RTC] 停止视频轨道,停止前 isPlaying:",j.isPlaying),j.stop(),Pe.log("[RTC] 视频轨道已停止")}catch(te){Pe.warn("[RTC] 停止视频轨道失败:",te)}Pe.log("[RTC] 准备播放视频轨道到容器"),await j.play(I.value),Pe.log("[RTC] videoTrack.play() 调用完成,播放后 isPlaying:",j.isPlaying),await Y();const me=(T=I.value)==null?void 0:T.querySelector("video");me&&Pe.log("[RTC] 视频元素状态:",{readyState:me.readyState,videoWidth:me.videoWidth,videoHeight:me.videoHeight,clientWidth:me.clientWidth,clientHeight:me.clientHeight,paused:me.paused,ended:me.ended,currentTime:me.currentTime}),O.value=!0,R.value=0,Pe.log("[RTC] 视频播放已启动")}else Pe.warn("[RTC] 视频轨道或容器不可用",{videoTrack:j?"存在":"不存在",container:I.value?"存在":"不存在"}),O.value=!1}else Pe.warn("[RTC] 启动观看失败"),O.value=!1}catch(k){Pe.error("[RTC] startWatching 失败:",k),O.value=!1,R.value{J()},3e3)):(Pe.error("[RTC] 已达到最大重试次数,停止重试"),R.value=0)}finally{L.value=!1}}async function Y(){return new Promise(T=>{let k=0;const j=100,re=()=>{var te;k++;const me=(te=I.value)==null?void 0:te.querySelector("video");if(me)if(me.style.width="100%",me.style.height="100%",me.style.objectFit="contain",me.style.display="block",me.style.visibility="visible",me.style.opacity="1",me.style.zIndex="1",me.style.position="relative",me.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA)Pe.log("[RTC] 视频元素已有数据"),T();else{let X=null,fe=!1;const le=()=>{fe||(fe=!0,X&&(clearTimeout(X),X=null),me.removeEventListener("loadeddata",le),me.removeEventListener("playing",ve),Pe.log("[RTC] 视频数据已加载,画面显示正常"),T())},ve=()=>{fe||(fe=!0,X&&(clearTimeout(X),X=null),me.removeEventListener("loadeddata",le),me.removeEventListener("playing",ve),Pe.log("[RTC] 视频开始播放"),T())};me.addEventListener("loadeddata",le,{once:!0}),me.addEventListener("playing",ve,{once:!0}),X=setTimeout(()=>{fe||(fe=!0,me.removeEventListener("loadeddata",le),me.removeEventListener("playing",ve),Pe.warn("[RTC] 等待视频数据加载超时,但继续显示"),T())},8e3)}else k>=j?(Pe.warn("[RTC] 等待视频元素超时"),T()):setTimeout(re,100)};re()})}async function M(){return new Promise(T=>{let k=0;const j=50,re=()=>{k++,I.value?T():k>=j?(Pe.warn("[RTC] 等待容器元素超时"),T()):setTimeout(re,100)};re()})}async function B(){var T;try{(T=D5.getCurrentVideoTrack())==null||T.stop(),await D5.stopWatching()}catch(k){Pe.error("[RTC] stopWatching 失败:",k)}finally{O.value=!1}}async function q(){_.value?O.value?await B():await J():await r.openVideoStream()}ln(async()=>{_.value?await J():C.value&&(await w(),r.isPlaying=!0)}),xi(async()=>{c.value&&(clearTimeout(c.value),c.value=null),_.value&&await B()}),Ye(C,async(T,k)=>{c.value&&(clearTimeout(c.value),c.value=null),T&&!k?_.value?await J():(await w(),r.isPlaying=!0):!T&&k&&(_.value?(await B(),Pe.log("[RTC] 不满足播放条件,停止RTC播放")):(r.isPlaying=!1,s.value++,Pe.log("[VIDEO] 不满足播放条件,停止视频播放")))}),Ye(()=>t.isCameraUpgraded,async T=>{var k;T&&((k=t.deviceAttributes)==null?void 0:k.machine_model)==tc.C2&&(_.value?((O.value||L.value)&&(await B(),await new Promise(j=>setTimeout(j,500))),await J()):(r.isPlaying=!0,await w()))});function z(){Pe.error("[VIDEO] Image load error"),r.isPlaying&&(s.value+=1,s.value>=3&&(Pe.log("[VIDEO] 多次加载失败,尝试重新打开视频流"),r.isPlaying=!1,setTimeout(()=>{r.openVideoStream(),s.value=0},2e3)))}function A(){s.value>0&&(s.value=0,Pe.log("[VIDEO] Image loaded successfully, reset retry counter",{isPlaying:r.isPlaying}))}return(T,k)=>{const j=pr,re=Gw;return ne(),Te(Ft,null,[be(ku,null,{title:Re(()=>[yt(Ue(T.$t("camera.title")),1)]),actions:Re(()=>[Ke("",!0)]),default:Re(()=>{var me;return[vn((ne(),Te("div",{class:je("video-container"+(F.value?" is-playing":""))},[P(t).cameraConnection?!P(t).isCameraUpgraded&&((me=P(t).deviceAttributes)==null?void 0:me.machine_model)==P(tc).C2?(ne(),Te("div",HWe,Ue(T.$t("camera.cameraNotUpgraded")),1)):!P(r).cameraConnection||!P(n).isConnected?(ne(),Te("div",zWe,[be(P(FO)),k[4]||(k[4]=yt(" Connection failed ",-1))])):(ne(),Te("div",WWe,[_.value?(ne(),Te("div",{key:1,ref_key:"rtcContainerRef",ref:I,style:{width:"100%",background:"#000",position:"relative"}},null,512)):(ne(),Te("img",{class:"video-img",key:o.value,src:P(r).videoUrl,alt:"",onError:z,onLoad:A},null,40,VWe)),W.value?Ke("",!0):(ne(),Ze(j,{key:2,class:"video-control-btn",onClick:q},{default:Re(()=>[F.value?(ne(),Te("span",GWe,[be(P(KC),{width:"26",height:"26"})])):(ne(),Te("span",JWe,[be(P(QC),{width:"26",height:"26"})]))]),_:1}))])):(ne(),Te("div",jWe,[be(P(FO)),k[3]||(k[3]=yt(" Camera not connected ",-1))]))],2)),[[re,W.value]])]}),_:1}),P(t).isNeedShowAiSetting?(ne(),Ze(Tje,{key:0,modelValue:l.value,"onUpdate:modelValue":k[0]||(k[0]=me=>l.value=me),"detection-items":y.value,"detection-frequency":g.value,"anomaly-handling":m.value,onSave:b,onClose:E},null,8,["modelValue","detection-items","detection-frequency","anomaly-handling"])):Ke("",!0),be(AH,{modelValue:u.value,"onUpdate:modelValue":k[1]||(k[1]=me=>u.value=me),message:P(i)("aiDetection.noodleDefectAlert"),"image-url":f.value,onConfirm:S},null,8,["modelValue","message","image-url"]),be(AH,{modelValue:d.value,"onUpdate:modelValue":k[2]||(k[2]=me=>d.value=me),message:P(i)("aiDetection.foreignObjectDetectionAlert"),"image-url":f.value,onConfirm:S},null,8,["modelValue","message","image-url"])],64)}}}),wH=rr(ZWe,[["__scopeId","data-v-27c11937"]]),YWe={class:"control-container"},XWe={class:"export-container"},QWe=Je({__name:"history-video-table",props:{tableData:{type:Array,default:()=>[]},exportTimeLapseListData:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},showCreateTime:{type:Boolean,default:!0},showSelectAll:{type:Boolean,default:!0}},emits:["export-video"],setup(e,{emit:t}){const n=t,r=e;Ye(()=>r.exportTimeLapseListData,c=>{!c||Object.keys(c).length===0||c.forEach((l,u)=>{})});const i=se([]),o=c=>{i.value=c},s=()=>{const c=[];for(let l=0;l{const l=new Date(c*1e3),u=y=>String(y).padStart(2,"0"),d=l.getFullYear(),f=u(l.getMonth()+1),h=u(l.getDate()),p=u(l.getHours()),g=u(l.getMinutes()),m=u(l.getSeconds());return`${d}-${f}-${h} ${p}:${g}:${m}`};return(c,l)=>{const u=Ww,d=zw,f=pr;return ne(),Te("div",YWe,[be(d,{data:e.tableData,"empty-text":c.$t("table.noData"),onSelectionChange:o,"row-key":"BeginTime",class:"uniform-table"},{default:Re(()=>[be(u,{type:"selection",width:"35"}),e.showSelectAll?(ne(),Ze(u,{key:0,label:c.$t("table.selectAll"),"min-width":"6%"},null,8,["label"])):Ke("",!0),be(u,{label:c.$t("table.fileName"),"min-width":"20%","show-overflow-tooltip":""},{default:Re(({row:h})=>[yt(Ue(P(mp)(h.TaskName)),1)]),_:1},8,["label"]),be(u,{label:c.$t("table.fileSize"),"min-width":"13%"},{default:Re(({row:h})=>[yt(Ue(P(nZ)(h.TimeLapseVideoSize)),1)]),_:1},8,["label"]),e.showCreateTime?(ne(),Ze(u,{key:1,label:c.$t("table.creationTime"),"min-width":"18%"},{default:Re(({row:h})=>[yt(Ue(a(h.BeginTime)),1)]),_:1},8,["label"])):Ke("",!0),be(u,{label:c.$t("table.videoDuration"),"min-width":"10%"},{default:Re(({row:h})=>[yt(Ue(h.TimeLapseVideoDuration)+"s",1)]),_:1},8,["label"])]),_:1},8,["data","empty-text"]),G("div",XWe,[be(f,{type:"info",disabled:e.disabled||i.value.length===0,onClick:s,class:"export-btn"},{default:Re(()=>[yt(Ue(c.$t("buttons.export")),1)]),_:1},8,["disabled"])])])}}}),KWe=rr(QWe,[["__scopeId","data-v-02fe7137"]]);function qWe(){const{t:e}=Eo(),t=El(),n=di(),r=se(),i=V(()=>!n.isIdle),o=V(()=>{{const d=n.websocketHistorytaskDetails;if(!d)return;const f=[];for(let h=0;hn.videoGeneratedSuccessUrls),a=V(()=>{var d;return(d=t.exportTimeLapseListData)==null?void 0:d.Data}),c=se([]),l=se("");return Ye(()=>n.subStatus,async d=>{if(d==De.TimeLapseVideoGeneratingComplete){await n.getPrintHistoryList();const f=s.value.shift();f&&(Pe.log("延时摄影合成成功,正在下载文件... ",f),await qm(f,df.Local),Pe.log("------------请求下载成功(直链方式)--------"),l.value=c.value.shift()??"",Pe.log("延时摄影合成成功,正在合成下一个视频... ",l.value),l.value&&await n.exportTimeLapse(l.value))}else d==De.TimeLapseVideoGeneratingFailed&&(Pe.log("延时摄影合成失败:",l.value),Zt.error(e("toastMessages.TimeLapseVideoGenerateFailed")+l.value),s.value.shift(),l.value=c.value.shift()??"",l.value&&(Pe.log("延时摄影合成失败,正在合成下一个视频... ",l.value),await n.exportTimeLapse(l.value)),await n.getPrintHistoryList())}),{onExportTimeLapse:async d=>{if(Pe.log("需要合成的延时视频: ",d),d.length>0)c.value=d,l.value=c.value.shift()??"",l.value&&await n.exportTimeLapse(l.value);else return!1},tableData:o,exportTimeLapseListData:a,btnDisabled:i}}const $We={class:"tableData-container"},eVe=Je({__name:"video-history",setup(e){const{isMobile:t}=gs(),{tableData:n,exportTimeLapseListData:r,onExportTimeLapse:i,btnDisabled:o}=qWe();return(s,a)=>(ne(),Ze(ku,null,{title:Re(()=>[yt(Ue(s.$t("table.videoList")),1)]),default:Re(()=>[G("div",$We,[be(KWe,{tableData:P(n),disabled:P(o),exportTimeLapseListData:P(r),showCreateTime:!P(t),showSelectAll:!P(t),onExportVideo:P(i)},null,8,["tableData","disabled","exportTimeLapseListData","showCreateTime","showSelectAll","onExportVideo"])])]),_:1}))}}),TH=rr(eVe,[["__scopeId","data-v-50c90669"]]);function tVe(){const e=di(),t=se(!1),n=se([]),r=`historyEditFilamentColorMono:${qi.sn}`;ln(()=>{try{const d=localStorage.getItem(r);if(d){const f=JSON.parse(d);Array.isArray(f)&&(n.value=f.slice(0,6))}}catch(d){Pe.error("加载单色历史耗材颜色缓存失败",d)}});const i=async()=>{await e.loadFilament()},o=async()=>{await e.unloadFilament()},s=()=>{Pe.log("编辑按钮被点击"),t.value=!0},a=V(()=>!(e.isIdle||e.isMainHoming||e.autoLeveling||e.isMainPid||e.isMainResonanceTesting||e.isMainSelfTest||e.isMainHoming||e.isMainExtrudering)),c=V(()=>!(e.isIdle||e.isPrintStopped)),l=V(()=>!(e.isIdle||e.isPrintStopped));return{showEditDialog:t,historyEditFilamentColor:n,editBtnDisabled:a,feedBtnDisabled:c,unfeedBtnDisabled:l,onFeedClick:i,onUnfeedClick:o,onEditClick:s,onUpdateFilament:async d=>{const f=d.filament_color,h=n.value.indexOf(f);h!==-1&&n.value.splice(h,1),n.value.unshift(f),n.value.length>6&&h===-1&&n.value.pop();try{localStorage.setItem(r,JSON.stringify(n.value))}catch(g){Pe.log("保存单色历史耗材颜色缓存失败",g)}await e.setMonoFilamentInfo(d)?Pe.log("更新耗材成功"):Pe.log("更新耗材失败")}}}var Iee=(e=>(e.Idle="-1",e.Feeding="0",e.Unloading="1",e))(Iee||{});const ec="#2f302f";function nVe(){El();const e=di(),t=se(!1),n=se(!0),r=se("-1"),i=se("#FF912F"),o=se(ic.Lite),s=se(0),a=V(()=>r.value!="-1"),c=se(jg.Idle),l=se(!1),u=se("-1"),d=se(!1),f=se("-1"),h=se(0),p=se([]),g=`historyEditFilamentColor:${qi.sn}`,m=se(),y=se(),v=se("-1"),E=async()=>{await e.getCanvasInfoCanvas()},b=V(()=>e.canvas);function S(ve){return ve.filament_color==""&&ve.status==Oo.Empty?wi.NoFilament:ve.filament_color==""?wi.NoRecognition:ve.filament_name}const w=V(()=>{var pe,K,ce,ye;const ve=[{id:"0",filament_name:"-",filament_color:ec,filament_type:"",brand:"-",top:"26%",left:"29.5%",enable:!0,status:Oo.Empty},{id:"1",filament_name:"-",filament_color:ec,filament_type:"",brand:"-",top:"50%",left:"29.5%",enable:!1,status:Oo.Empty},{id:"2",filament_name:"-",filament_color:ec,filament_type:"",brand:"-",top:"50%",left:"60%",enable:!0,status:Oo.Empty},{id:"3",filament_name:"-",filament_color:ec,filament_type:"",brand:"-",top:"26%",left:"60%",enable:!0,status:Oo.Empty}],Z=(ye=(ce=(K=(pe=b.value)==null?void 0:pe.canvas_info)==null?void 0:K.canvas_list)==null?void 0:ce[0])==null?void 0:ye.tray_list;if(!Array.isArray(Z)||Z.length===0)return ve;const ae=[];for(let ee=0;ee(m.value=w.value.find(Z=>Z.id===String(ve)),m.value),_=ve=>w.value.find(Z=>Z.id===String(ve));Ye(()=>e.LoadedSlotId,ve=>{v.value=String(e.LoadedSlotId),y.value=_(String(ve))},{immediate:!0}),Ye(()=>e.status,ve=>{(ve===Ge.Loading||ve===Ge.UnLoading)&&e.currentActiveTrayId!==-1&&(u.value=String(e.currentActiveTrayId),f.value="0",d.value=!0,m.value=C(u.value))},{immediate:!0}),Ye(()=>e.isLoadCompleteCanvas,ve=>{e.canvasConnected&&e.isMainLoading&&(u.value="-1",f.value="-1",d.value=!1)},{immediate:!0}),Ye(()=>e.isUnloadCompleteCanvas,ve=>{e.canvasConnected&&e.isMainUnLoading&&(u.value="-1",f.value="-1",d.value=!1)},{immediate:!0}),Ye(()=>e.currentActiveTrayId,ve=>{(e.isMainLoading||e.isMainUnLoading)&&(u.value=String(ve),f.value="0",d.value=!0,m.value=C(u.value))},{immediate:!0}),ln(()=>{try{const ve=localStorage.getItem(g);if(ve){const Z=JSON.parse(ve);Array.isArray(Z)&&(p.value=Z.slice(0,6))}}catch(ve){Pe.error("Failed to load cached filament colors",ve)}}),ln(()=>{Ye(()=>e.isRegisterSuccess,ve=>{ve&&E()},{immediate:!0})});const I=se(0),O=4,L=se([{id:b0.CheckDuringInsertion,label:"multiColor.insertDetection",value:!0,description:"multiColor.insertDetectionDesc",note:"multiColor.insertDetectionNote",activeColor:"#409EFF",loading:!1},{id:b0.CheckDuringPowerOn,label:"multiColor.bootDetection",value:!1,description:"multiColor.bootDetectionDesc",inactiveColor:"#DCDFE6",loading:!1},{id:b0.AutoFeed,label:"multiColor.autoMaterialContinuation",value:!0,description:"multiColor.autoMaterialContinuationDesc",activeColor:"#409EFF",loading:!1}]),R=V(()=>L.value.filter(ve=>ve.id===b0.AutoFeed)),F=async(ve,Z)=>{if(R.value[Z].id===b0.AutoFeed){L.value[2].loading=!0;try{await e.setAutoFillFilamentCanvas(ve)&&(L.value[2].value=ve,Pe.log("设置自动续料开关",ve))}catch(ae){Pe.error("Failed to set auto-refill",ae)}finally{L.value[2].loading=!1}}Pe.log("点击开关1",R.value[Z].label,R.value[Z].value)};Ye(()=>r.value,ve=>{var Z;i.value=((Z=_(ve))==null?void 0:Z.filament_color)??"",Pe.log("当前选中槽位的颜色变化",ve,i.value)},{immediate:!0});const W=ve=>{var Z;return((Z=w.value.find(ae=>ae.id===String(ve)))==null?void 0:Z.filament_name)===wi.NoRecognition},J=ve=>{var Z;return((Z=w.value.find(ae=>ae.id===String(ve)))==null?void 0:Z.status)===Oo.Empty},Y=async ve=>{{const Z=ve;Z.canvas_id=h.value,Z.tray_id=Number(r.value);const ae=Z.filament_color,pe=p.value.indexOf(ae);pe!==-1&&p.value.splice(pe,1),p.value.unshift(ae),p.value.length>6&&pe===-1&&p.value.pop();try{localStorage.setItem(g,JSON.stringify(p.value))}catch(ce){Pe.log("保存历史耗材颜色缓存失败",ce)}await e.setFilamentInfoCanvas(Z)&&(i.value=Z.filament_color)}},M=()=>{t.value=!0,Pe.log("编辑图标被点击了,槽位:",r.value)},B=(ve,Z)=>{r.value=String(Number(ve)),i.value=Z,Pe.log("盘位被点击",r.value,i.value)},q=(ve,Z)=>{r.value=String(Number(ve)),i.value=Z,t.value=!0,Pe.log("盘位被双击,显示编辑框",r.value,i.value)},z=se(!1),A=()=>{z.value=!0},T=ve=>{s.value=ve,I.value=ve,Pe.log(`托盘导航被点击, ${ve}`)};Ye(()=>e.canvasAutoRefill,ve=>{Pe.log("自动续料的开关变化",ve),L.value[2].value=ve??!1},{immediate:!0});const k=async()=>{Pe.log(`[ CANVASid:${h.value} ][ 槽位id:${u.value} ]进料按钮被点击`),f.value="0",await e.loadFilamentCanvas(h.value,Number(r.value))&&E(),u.value="-1",f.value="-1",d.value=!1},j=async()=>{Pe.log(`[ CANVASid:${h.value} ][ 槽位id:${u.value} ]退料按钮被点击`),f.value="1",await e.unloadFilamentCanvas(h.value,Number(r.value))&&E(),u.value="-1",f.value="-1",d.value=!1},re=ve=>ve===ic.Lite?L.value.filter(Z=>Z.id===b0.AutoFeed):L.value,me=ve=>{Pe.log("耗材名称更新")},te=ds,X=V(()=>!(e.isIdle||e.isMainHoming||e.isPaused||e.isFilamentInterruption)||d.value||!a.value||v.value===r.value||W(Number(r.value))||J(Number(r.value))),fe=V(()=>!(e.isIdle||e.isMainHoming||e.isPaused||e.isFilamentInterruption)||d.value||!a.value||v.value!==r.value||W(Number(r.value))||J(Number(r.value))),le=V(()=>!(e.isIdle||e.isMainHoming)||d.value||!a.value);return{filterSettingSwitchs:R,filamentFrom:te,showEditDialog:t,showSettingDialog:z,enbleEditFilament:n,curSelectSlotColor:i,amsListCurrentPage:I,amsListSlotsPerPage:O,curSelectSlotId:r,curVersion:o,curTrayNavIndex:s,isSelectSlot:a,isFeedWithdrawSloting:d,curAmsStatus:c,curAutoFeedSwitch:l,curFeedWithdrawSlotId:u,canvas:b,liteTrays:w,feedBtnDisabled:X,unfeedBtnDisabled:fe,editBtnDisabled:le,historyEditFilamentColor:p,curFeedWithdrawStatus:f,curActiveTrayInfo:m,curLoadedTrayInfo:y,onEditClick:M,onSwitchChange:F,onSettingClick:A,onSlotClick:B,onSlotDoubleClick:q,onTrayNavClick:T,onFeedClick:k,onUnfeedClick:j,getSettingSwitchs:re,onUpdateMaterial:me,onUpdateFilament:Y}}const rVe={class:"dialog-header"},iVe={class:"dialog-content bg-color"},oVe={class:"setting-item"},sVe={class:"setting-title"},aVe={class:"setting-item"},cVe={class:"setting-title"},lVe={class:"setting-item"},uVe={class:"setting-title"},dVe={class:"setting-item"},fVe={class:"setting-title"},hVe={class:"custom-color-picker"},pVe={class:"color-category"},mVe={class:"category-title"},gVe={class:"color-grid"},vVe=["onClick"],yVe={class:"color-category"},EVe={class:"category-title"},bVe={class:"color-grid more-colors"},SVe=["onClick"],AVe={class:"setting-item"},CVe={class:"setting-title"},wVe={class:"temperature-range"},TVe={style:{"margin-right":"10px"}},IVe={style:{"margin-left":"10px"}},PVe={class:"bottom-container"},OVe=Je({__name:"update-filament-mono",props:{title:{type:String,default:""},modelValue:{type:Boolean,default:!1},curBrand:{type:String,default:"?"},curFilamentType:{type:String,default:"?"},curFilamentName:{type:String,default:"?"},curColor:{type:String,default:"#409eff"},historyEditFilamentColor:{type:Array,default:()=>[]}},emits:["update:modelValue","update-filament"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=t,i=e,o=se(["ELEGOO","Generic"]),s=V(()=>String(h.value??"").trim().toUpperCase()),a=V(()=>s.value==="ELEGOO"?DZ():s.value==="GENERIC"?LZ():l4()),c=V(()=>NZ()),l=se(!1),u=se(!1),d=se(!1),f=se(i.curFilamentName),h=se(i.curBrand),p=se(i.curFilamentType),g=se(!1),m=se(""),y=se(!1),v=(W,J)=>{const Y=Pi(W),M=String(J??"").trim().toUpperCase();return M?M==="ELEGOO"?!!(Y!=null&&Y.elegoo):M==="GENERIC"?!!(Y!=null&&Y.generic):!0:!0},E=V(()=>{const W=String(p.value??"").trim(),J=s.value;let Y;return W?Y=ob(W)||[]:Y=a.value,J&&(Y=Y.filter(M=>v(M,J))),!W&&!J?l4():Y}),b=["#FFFFFF","#FFF242","#DBF47A","#09CC3A","#077747","#0B6283","#0BE2A0","#74D9F3","#48A7FA","#2850DF","#433089","#A03BF7","#F32FF8","#D4B1DD","#F95D77","#F72221","#7C4C00","#F88D36","#FCEBD7","#D2C5A3","#AF7832","#898989","#BCBCBC","#000000"],S=W=>{m.value=W,g.value=!1,y.value=!1},w=()=>{var W,J,Y,M;return{canvas_id:0,tray_id:0,brand:h.value,filament_type:(W=Pi(f.value))==null?void 0:W.type,filament_name:f.value,filament_code:(J=Pi(f.value))==null?void 0:J.code,filament_color:m.value||i.curColor,filament_min_temp:(Y=Pi(f.value))==null?void 0:Y.temperature.min,filament_max_temp:(M=Pi(f.value))==null?void 0:M.temperature.max}};function C(){l.value=!1;const W=Pi(f.value);if(!s.value){const Y=o.value.find(M=>v(f.value,M));Y&&(h.value=Y)}if(!String(p.value??"").trim()){const Y=W==null?void 0:W.type;Y&&(p.value=Y)}}function _(){d.value=!1;const W=E.value;W.length>0?f.value=W[0]:f.value=""}function I(){u.value=!1;const W=E.value;W.includes(f.value)||(f.value=W[0]||"")}const O=V({get:()=>i.modelValue,set:W=>r("update:modelValue",W)});Ye(O,W=>{W&&(f.value=i.curFilamentName,h.value=i.curBrand,p.value=i.curFilamentType,m.value="",l.value=!1,u.value=!1,y.value=!1)});const L=()=>{p.value="",f.value="",h.value="",m.value=ec,l.value=!1,u.value=!1,y.value=!1},R=()=>{if(!o.value.includes(h.value)){u.value=!0;return}if(f.value===wi.NoRecognition||f.value===wi.NoFilament){l.value=!0;return}const W=m.value||i.curColor||"";if(!b.some(Y=>String(Y).toUpperCase()===String(W).toUpperCase())){y.value=!0;return}l.value=!1,u.value=!1,y.value=!1,r("update-filament",w()),m.value="",O.value=!1},F=()=>{O.value=!1};return(W,J)=>{const Y=pr,M=Ug,B=Fg,q=Dp,z=Zd;return ne(),Ze(z,{modelValue:O.value,"onUpdate:modelValue":J[4]||(J[4]=A=>O.value=A),width:P(n)?" 90%":"500px","show-close":!1,"close-on-click-modal":!1,style:{padding:0},class:"bg-color"},{header:Re(()=>[G("div",rVe,[G("span",null,Ue(e.title),1),be(Y,{class:"close-btn",type:"info",size:"small",onClick:F},{default:Re(()=>[be(P(Wd))]),_:1})])]),default:Re(()=>{var A,T;return[G("div",iVe,[G("div",oVe,[G("span",sVe,Ue(W.$t("multiColor.manufacturer")),1),be(B,{modelValue:h.value,"onUpdate:modelValue":J[0]||(J[0]=k=>h.value=k),class:je(["select-filament",{"error-select":u.value}]),placeholder:W.$t("multiColor.pleaseSelect"),onChange:I},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(o.value,k=>(ne(),Ze(M,{key:k,label:k,value:k},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])]),G("div",aVe,[G("span",cVe,Ue(W.$t("multiColor.filamentType")),1),be(B,{modelValue:p.value,"onUpdate:modelValue":J[1]||(J[1]=k=>p.value=k),class:je(["select-filament",{"error-select":d.value}]),placeholder:W.$t("multiColor.pleaseSelect"),onChange:_},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(c.value,k=>(ne(),Ze(M,{key:k,label:k,value:k},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])]),G("div",lVe,[G("span",uVe,Ue(W.$t("multiColor.filamentSilk")),1),be(B,{modelValue:f.value,"onUpdate:modelValue":J[2]||(J[2]=k=>f.value=k),class:je(["select-filament",{"error-select":l.value}]),placeholder:W.$t("multiColor.pleaseSelect"),onChange:C},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(E.value,k=>(ne(),Ze(M,{key:k,label:k,value:k},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])]),G("div",dVe,[G("span",fVe,Ue(W.$t("multiColor.color")),1),be(q,{"popper-style":P(n)?{left:"50%",transform:"translateX(-50%)",marginTop:"8px",padding:0}:{marginLeft:"8px",padding:0},placement:P(n)?"bottom":"right","show-arrow":!1,width:"330",trigger:"click",visible:g.value,"onUpdate:visible":J[3]||(J[3]=k=>g.value=k)},{reference:Re(()=>[be(Y,{class:je(["color-button",{"error-color":y.value}]),style:Ut({backgroundColor:m.value||e.curColor})},null,8,["class","style"])]),default:Re(()=>[G("div",hVe,[G("div",pVe,[G("div",mVe,[yt(Ue(W.$t("multiColor.historyColor"))+" ",1),be(P(J3))]),G("div",gVe,[(ne(!0),Te(Ft,null,Rr(e.historyEditFilamentColor,(k,j)=>(ne(),Te("div",{key:"box-"+j,class:"color-dot",style:Ut({backgroundColor:k}),onClick:re=>S(k)},null,12,vVe))),128))])]),G("div",yVe,[G("div",EVe,[yt(Ue(W.$t("multiColor.moreColor"))+" ",1),be(P(J3))]),G("div",bVe,[(ne(),Te(Ft,null,Rr(b,(k,j)=>G("div",{key:"more-"+j,class:"color-dot",style:Ut({backgroundColor:k}),onClick:re=>S(k)},null,12,SVe)),64))])])])]),_:1},8,["popper-style","placement","visible"])]),G("div",AVe,[G("span",CVe,Ue(W.$t("multiColor.nozzleTmperature")),1),G("div",wVe,[G("span",TVe,Ue((A=P(Pi)(f.value))==null?void 0:A.temperature.min)+"°C",1),be(P(rV)),G("span",IVe,Ue((T=P(Pi)(f.value))==null?void 0:T.temperature.max)+"°C",1)])]),G("div",PVe,[be(Y,{class:"cancel-btn",type:"info",onClick:F},{default:Re(()=>[yt(Ue(W.$t("buttons.cancel")),1)]),_:1}),be(Y,{class:"reset-btn",type:"primary",onClick:L},{default:Re(()=>[yt(Ue(W.$t("buttons.reset")),1)]),_:1}),be(Y,{class:"confirm-btn",type:"primary",onClick:R},{default:Re(()=>[yt(Ue(W.$t("buttons.confirm")),1)]),_:1})])])]}),_:1},8,["modelValue","width"])}}}),_Ve=rr(OVe,[["__scopeId","data-v-0ed6e997"]]),RVe={key:0,class:"loading-container"},kVe={key:1,class:"single-color"},xVe={class:"preview"},DVe={class:"tray-label"},LVe={key:1,class:"tray-label"},NVe={class:"actions"},MVe=Je({__name:"single-color",setup(e){const{onFeedClick:t,onUnfeedClick:n,onEditClick:r,onUpdateFilament:i,showEditDialog:o,historyEditFilamentColor:s,editBtnDisabled:a,feedBtnDisabled:c,unfeedBtnDisabled:l}=tVe(),u=di(),d=V(()=>{var m;return((m=u.monoFilamentInfo)==null?void 0:m.brand)??""}),f=V(()=>{var m;return((m=u.monoFilamentInfo)==null?void 0:m.filament_type)??""}),h=V(()=>{var m;return((m=u.monoFilamentInfo)==null?void 0:m.filament_name)??""}),p=V(()=>{var m;return((m=u.monoFilamentInfo)==null?void 0:m.filament_color)??""}),g=V(()=>u.canvas===void 0);return(m,y)=>{const v=Pn,E=Dp,b=pr;return ne(),Ze(ku,null,{title:Re(()=>[yt(Ue(m.$t("filament")),1)]),default:Re(()=>[g.value?(ne(),Te("div",RVe,[be(v,{class:"loading-icon is-loading"},{default:Re(()=>[be(P(dl))]),_:1})])):(ne(),Te("div",kVe,[G("div",xVe,[be(P(Hue),{class:"single-filament-rack",style:Ut({"--curFilamentColor":p.value,"--tray-length":"110px"}),onDblclick:Nr(P(r),["stop"])},null,8,["style","onDblclick"]),be(P(Fue),{class:"tray-guideline"}),h.value?(ne(),Ze(E,{key:0,placement:"top",effect:"dark",trigger:"hover","show-arrow":!1,offset:2,"popper-style":{padding:"8px",background:p.value||"#333334",color:P(Gc)(p.value||"#333334"),textAlign:"center",width:"auto",minWidth:"100px",maxHeight:"34px",border:"1px solid black"}},{reference:Re(()=>[G("span",DVe,Ue(f.value),1)]),default:Re(()=>[yt(" "+Ue(h.value),1)]),_:1},8,["popper-style"])):(ne(),Te("span",LVe,Ue(f.value),1))]),G("div",NVe,[be(b,{type:"primary",class:"action-btn",disabled:P(c),onClick:P(t)},{default:Re(()=>[yt(Ue(m.$t("buttons.feed")),1)]),_:1},8,["disabled","onClick"]),be(b,{type:"primary",class:"action-btn",disabled:P(l),onClick:P(n)},{default:Re(()=>[yt(Ue(m.$t("buttons.unfeed")),1)]),_:1},8,["disabled","onClick"]),be(b,{class:"edit-btn",disabled:P(a),onClick:P(r)},{default:Re(()=>[yt(Ue(m.$t("buttons.edit")),1)]),_:1},8,["disabled","onClick"])])])),be(_Ve,{modelValue:P(o),"onUpdate:modelValue":y[0]||(y[0]=S=>En(o)?o.value=S:null),curBrand:d.value,curFilamentType:f.value,curFilamentName:h.value,curColor:p.value,historyEditFilamentColor:P(s),onUpdateFilament:P(i)},null,8,["modelValue","curBrand","curFilamentType","curFilamentName","curColor","historyEditFilamentColor","onUpdateFilament"])]),_:1})}}}),IH=rr(MVe,[["__scopeId","data-v-6700aeb5"]]),BVe={class:"dialog-header"},FVe={class:"dialog-content bg-color"},UVe={class:"setting-item"},jVe={class:"setting-title"},HVe={key:1,class:"font-size12"},zVe={class:"setting-item"},WVe={class:"setting-title"},VVe={class:"setting-item"},GVe={class:"setting-title"},JVe={key:1,class:"font-size12"},ZVe={class:"setting-item"},YVe={class:"setting-title"},XVe={class:"custom-color-picker"},QVe={class:"color-category"},KVe={class:"category-title"},qVe={class:"color-grid"},$Ve=["onClick"],eGe={class:"color-category"},tGe={class:"category-title"},nGe={class:"color-grid more-colors"},rGe=["onClick"],iGe={class:"setting-item"},oGe={class:"setting-title"},sGe={class:"temperature-range"},aGe={style:{"margin-right":"10px"}},cGe={style:{"margin-left":"10px"}},lGe={class:"bottom-container"},uGe=Je({__name:"update-filament",props:Dm({title:{type:String,default:""},temperatureMin:{type:Number,default:190},temperatureMax:{type:Number,default:220},modelValue:{type:Boolean,default:!1},enbleEditFilament:{type:Boolean,default:!1},curSelectSlotColor:{type:String,default:"#409eff"},curSelectSlotId:{type:String,default:""},liteTrays:{type:Array,default:()=>[]},historyEditFilamentColor:{type:Array,default:()=>[]}},{curFilamentName:{type:String,default:""},curFilamentNameModifiers:{},curFilamentType:{type:String,default:""},curFilamentTypeModifiers:{},curBrand:{type:String,default:""},curBrandModifiers:{}}),emits:Dm(["update:modelValue","update:filamentName","update-color","update:manufacturer","update-filament"],["update:curFilamentName","update:curFilamentType","update:curBrand"]),setup(e,{emit:t}){const{isMobile:n}=gs(),r=t,i=se(["ELEGOO","Generic"]),o=e,s=V(()=>String(C.value??"").trim().toUpperCase()),a=V(()=>l4()),c=A=>{const T=String(A??"").trim();return T?a.value.find(j=>j.toUpperCase().trim()===T.toUpperCase())??"":""},l=A=>{const T=Pi(A);if(A&&(T!=null&&T.type)){w.value=T.type;return}A||(w.value="")},u=A=>{const T=c(A);S.value!==T&&(S.value=T),l(T)},d=V(()=>s.value==="ELEGOO"?DZ():s.value==="GENERIC"?LZ():l4()),f=V(()=>{const A=s.value,T=NZ();return A?T.filter(k=>(ob(k)||[]).some(re=>h(re,A))):T}),h=(A,T)=>{const k=Pi(A),j=String(T??"").trim().toUpperCase();return j?j==="ELEGOO"?!!(k!=null&&k.elegoo):j==="GENERIC"?!!(k!=null&&k.generic):!0:!0},p=V(()=>{const A=String(w.value??"").trim(),T=s.value;let k;return A?k=ob(A)||[]:k=d.value,T&&(k=k.filter(j=>h(j,T))),!A&&!T?a.value:k}),g=se(!1),m=se(!1),y=se(!1),v=V(()=>{var A;return(A=o.liteTrays.find(T=>T.id==o.curSelectSlotId))==null?void 0:A.filament_name}),E=V(()=>{var A;return(A=o.liteTrays.find(T=>T.id==o.curSelectSlotId))==null?void 0:A.brand}),b=V(()=>{var A;return(A=o.liteTrays.find(T=>T.id==o.curSelectSlotId))==null?void 0:A.filament_type}),S=Nh(e,"curFilamentName"),w=Nh(e,"curFilamentType"),C=Nh(e,"curBrand");ln(()=>{Ye(v,A=>{A&&u(A)},{immediate:!0}),Ye(E,A=>{if(A&&C.value!==A){const T=i.value.find(k=>k.toUpperCase().trim()===A.toUpperCase().trim());T?C.value=T:C.value=A}},{immediate:!0}),Ye(b,A=>{if(!A)return;if(!w.value){w.value=A;return}if(String(w.value).trim().toUpperCase()!==String(A).trim().toUpperCase()){const k=f.value;(k.length===0||!k.includes(w.value))&&(w.value=A)}},{immediate:!0}),Ye(()=>o.curSelectSlotColor,A=>{A&&!I.value&&(I.value="")},{immediate:!0}),Ye(s,A=>{if(!w.value)return;const T=f.value;A&&T.length>0&&!T.includes(w.value)&&(w.value="")},{immediate:!0})});const _=se(!1),I=se(""),O=se(!1),L=["#FFFFFF","#FFF242","#DBF47A","#09CC3A","#077747","#0B6283","#0BE2A0","#74D9F3","#48A7FA","#2850DF","#433089","#A03BF7","#F32FF8","#D4B1DD","#F95D77","#F72221","#7C4C00","#F88D36","#FCEBD7","#D2C5A3","#AF7832","#898989","#BCBCBC","#000000"],R=A=>{I.value=A,_.value=!1,O.value=!1},F=()=>{var A,T,k,j;return{canvas_id:0,tray_id:0,brand:C.value,filament_type:(A=Pi(S.value))==null?void 0:A.type,filament_name:S.value,filament_code:(T=Pi(S.value))==null?void 0:T.code,filament_color:I.value?I.value:o.curSelectSlotColor,filament_min_temp:(k=Pi(S.value))==null?void 0:k.temperature.min,filament_max_temp:(j=Pi(S.value))==null?void 0:j.temperature.max}};function W(){if(g.value=!1,!s.value){const A=i.value.find(T=>h(S.value,T));A&&(C.value=A)}u(S.value)}function J(){m.value=!1;const A=p.value;A.length>0?u(A[0]):u("")}function Y(){y.value=!1;const A=p.value,T=String(S.value??""),k=c(T);if(!k){T?u(""):A.length>0&&u(A[0]);return}if(!A.includes(k)){const j=A[0]||"";u(j)}w.value&&!f.value.includes(w.value)&&(w.value="")}const M=V({get:()=>o.modelValue,set:A=>r("update:modelValue",A)});Ye(M,A=>{if(!A)return;const T=o.liteTrays.find(me=>me.id===o.curSelectSlotId),k=(T==null?void 0:T.filament_name)??"",j=(T==null?void 0:T.brand)??"",re=(T==null?void 0:T.filament_type)??"";if(k?u(k):S.value="",re?w.value=re:k||(w.value=""),j){const me=i.value.find(te=>te.toUpperCase().trim()===j.toUpperCase().trim());C.value=me??j}else C.value="";if(!k&&C.value&&w.value&&!S.value){const me=p.value;me.length>0&&u(me[0])}I.value="",g.value=!1,y.value=!1,m.value=!1,O.value=!1},{immediate:!0});const B=()=>{if(!(!i.value.find(A=>A===C.value)&&(y.value=!0,y.value))&&!((S.value===wi.NoRecognition||S.value===wi.NoFilament)&&(g.value=!0,g.value))){if(o.enbleEditFilament){const A=(I.value?I.value:o.curSelectSlotColor)||"",T=String(A).toUpperCase()===String(ec).toUpperCase();if(O.value=T,O.value)return}g.value=!1,y.value=!1,r("update-filament",F()),I.value="",M.value=!1}},q=()=>{Pe.log("重置按钮被点击了"),I.value=ec,w.value="",S.value="",C.value="",g.value=!1,y.value=!1,O.value=!1},z=()=>{M.value=!1,I.value="",u(v.value??""),C.value=E.value,g.value=!1,y.value=!1,O.value=!1};return(A,T)=>{const k=pr,j=Ug,re=Fg,me=Dp,te=Zd;return ne(),Ze(te,{modelValue:M.value,"onUpdate:modelValue":T[4]||(T[4]=X=>M.value=X),width:P(n)?" 90%":"500px","show-close":!1,"close-on-click-modal":!1,style:{padding:0},class:"bg-color"},{header:Re(()=>[G("div",BVe,[G("span",null,Ue(e.title),1),be(k,{class:"close-btn",type:"info",size:"small",onClick:z},{default:Re(()=>[be(P(Wd))]),_:1})])]),default:Re(()=>{var X,fe;return[G("div",FVe,[G("div",UVe,[G("span",jVe,Ue(A.$t("multiColor.manufacturer")),1),e.enbleEditFilament?(ne(),Ze(re,{key:0,modelValue:C.value,"onUpdate:modelValue":T[0]||(T[0]=le=>C.value=le),class:je(["select-filament",{"error-select":y.value}]),placeholder:A.$t("multiColor.pleaseSelect"),onChange:Y},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(i.value,le=>(ne(),Ze(j,{key:le,label:le,value:le},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])):(ne(),Te("span",HVe,Ue(C.value),1))]),G("div",zVe,[G("span",WVe,Ue(A.$t("multiColor.filamentType")),1),be(re,{modelValue:w.value,"onUpdate:modelValue":T[1]||(T[1]=le=>w.value=le),class:je(["select-filament",{"error-select":m.value}]),placeholder:A.$t("multiColor.pleaseSelect"),onChange:J},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(f.value,le=>(ne(),Ze(j,{key:le,label:le,value:le},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])]),G("div",VVe,[G("span",GVe,Ue(A.$t("multiColor.filamentSilk")),1),e.enbleEditFilament?(ne(),Ze(re,{key:0,modelValue:S.value,"onUpdate:modelValue":T[2]||(T[2]=le=>S.value=le),class:je(["select-filament",{"error-select":g.value}]),placeholder:A.$t("multiColor.pleaseSelect"),onChange:W},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(p.value,le=>(ne(),Ze(j,{key:le,label:le,value:le},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","class"])):(ne(),Te("span",JVe,Ue(S.value),1))]),G("div",ZVe,[G("span",YVe,Ue(A.$t("multiColor.color")),1),be(me,{"popper-style":P(n)?{left:"50%",transform:"translateX(-50%)",marginTop:"8px",padding:0}:{marginLeft:"8px",padding:0},placement:P(n)?"bottom":"right","show-arrow":!1,width:"330",trigger:"click",visible:_.value,"onUpdate:visible":T[3]||(T[3]=le=>_.value=le)},{reference:Re(()=>[be(k,{class:je(["color-button",{"error-color":O.value}]),disabled:!e.enbleEditFilament,style:Ut({backgroundColor:I.value||e.curSelectSlotColor})},null,8,["class","disabled","style"])]),default:Re(()=>[G("div",XVe,[G("div",QVe,[G("div",KVe,[yt(Ue(A.$t("multiColor.historyColor"))+" ",1),be(P(J3))]),G("div",qVe,[(ne(!0),Te(Ft,null,Rr(e.historyEditFilamentColor,(le,ve)=>(ne(),Te("div",{key:"box-"+ve,class:"color-dot",style:Ut({backgroundColor:le}),onClick:Z=>R(le)},null,12,$Ve))),128))])]),G("div",eGe,[G("div",tGe,[yt(Ue(A.$t("multiColor.moreColor"))+" ",1),be(P(J3))]),G("div",nGe,[(ne(),Te(Ft,null,Rr(L,(le,ve)=>G("div",{key:"more-"+ve,class:"color-dot",style:Ut({backgroundColor:le}),onClick:Z=>R(le)},null,12,rGe)),64))])])])]),_:1},8,["popper-style","placement","visible"])]),G("div",iGe,[G("span",oGe,Ue(A.$t("multiColor.nozzleTmperature")),1),G("div",sGe,[G("span",aGe,Ue((X=P(Pi)(S.value))==null?void 0:X.temperature.min)+"°C",1),be(P(rV)),G("span",cGe,Ue((fe=P(Pi)(S.value))==null?void 0:fe.temperature.max)+"°C",1)])]),G("div",lGe,[be(k,{class:"cancel-btn",type:"info",onClick:z},{default:Re(()=>[yt(Ue(A.$t("buttons.cancel")),1)]),_:1}),be(k,{class:"reset-btn",type:"primary",onClick:q},{default:Re(()=>[yt(Ue(A.$t("buttons.reset")),1)]),_:1}),be(k,{class:"confirm-btn",type:"primary",onClick:B},{default:Re(()=>[yt(Ue(A.$t("buttons.confirm")),1)]),_:1})])])]}),_:1},8,["modelValue","width"])}}}),Pee=rr(uGe,[["__scopeId","data-v-72c9a817"]]),dGe={class:"vertical-icon-card"},fGe={key:2,class:"icon-number font-size12"},hGe={key:1,class:"name-text font-size14"},pGe={class:"name-wrapper font-size14"},mGe=Je({__name:"tray-card",props:{amsSlot:{},displayHeaderMode:{default:"icon"},curSelectSlotId:{},curFeedWithdrawSlotId:{},curAmsStatus:{}},emits:["update:modelValue","update-switch","click-slot","update-filament"],setup(e,{emit:t}){const n=se(!1),r=se(!1),i=e,o=se(i.amsSlot.filamentName),s=se(i.amsSlot.brand),a=se(i.amsSlot.filamentColor),c=t;function l(){return{ams_type:ic.Standard,ams_id:u(i.amsSlot.id),tray_id:i.amsSlot.id,target_brand:s.value,target_type:i.amsSlot.filamentType,target_name:o.value,target_color:a.value}}function u(g){return g[0]}const d=()=>{n.value=!0};function f(){c("update-filament",l())}const h=()=>{c("click-slot",i.amsSlot.id)},p=()=>{r.value=!0,Pe.log("刷新图标被点击了!",i.amsSlot.id)};return(g,m)=>{const y=Pn,v=pr;return ne(),Te("div",dGe,[G("div",{class:je(["icon-container",{"refrsh-show":g.displayHeaderMode!=="name"}])},[g.displayHeaderMode==="icon"||g.displayHeaderMode==="both"?(ne(),Te(Ft,{key:0},[g.curFeedWithdrawSlotId!=g.amsSlot.id?(ne(),Ze(y,{key:0,class:je(["refresh-icon",{"is-loading":r.value}]),onClick:p},{default:Re(()=>[be(P(QV))]),_:1},8,["class"])):(ne(),Ze(y,{key:1,class:je(["loading-icon",{"is-loading":g.amsSlot.id===g.curFeedWithdrawSlotId&&g.curAmsStatus!==P(jg).Idle}])},{default:Re(()=>[be(P(Z3))]),_:1},8,["class"])),g.curFeedWithdrawSlotId!=g.amsSlot.id?(ne(),Te("span",fGe,[St(g.$slots,"icon-number",{},()=>[m[5]||(m[5]=yt("5",-1))],!0)])):Ke("",!0)],64)):(ne(),Te("span",hGe,[St(g.$slots,"header-name",{},void 0,!0)]))],2),G("div",{class:je(["hollow-circle-container",{"with-border":g.amsSlot.id===g.curSelectSlotId}])},[G("div",{class:je(["hollow-circle",{"with-question":g.amsSlot.from===P(ds).Null,"with-slash":!g.amsSlot.enabled,"thin-border":!g.amsSlot.enabled||g.amsSlot.from===P(ds).Null}]),style:Ut({borderColor:g.amsSlot.filamentColor}),onClick:m[0]||(m[0]=E=>h())},null,6)],2),G("div",pGe,[St(g.$slots,"name",{},void 0,!0)]),be(v,{class:"bottom-btn",disabled:!g.amsSlot.enabled,onClick:d},{default:Re(()=>[g.amsSlot.enabled?g.amsSlot.from===P(ds).Rfid?(ne(),Ze(P(tle),{key:1})):(ne(),Ze(P(BO),{key:2})):(ne(),Ze(P(BO),{key:0,class:"edit-false-icon"}))]),_:1},8,["disabled"]),be(Pee,{modelValue:n.value,"onUpdate:modelValue":m[1]||(m[1]=E=>n.value=E),enbleEditFilament:g.amsSlot.enabled&&(g.amsSlot.from===P(ds).User||g.amsSlot.from===P(ds).Null),curFilamentName:o.value,"onUpdate:curFilamentName":m[2]||(m[2]=E=>o.value=E),curBrand:s.value,"onUpdate:curBrand":m[3]||(m[3]=E=>s.value=E),curFilamentColor:a.value,"onUpdate:curFilamentColor":m[4]||(m[4]=E=>a.value=E),onUpdateFilament:f},null,8,["modelValue","enbleEditFilament","curFilamentName","curBrand","curFilamentColor"])])}}}),gGe=rr(mGe,[["__scopeId","data-v-c38531c2"]]),vGe={class:"dialog-header font-size16"},yGe={key:0},EGe={key:1},bGe={class:"dialog-content bg-color"},SGe={class:"setting-header"},AGe={class:"setting-title"},CGe={key:0,class:"temperature-humidity-container"},wGe={class:"humidity"},TGe={class:"humidity-value font-size14"},IGe={class:"temperature"},PGe={class:"temperature-value font-size14"},OGe={class:"setting-description"},_Ge={key:0,class:"setting-note"},RGe={key:0,class:"bottom-container"},kGe=Je({__name:"multi-color-setting",props:{curVersion:{type:String,default:ic.Standard},humidity:{type:Number,default:35},temperature:{type:Number,default:35},settingSwitchs:{type:Array,default:()=>[]},modelValue:{type:Boolean,default:!1},showHumidity:{type:Boolean,default:!1},showReturnBtn:{type:Boolean,default:!1}},emits:["update:modelValue","confirm","update-switch"],setup(e,{emit:t}){const{isMobile:n}=gs(),r=e,i=V({get:()=>r.modelValue,set:c=>o("update:modelValue",c)}),o=t,s=()=>{i.value=!1},a=(c,l)=>{var u;(u=r.settingSwitchs[l])!=null&&u.loading||o("update-switch",c,l)};return(c,l)=>{const u=pr,d=Mw,f=Zd;return ne(),Ze(f,{modelValue:i.value,"onUpdate:modelValue":l[0]||(l[0]=h=>i.value=h),width:P(n)?" 90%":"500px","show-close":!1,style:Ut({padding:0,maxHeight:P(n)?"80vh":"70vh",overflow:"auto"}),class:"bg-color"},{header:Re(()=>[G("div",vGe,[e.curVersion===P(ic).Standard?(ne(),Te("span",yGe,Ue(c.$t("multiColor.CanvasPro"))+Ue(c.$t("setting")),1)):(ne(),Te("span",EGe,Ue(c.$t("multiColor.CanvasLite"))+Ue(c.$t("setting")),1)),be(u,{class:"close-btn",type:"info",size:"small",onClick:s},{default:Re(()=>[be(P(Wd))]),_:1})])]),default:Re(()=>[G("div",bGe,[(ne(!0),Te(Ft,null,Rr(e.settingSwitchs,(h,p)=>(ne(),Te("div",{class:"setting-item",key:p},[G("div",SGe,[be(d,{modelValue:h.value,"onUpdate:modelValue":g=>h.value=g,disabled:h.loading,onChange:g=>a(!!g,p)},null,8,["modelValue","onUpdate:modelValue","disabled","onChange"]),G("span",AGe,Ue(c.$t(h.label)),1),p===0&&e.showHumidity?(ne(),Te("div",CGe,[G("div",wGe,[be(P(nV)),G("span",TGe,Ue(e.humidity)+"%RH",1)]),G("div",IGe,[be(P(nue)),G("span",PGe,Ue(e.temperature)+"℃",1)])])):Ke("",!0)]),G("div",OGe,Ue(c.$t(h.description)),1),h.note?(ne(),Te("div",_Ge,Ue(c.$t(h.note)),1)):Ke("",!0)]))),128)),e.showReturnBtn?(ne(),Te("div",RGe,[be(u,{onClick:s},{default:Re(()=>[...l[1]||(l[1]=[yt("返回",-1)])]),_:1})])):Ke("",!0)])]),_:1},8,["modelValue","width","style"])}}}),xGe=rr(kGe,[["__scopeId","data-v-0ca0532d"]]),DGe={key:0,class:"square-mark"},LGe={key:1,class:"square-mark"},NGe=Je({__name:"tray-card-nav",props:{tray:{type:Array,default:()=>[]},selected:{type:Boolean,default:!1}},emits:["click"],setup(e){return(t,n)=>(ne(),Te("div",{class:je(["all-container",{selected:e.selected}]),onClick:n[0]||(n[0]=r=>t.$emit("click"))},[(ne(!0),Te(Ft,null,Rr(e.tray,(r,i)=>(ne(),Te("div",{key:i,class:"square",style:Ut({backgroundColor:r.from===P(ds).Null||!r.enabled?"#333334":r.filamentColor})},[r.from===P(ds).Null&&r.enabled?(ne(),Te("span",DGe,"?")):Ke("",!0),r.enabled?Ke("",!0):(ne(),Te("span",LGe,"/"))],4))),128))],2))}}),MGe=rr(NGe,[["__scopeId","data-v-dd06faea"]]),BGe="data:image/png;base64,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",FGe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAyCAYAAADcD8w1AAAQAElEQVR4AezbWajlVXYG8F2lluVYzmNpnetYpVY5RiQOFBF8EoJBKyAoJvRD++B7hEiZ0BCQhIaYQDBN4kMIiOBTIjiEKisO1xmc53vLea7BqdQasn67+U7+59S1feq3bvx67b2Gb6299v4P55xbi9vv/t/iiy+++E/WrVt363XXXXdfyRcK711zzTUfXnnllZtvvPHGuVtuuWX+ggsumDv66KPnjjjiiLkjjzzyZxE/MatXr8Yxd9ttt81fcsklnSP2SJzGgXlAZ7xmzZq5m2++ef6qq66aO+mkkzoPfcBviOgj2U488cS5Wtv8HXfcMX/ttdfOH3fccZ2HLSj/d4866qiPqvZPjj322I/L553jjz/+seXLl//rGWec8Ytaz8oLL7xwv+m2LtToRdXUfW644YaDCssPOeSQW4v4V4VrDjrooNX77LPP8qVLlx5/6KGHnrxr167RV199taISjs4+++zRypUrR6effvoETjvttBEM9VXQ6MwzzxydddZZoypytHXr1tEnn3yy4rDDDus6djGnnHLKKDj11FNHQE/OzMx0G99Vq1aN1LBly5YVS5Ys6frUwhcHKdZ4iJmZ3/Koh37RokUr5ubmVvz4448r1BwesVA8J5XfcTMzM8fUhh5bmzNTuf/48MMP/0X15dYDDjjgT2t8/Nq1a5e21sb9HQ9K2arBS+qEnliBl9dO/eUJJ5zw63PPPfePinBxLaC988477ZlnnmnPP/98e+utt9pHH33UXn/99VaFtffee699/vnn7Ysvvuj47LPPxrKa2D799NM+//jjj7s0B3Oxr776anv77bc7Jx549913O+8HH3zQ3n///TY/P9/lhx9+2PXsIH7z5s29ppdffrlLenF81UlmTtIBPYkfjzhre+2115ra1Jg1keoiwZgdvvzyy/b111+f8MMPP9zw/fff/1UdyGuvvvrq86qnR1RvF40bffvtt+9bDV6z//77//Uxxxzzm8I/1O792UUXXbSsZFuxYkWrxrdly5a1Aw88sNUl1OqUt/Ivntb222+/Vqe81SXW6rJqxdWlOb04MXVqW+14960rpNUJaHXVtCqs7dmzp9lQc34HH3zwOM9wjgcn8AX2ujoaTjXRya0WUE8dnlbrGnOqP0hNeIzVUae716d2Oja88hrjN66T3OuvBi+tpp9dm/bLOmj/VPjH7du333DTTTctW1xdWlRo5XR4XS5/XkX+RV0yp9Yp3k+BCBHt3Lmzffvtt72hiti9e3c/pTt27OiLUwx9xfeFWJAN2XfffXsRixcvbmL4aKjGRrdly5ZWJ6HzaDybmsTzt4l4NZFNnJosuupsJ598ct+kbdu2NXqLt0li5B8i8fiN+eMPvvvuu1a3ss4jn/zyqSsbrNZvvvmmr0s8PznVw7/6uKhO/LK6Wi6tRv+yNuwUjZZT0GHVyLOKZIndQ8CgwZIj1iCEmm8hfCRRRAqt+1er+1ffkCzEJihC4/iKER8ojl5efrE7MZnjsNDM1eAgyDUajXpjNBQnG4lHTsAPdLisgw8d0JurxZrF8CEDvNZXD75Wzyft6XnF64Ue6BGohUMdruXV6CPGja7AfQpLnNBquPtNMy5H/s2uWrhmkPVgaPUAbE6UhvKT6LzzzrNp/VQUX5OQHowthL8xGVQx3ZeeL/CN5BcbPVhQXar9vs6uUFKtYCxe3HAeHX0QnTrCM4zXfCddTrcg+R3AOrH9ynaP1i9r1gt+chb0ta5nrAWXmV2pY98Lr6PvdjLeOQVUUHm2JtHll1/eLr300nbOOef0xiJP0cYSSiYgEgeEh82c5APmQEcCvXmkeJCjHkDNYuWm4xeIDWIzn7ab4w7MA/7Ra7bm1m2230azyZrscFp38ohXH4gbn2gGzXYJkQIkEAwSCgI2wdlh/k45jieeeILozecnDrqy/g8n0EGp+n/G/E3kA350JHvAh44N6OlIoDPnQ9IZA15zenOYHscevRh+4E3DG4kN1ou61bZpf35igA+eiUZTMAg2Hp4SQQjYwWJsip2sd9B2/fXXN28m9aTtr0XsKUCccWTGcgx15kPEj8+QLz6piaQj+YI5GNOLh3CSsZPmwEcMnXF0JJ0r3ol20PjpERuwk2AsLx/jvRrtdLr5uxe7DwlKQkky9059zz33tEcffbQ/EMw9FFxGLqkkSSLJxNIDvQ2jNwdzkg6MIXFi6KfBzkYCOyk2ejpjko0cgg2i4wPDuT5oLMlG6pF16xsbPYiLNN6r0R4ATqqHAyIQQK9wUkM8gevDTHOabYynvw8cSPlPFy02Ohz8cJMgxpyE6bEYNZHhIfHSgThcYi2azpwfyW5MQnTGII6k54ebjD42ErcGe/MZjUbNm4g+sIkRq0/G+CYazQkYwTgwBw8eJ9uHl/ow0x+GdtPbhw8FFqgwkEA8OQQeoBtKL/TxJ9kAl0XUx93+jm6RYKFgA4AfafHerb0K4kmecJkDG90QGsQ2BB3wk1cOsZA5KT8diCfBeKLRiCgZwY64F2lsfafR6gW8f0z2kbs+/TS3CR9n2cRZmNc+seGihxRCD3QQ3y5LQQIfEmyejb3sssva+eef3z+Reqd2RdUXWn2zvf14ILvl8XEIzK0BF+CqFP3DzVAax2YMmkZOwzu40+uWgZOdr/jM6YLoJhrNyBDYRQ9G74dOsoYq3AOQ3gbYCM0GH2o8EMXhIHGmCDrjwDx2chrsOEgn2lUzMzPTP8LbVGNfD7h068ul/rHehw6fSp06fGKTzxzCacxGgjEYiyOD6OXFn0bHjwT9wT8dt1ejOYTUTuUkKtwnJZekRBbEXt/A9e8PJNDoRx55pH+cZguPAgJ649iG+eghOj5gMz1gn3rqqf6llivLF1UexBs2bGiPP/54e+yxx/oV5yrzBZUviBwIXMGQOzpSTfIYB3zBnAy83nnwe/Ng01T1WT8fuoWwYKMToAANdg+2k+59HoKInXIfXJzg+v61nybvlr5Fk8gGkWAROH+LNn7vNG8L/G+oV4O5xmr0Sy+91D+g2FS3Lw11NfnWTWO92/N54YUXmu9QxCcFHjAnYTjWtOjog9RvLu+QV8Ntru9ZXOF8AnEZTzSaAWIkzRXrPgl0mq2RbiVOtoZL6HJaunRpvwfaYb4wLN4YJ30k3ULgQ8/PIuSTx/ynmsLfpzeLjy8eEBdpDPzpwByMfxdy+Pg4cD5Fp9E/FT/RaIFJTDq5ikVmF50qhHRg8XbYpWys0eaaICGE09iGtbanbwQ9HQlswzkd4AJjUNdQioHojdnJnwO/gO+whvDFTtINEZ0+ARseh5A05wN7NZoS4ohAEzXWiTL2INR8c5ftxo0b20MPPdR8NEWuYMnCgwvMwWk3H0Jc5nwCOmMSL2ROlzEZRB9fG7UQ5ARxieEXHX0Qu7me6IexHGAsTrz1keb0sGCjkQacBAQa6HbhfuihA08++WR78MEH+73TN3pibYhYCUnxQ0lPF7CJC+jphqBLXPR0YD6M5QexsQMfMjDnA/zpjUm2wBy8/Xgp0Gxzdo3WF3OIjjR3y/3JRndjfbmHwD3JvdcD0dhtxKn2AcI7NR9vIn6t8K2euSQKt7tgDFkEGb0xmEP8ItlgaDO3CLcr4AtDH3N+kPFCMjp+gJcc6umsyxq9AOgHnXVqdGTG5gG/iUaHXIIUzAk03qcwwW7+s7Oz7f77729OtN2VQIwvlXxCtHiXl3s6eBsgvY97O7FR7KSrg470IANztyb+YknxYAxifXCRD5d4zwjxbm2AJzFksH379n4FysEf8InBMw1XqLcvzRZjzXqhN+kbaT5EdHs1WrOQIJZYAZCC6SRgV4y5sRixfhxFrmAn3wPUO7AfQD00wWaI4SOe1CA5LAJspjj+fiQVHxmdZlu8TRUvjo7MPDWIhWE9ONUir41SB1gXHS6wOTj1QW4/3ho7kNbqkIFxdMYarlfkRKM5aYCkJGgevZ20KNLpdgsBp9xC6RF6oXfKLUoTFQBJyA9cevTGOAA/HV8bB8Z8cCve3Dg6zXL7ohefWsz5p35z3NOwBjHWhNPYfRjo5LJ+G6fJcrnCxLHh9cwCOjE4SLnY+U002sLsnmZ5D3UaspMC3Z8sBoE5mPu2L42SzOL4+K7BZe2Dju8q/EodKU6zSTHGivUcwGfsoSNeHA75jcHzAb8T6EBojBrEGpM4wfcTniHe90nAoRY6dn6gHggHHrzWqmF83K58p0LPz1wtxnTWQIrRB3ETjVawS8WOkS4fjSZtgoZooh22a+aIjBUAxnSKlUyhYDEap4H0Trt4YwWB2BQbrvDQ48EBFiNGXXzYzXGIxUvSsRsDPzWIB3P15jSTTiHwB/F4SXMxasFjLl4zxU4DD9tEoylcbmDMSWMtBtyX3L+MEUoOGqYICfnbCJvG34njD/TsdHjkSCPE4wR6NfB3GwNx0ZP4cNgwMeqwaDJc/MKjHr7icOEm6dRDql9seKxLfXjijwf0Ri7SYQR6/KlLbrGwV6MFSkgiF6gIQGDOLpiPQoCOZBenOa4E9zYLGcIGKEoMHhJSGKkJIC8OucVljJuOD3+1aDg+Y1IdoCb5xYjHA+JBrfzEqQOM8Rnjx6FmPCAvGz96ddKBOeAUq5aJRnMSgBQBB4gzm7EEfIEvQsTmbGLMLUBRYCyWDx5SnHi+5uL4yA30fBPPVwywkTaXNAc+QIdDPcZscpBgTB9feY3Z5DQGeg0H9Q1jjEEN7MZ85ASx5jButKPvvuxtwdeAXq8sUDJBgJC0AKSISEXTkS43Sc0hPvzMQWI+/PGbAxt/NrmMITb2jOND4gY28/gZ46GXS+0QuzEfkg4HGIM4+XFYFwn02RBjNmALHx5r00MvGBONdn/yBGX0rvjKK6/0P2zUdCdSckACikfmBGTMT+HAFxTDHj8FgVhgA7F8SPx88IgHvhZIagAdPzowZzPGA+ZDX2NgA+NhjfxxgjEf/TCPnxg5IHo2c7cksIb4eYMbN1qRXlnWrFnTrrjiirZq1ar+S4Ykvjhy0p169zRvJXbJmJ3eKyG9q8JcUsmAD7hHgkLcK/niYcPldVJRNpYdB7CZk+LxgziSv9zhNQc6cZqlaezDeGN2vGqR25y/udrAmJ4f4JGbpFdDfBwYh8PJ9rB0WPR2otEcvDr5eciX+X6j892F3+a8J2bXEEvi9Hu3FUdnYfSSSzwEneLAQizAJz+L9f02HptCL44epzkZHR45cODSUJ/2jC1Mjexi+GoMKV59+ICPfHiMHRRwC/COjidxagnwisdHh8PJ5a8PGuvOQA7nE41uWl8QpGgnXNP98Ema0yNG5A/+/G7nndXJs1iF21VSESSbS8wu8/X6pAiFVrr+93u4LJKvOHAKzQMcqc27rFrk1Ex8Poh4tzWWF0diSTpQv1rEq8Va6Plb48qVK/svRtZBx6YW+enM8aldzdYE+PCqkW2IBRs9dBAkGEl2il1xXvi9uJsrIjC3WLEWh5+mDwAABcFJREFURZqLwQPGbPQ40qBwkOIAHxirBcQDDjBWjxrZxQObOPFgDHzEaJRxbOJd1SQ/jcUTOwlsaheLh4SM2UE8LNhoDsgCcwUjCrkC6ZEAOySGnJ7zpwNjPiQYAxsJGbMPwWbxYAzqAjFAF2kM03Oc9JAxOQTbdNxwzldfNHga9HxdDQs22gLSvGEiQRYTQkn4ksA34DscswMdDhLoAI852zDWnB7owVgMGwl0bOoOV/Qk8AnMp+OndbGLwR3Ez6l363HoNJU/sKvD7SW1TDQakfuPB4wHg5u+AHoQRCIDhJouoWKALsicBPoUZEyHjzQH4yDzaR+55bXA+PIBOvbohzJ8dMYwrEccWKd1A07+JBiD/JoMxgE+wD3036vRnrSOOgJPY42XkI60SyCZgkhATA7Jo1N8xgoyTzH0eOgAB9AvNOfrIeoweBDGD5/cAQ5jdjAPzKcRG35xQEeCcZBY9emFtxlvIx7KpPrU4wCS4iYa7XXL30k4yZwlkFiTbYAvyS1w2HA2iZ0kEikYBwoyxun7Y+/l3lnp2ORRsFyJpTMn6fhlk7wJeOdWjzEfNYEYi+MvLpAL6EHdONQTHrFBfEkY8uCXU5/0Aw+oxTrUoVaHVV/Ejhtdgbvr3XCnj99+pnr22Wf739bZITvlZDtBJDKN9yW4DzKKVjzCIRSoKDsrIT9xlae5WvgqTuNtMl8FVi1MHThwRxoz8BFrUZqDz2LlwMM/fqQ5sKlFvBibryZxuDTOYbNGuUB8YI6Hvzg59QiX/rBpsNdPsvLtrnx7xo2u98ev67VrcwX8oIEvvvhie/jhh9sDDzzQnnvuuWbXFYLIwiTxF0E+piuOTvEKIitB/6dxXrm8unmFy7tmJe7/zI20UH9VJJ9CxQMOiwIbldiqsfOSNoUNxPo3jz68OAzi8ICa5cKROow1gh6XsZr9xZN/teAZlfWKxwdy8hWH27rFqQHw8hFbdewp2+f1XfxXGr1HQDX4i/oV47/qHfJ/aoc212XxfV1We958882mERahKZJqgh130p3OIuyLlwAUYUc12ac+jTavzWzmUHkaPV8n031O0RZNh0fRFiUWF73FaJZ4OhxkLaj/4yYHQI3icIgx5ic/X6jF968YSPWQ9Hrh4OARK5+awFju+NLhVidfeZ30Ws+u6uGWavbLxXlf/Yozr9G425133vl9kfxvGf6mCvr7Wtx/1mLer4budnls27atLwQRaG7Z+h80FnGXiDQrshL1f3BUmzj+V15sNooND/8hDx2fFM0eXxsL/PkAu7kaxA7H7HgST6rb6efPN7WwJZ6en7rx4yH5kECnuTaTXl3VXOvcXvOnqvn/Xpv7q+rlv6xdu/azcaMF3nXXXdtHo9Fz5fAf5fB3q1evvq9+V3u8mj9bjZ8tgtlKPlu7PVune7ZO82xtwGxtxGydgtlKNluL6D6VtNvqEpyt++9sXdId5nV6uw0HP/OtW7fO1gNy1hiPPOwBm3wkn4AvDjWxq0ct7DjocdDTQerhp3ZgBxz4+MlljAPwRM+XTn5rrk2arU2brdvLQ9X839RJ/+fCf9emvL1u3bpdE42uZu+pZv+4cePGrfWj6Dt15P+tvkz625Lr68fM9XXprC+f9bXb6+tErC/y9ZVkDPo6DetrQyZsfPlVYT2OnY4/vTFZRfc4euBHAh9STpKvmMzZzcmAX0CXMT9jsXiGNjnNgR8fumpYXzedmMTrR101vTfV4PXV6F9Xwx94+umn360+fn3vvffuKp///9f3JkNwqN19dfny5Zuq6ZuKYFPdBzfVTm6qIjqqcV1mHkkPC83phxzxiWRfaDzU/ZxPfKeluEANsJDPUBd/ciE9jrrFbqr7dUfdDZ5+4403Pq5e7iyM/5s+0WODgdPt3n333XfvqN3ZMT8/v6P0f0BrEz3Ql6Dewn6oHvVTXHL83+INGzbsO579YfB76UDdShb9HwAAAP//obmmawAAAAZJREFUAwC90dru6VRAxAAAAABJRU5ErkJggg==",UGe={class:"printer global-relative-offset"},jGe=["src"],HGe=["src"],zGe=["onClick","onDblclick"],WGe=Je({__name:"multi-color-machine-lite",props:{filamentName:{type:String,default:"PLA"},curFeedWithdrawSlotId:{type:String,default:""},curAmsStatus:{type:String,default:jg.Idle},curSelectSlotColor:{type:String,default:"#409eff"},isFeedWithdrawSloting:{type:Boolean,default:!1},curFeedWithdrawStatus:{type:String,default:Iee.Idle},canvas:{type:Object,default:()=>({})},trays:{type:Array,default:()=>[]},editBtnDisabled:{type:Boolean,default:!1},curActiveTrayInfo:{type:Object,default:()=>({})},curLoadedTrayInfo:{type:Object,default:()=>({})}},emits:["select-slot-id","double-click-slot"],setup(e,{emit:t}){const n=t,r=di(),i=e,o=V(()=>i.curFeedWithdrawSlotId!=="-1"&&i.isFeedWithdrawSloting),s=se(!1),a=se(!1);ln(()=>{}),Ye(()=>i.isFeedWithdrawSloting,L=>{L?(a.value=!1,s.value=!0):a.value=!0},{deep:!0});const c=se("-1"),l=se("#d8d8d8"),u=se("#d8d8d8"),d=V(()=>{var L;return r.isPrinting?((L=i.curLoadedTrayInfo)==null?void 0:L.filament_color)||l.value:i.isFeedWithdrawSloting&&i.curFeedWithdrawSlotId!=="-1"&&i.curActiveTrayInfo.filament_color||l.value}),f=V(()=>{var R;const L=[l.value,l.value,l.value,l.value];if(r.isPrinting){const F=Number(r.LoadedSlotId);!Number.isNaN(F)&&F>=0&&F<=3&&(L[F]=((R=i.curLoadedTrayInfo)==null?void 0:R.filament_color)??l.value)}if(i.isFeedWithdrawSloting){const F=Number(i.curFeedWithdrawSlotId);!Number.isNaN(F)&&F>=0&&F<=3&&(L[F]=d.value??l.value)}return L}),h=V(()=>{if(r.isPrinting){const L=Number(r.LoadedSlotId);if(!Number.isNaN(L)&&L>=0&&L<=3)return L}if(i.isFeedWithdrawSloting){const L=Number(i.curFeedWithdrawSlotId);if(!Number.isNaN(L)&&L>=0&&L<=3)return L}return-1}),p=V(()=>{const W=[1,1,1,1];if(r.isPrinting){const J=Number(r.LoadedSlotId);!Number.isNaN(J)&&J>=0&&J<=3&&(W[J]=2)}if(i.isFeedWithdrawSloting){const J=Number(i.curFeedWithdrawSlotId);!Number.isNaN(J)&&J>=0&&J<=3&&(W[J]=3)}return W}),g=L=>{const R=Number(L)-1,F=i.trays.find(W=>Number(W.id)===R);return(F==null?void 0:F.status)===Oo.Empty?l.value:(F==null?void 0:F.filament_color)||l.value},m=L=>{c.value=L.id,u.value=L.filament_color,n("select-slot-id",c.value,u.value)},y=L=>{i.editBtnDisabled||(c.value=L.id,u.value=L.filament_color,n("double-click-slot",c.value,u.value))},v=L=>{var R;return(R=Pi(L))==null?void 0:R.type},E=L=>!L.filament_type&&L.status===Oo.Empty?"'/'":!L.filament_type&&L.status!==Oo.Empty?"'?'":`'${L.filament_type||v(L.filament_name)}'`,b=L=>!(L==wi.NoFilament||L==wi.NoRecognition),S=L=>L.filament_name||"-",w=()=>{const L=i.curFeedWithdrawSlotId;return{0:{top:"37%",left:"14%"},1:{top:"60%",left:"14%"},2:{top:"60%",left:"95%"},3:{top:"37%",left:"95%"}}[L]||{}},C=()=>{const L=r.lastLoadedSlotId;return{0:{top:"37%",left:"14%"},1:{top:"60%",left:"14%"},2:{top:"60%",left:"95%"},3:{top:"37%",left:"95%"}}[L]||{top:"37%",left:"14%"}},_=V(()=>r.isFilamentInterruption),I=[{id:"1",component:fle},{id:"2",component:mle},{id:"3",component:yle},{id:"4",component:Sle}],O=[{id:"1",component:Ile},{id:"2",component:_le},{id:"3",component:xle},{id:"4",component:Nle}];return(L,R)=>{const F=Dp;return ne(),Te("div",UGe,[G("img",{src:P(BGe),class:"printer-machine",alt:""},null,8,jGe),(ne(),Te(Ft,null,Rr(I,W=>be(Br(W.component),{key:W.id,class:je(`printer-curve${W.id.trim()}`),style:Ut({"--curve-color":g(W.id)})},null,8,["class","style"])),64)),be(P(lle),{class:je(["printer-machine-header-line",{active:o.value,highlighted:h.value===0}]),style:Ut({"--curve-color":f.value[0],zIndex:p.value[0]})},null,8,["class","style"]),be(P(Iue),{class:je(["printer-machine-header-line-left2",{active:o.value,highlighted:h.value===1}]),style:Ut({"--curve-color":f.value[1],zIndex:p.value[1]})},null,8,["class","style"]),be(P(_ue),{class:je(["printer-machine-header-line-left3",{active:o.value,highlighted:h.value===2}]),style:Ut({"--curve-color":f.value[2],zIndex:p.value[2]})},null,8,["class","style"]),be(P(xue),{class:je(["printer-machine-header-line-left4",{active:o.value,highlighted:h.value===3}]),style:Ut({"--curve-color":f.value[3],zIndex:p.value[3]})},null,8,["class","style"]),be(P(sle),{class:"printer-machine-header",style:Ut({"--curve-color":d.value})},null,8,["style"]),G("img",{src:P(FGe),class:"printer-machine-top",alt:""},null,8,HGe),vn(be(P(Z3),{class:je(["printer-loading",{active:o.value}]),style:Ut(w())},null,8,["class","style"]),[[_r,o.value]]),vn(be(P(Z3),{class:je(["printer-loading interrupt-loading",{active:_.value}]),style:Ut(C())},null,8,["class","style"]),[[_r,_.value]]),(ne(),Te(Ft,null,Rr(O,W=>be(Br(W.component),{key:W.id,class:je([`slot-num${W.id.trim()}`,{active:(Number(c.value)+1).toString()===W.id}])},null,8,["class"])),64)),(ne(!0),Te(Ft,null,Rr(e.trays,(W,J)=>(ne(),Ze(F,{key:`${W.id}-${J}`,placement:"bottom",effect:"dark",trigger:"hover","show-arrow":!1,offset:2,disabled:!b(W.filament_name),"popper-style":{padding:"8px",background:W.filament_color||"#333334",color:P(Gc)(W.filament_color),textAlign:"center",width:"auto",minWidth:"100px",maxHeight:"34px",border:"1px solid black"}},{reference:Re(()=>[G("div",{class:"hollow-circle",style:Ut({"--filamentType":E(W),"--curFilamentColor":W.filament_color,"--text-color":P(Gc)(W.filament_color),top:W.top,left:W.left}),onClick:Y=>m(W),onDblclick:Y=>y(W)},null,44,zGe)]),default:Re(()=>[yt(" "+Ue(S(W)),1)]),_:2},1032,["disabled","popper-style"]))),128))])}}}),VGe=rr(WGe,[["__scopeId","data-v-8da9606c"]]),GGe={key:0,class:"standard-container"},JGe={class:"standard-container__inner"},ZGe={class:"standard-tray-nav"},YGe={class:"standard-main-section"},XGe={class:"standard-left-panel"},QGe={class:"standard-vertical-group"},KGe={class:"standard-humidity-container"},qGe={class:"standard-humidity-display"},$Ge={class:"standard-instruction-text font-size14"},eJe={class:"standard-action-buttons"},tJe={class:"standard-left-action-buttons"},nJe={href:"https://www.elegoo.com.cn/",target:"_blank",rel:"noopener noreferrer"},rJe={class:"standard-right-action-buttons"},iJe={key:1,class:"lite-container"},oJe={class:"lite-wrapper"},sJe={key:0,class:"lite-btn-container global-relative-offset"},aJe={class:"lite-btn-group"},cJe={class:"lite-main-buttons"},lJe={class:"standard-instruction-text-lite font-size14"},uJe={key:1,class:"lite-mobile-btn-container global-relative-offset",style:{"--offset-top":"-2%","--offset-left":"-16%"}},dJe={href:"https://www.elegoo.com.cn/",target:"_blank",rel:"noopener noreferrer"},fJe=Je({__name:"mutil-color",props:{version:{type:String,default:ic.Standard}},setup(e){const{isMobile:t}=gs(),n={AmsBoxs:[],VtTray:{}},{filterSettingSwitchs:r,filamentFrom:i,curSelectSlotColor:o,showSettingDialog:s,showEditDialog:a,curSelectSlotId:c,curVersion:l,curAmsStatus:u,curTrayNavIndex:d,curFeedWithdrawSlotId:f,isSelectSlot:h,isFeedWithdrawSloting:p,canvas:g,liteTrays:m,feedBtnDisabled:y,unfeedBtnDisabled:v,editBtnDisabled:E,historyEditFilamentColor:b,curFeedWithdrawStatus:S,curActiveTrayInfo:w,curLoadedTrayInfo:C,onSwitchChange:_,onSettingClick:I,onEditClick:O,onSlotClick:L,onSlotDoubleClick:R,onTrayNavClick:F,onFeedClick:W,onUnfeedClick:J,onUpdateFilament:Y}=nVe();return(M,B)=>{const q=ku;return ne(),Ze(q,null,{title:Re(()=>[yt(Ue(M.$t("filament")),1)]),default:Re(()=>[P(l)===P(ic).Standard?(ne(),Te("div",GGe,[G("div",JGe,[G("div",ZGe,[(ne(!0),Te(Ft,null,Rr(n.AmsBoxs,(z,A)=>(ne(),Ze(MGe,{key:A,tray:z.TrayList,selected:P(d)===A,onClick:T=>P(F)(A)},null,8,["tray","selected","onClick"]))),128))]),G("div",YGe,[G("div",XGe,[be(gGe,{amsSlot:n.VtTray,"display-header-mode":"name","slot-type":P(i).Rfid,slotEnable:!0},{"header-name":Re(()=>[yt(Ue(M.$t("multiColor.filamentRack")),1)]),name:Re(()=>[...B[2]||(B[2]=[yt("PLA",-1)])]),_:1},8,["amsSlot","slot-type"])]),G("div",QGe,[G("div",KGe,[G("div",qGe,[be(P(Pn),null,{default:Re(()=>[(ne(),Ze(Br(P(nV))))]),_:1}),B[3]||(B[3]=G("span",{style:{color:"#66D3FE","padding-left":"2px"}},"45",-1))])])])]),G("div",$Ge,[G("span",null,Ue(M.$t("multiColor.feedNote")),1)]),G("div",eJe,[G("div",tJe,[be(P(pr),{type:"info",class:"standard-action-btn",onClick:P(I)},{default:Re(()=>[be(P(W6))]),_:1},8,["onClick"]),G("a",nJe,[be(P(pr),{type:"info",class:"standard-action-btn"},{default:Re(()=>[yt(Ue(M.$t("buttons.guide")),1)]),_:1})])]),G("div",rJe,[be(P(pr),{type:"primary",disabled:!P(h)||P(p),onClick:P(J)},{default:Re(()=>[yt(Ue(M.$t("buttons.feed")),1)]),_:1},8,["disabled","onClick"]),be(P(pr),{type:"primary",disabled:!P(h)||P(p),onClick:P(W)},{default:Re(()=>[yt(Ue(M.$t("buttons.unfeed")),1)]),_:1},8,["disabled","onClick"])])])])])):P(l)===P(ic).Lite?(ne(),Te("div",iJe,[G("div",oJe,[be(VGe,{onSelectSlotId:P(L),onDoubleClickSlot:P(R),curFeedWithdrawSlotId:P(f),trays:P(m),curAmsStatus:P(u),curSelectSlotColor:P(o),canvas:P(g),isFeedWithdrawSloting:P(p),curFeedWithdrawStatus:P(S),editBtnDisabled:P(E),curActiveTrayInfo:P(w),curLoadedTrayInfo:P(C)},null,8,["onSelectSlotId","onDoubleClickSlot","curFeedWithdrawSlotId","trays","curAmsStatus","curSelectSlotColor","canvas","isFeedWithdrawSloting","curFeedWithdrawStatus","editBtnDisabled","curActiveTrayInfo","curLoadedTrayInfo"]),P(t)?Ke("",!0):(ne(),Te("div",sJe,[G("div",aJe,[be(P(pr),{class:"standard-action-btn",onClick:P(I)},{default:Re(()=>[be(P(W6))]),_:1},8,["onClick"])]),G("div",cJe,[be(P(pr),{type:"primary",disabled:P(y),onClick:P(W)},{default:Re(()=>[yt(Ue(M.$t("buttons.feed")),1)]),_:1},8,["disabled","onClick"]),be(P(pr),{type:"primary",disabled:P(v),onClick:P(J)},{default:Re(()=>[yt(Ue(M.$t("buttons.unfeed")),1)]),_:1},8,["disabled","onClick"]),be(P(pr),{onClick:P(O),class:"lite-edit-btn",disabled:P(E)},{default:Re(()=>[yt(Ue(M.$t("buttons.edit")),1)]),_:1},8,["onClick","disabled"])]),G("div",lJe,[G("span",null,Ue(M.$t("multiColor.feedNote")),1)])])),P(t)?(ne(),Te("div",uJe,[be(P(pr),{type:"primary",disabled:P(y),onClick:P(W)},{default:Re(()=>[yt(Ue(M.$t("buttons.feed")),1)]),_:1},8,["disabled","onClick"]),be(P(pr),{type:"primary",disabled:P(v),onClick:P(J)},{default:Re(()=>[yt(Ue(M.$t("buttons.unfeed")),1)]),_:1},8,["disabled","onClick"]),be(P(pr),{onClick:P(O),class:"lite-edit-btn",disabled:P(E)},{default:Re(()=>[yt(Ue(M.$t("buttons.edit")),1)]),_:1},8,["onClick","disabled"]),G("a",dJe,[be(P(pr),{class:"standard-action-btn"},{default:Re(()=>[yt(Ue(M.$t("buttons.guide")),1)]),_:1})]),be(P(pr),{class:"standard-action-btn",onClick:P(I)},{default:Re(()=>[be(P(W6))]),_:1},8,["onClick"])])):Ke("",!0)])])):Ke("",!0),be(xGe,{modelValue:P(s),"onUpdate:modelValue":B[0]||(B[0]=z=>En(s)?s.value=z:null),onUpdateSwitch:P(_),settingSwitchs:P(r),showHumidity:P(l)===P(ic).Standard,showReturnBtn:!1,curVersion:P(l)},null,8,["modelValue","onUpdateSwitch","settingSwitchs","showHumidity","curVersion"]),P(l)===P(ic).Lite?(ne(),Ze(Pee,{key:2,modelValue:P(a),"onUpdate:modelValue":B[1]||(B[1]=z=>En(a)?a.value=z:null),enbleEditFilament:P(c)!="-1",curSelectSlotColor:P(o),curSelectSlotId:P(c),liteTrays:P(m),historyEditFilamentColor:P(b),onUpdateFilament:P(Y)},null,8,["modelValue","enbleEditFilament","curSelectSlotColor","curSelectSlotId","liteTrays","historyEditFilamentColor","onUpdateFilament"])):Ke("",!0)]),_:1})}}}),PH=rr(fJe,[["__scopeId","data-v-67f3b399"]]),hJe={class:"flex-1 flex items-center justify-between mr-5"},pJe={key:0,class:"flex flex-col justify-between items-end"},mJe={class:"status-container"},gJe={class:"model-image"},vJe={class:"image-slot"},yJe=["src"],EJe={class:"flex-1 ml-[18px] flex flex-col"},bJe={key:0,class:"flex flex-col justify-between flex-1"},SJe={class:"filename-container"},AJe={class:"detail-title"},CJe={class:"detail-filename"},wJe={class:"detail-title"},TJe={class:"detail-text"},IJe={class:"detail-title"},PJe={class:"detail-text"},OJe={class:"flex items-center"},_Je={class:"ml-2"},RJe={key:1,class:"flex flex-col flex-1 justify-around"},kJe={class:"detail-title"},xJe={class:"detail-text"},DJe={class:"detail-title"},LJe={class:"detail-text"},NJe=Je({__name:"device-status",setup(e){El();const n=di(),r=C=>typeof C=="number"&&!isNaN(C)?Math.max(0,Math.min(100,C)):0,{printerInfo:i,status:o,deviceInfo:s,pauseDisableButton:a,resumeDisableBtn:c,stopDisableBtn:l,currentThumbnail:u,displayFileName:d,curProgress:f,curPrintLayer:h,totalPrintLayer:p,subStatus:g,isMQTTConnected:m,lastSubStatus:y,isFilamentInterruption:v,showPowerOffResumeDialog:E,powerOffResumeTitle:b,powerOffResumeMsg:S,powerOffResumeBtnTxt:w}=See();return ln(()=>{}),(C,_)=>{const I=pr,O=Dw,L=KG;return ne(),Te(Ft,null,[be(ku,null,{title:Re(()=>[G("div",hJe,[be(bee,{status:P(o),subStatus:P(g),isMQTTConnected:P(m),lastSubStatus:P(y)},null,8,["status","subStatus","isMQTTConnected","lastSubStatus"]),P(n).isPrinting?(ne(),Te("div",pJe,[G("span",null,[!P(n).isPaused&&!P(v)?(ne(),Ze(I,{key:0,class:"print-control-button",disabled:P(a),onClick:P(n).pausePrint},{default:Re(()=>[G("span",null,[be(P(KC))])]),_:1},8,["disabled","onClick"])):Ke("",!0),P(n).isPaused||P(v)?(ne(),Ze(I,{key:1,class:"print-control-button",disabled:P(c),onClick:_[0]||(_[0]=R=>P(n).resumePrint(1e4*6))},{default:Re(()=>[G("span",null,[be(P(QC))])]),_:1},8,["disabled"])):Ke("",!0),be(I,{class:"print-control-button",disabled:P(l),onClick:P(n).stopPrint},{default:Re(()=>[G("span",null,[be(P($W))])]),_:1},8,["disabled","onClick"])])])):Ke("",!0)])]),default:Re(()=>{var R;return[G("div",mJe,[G("div",gJe,[be(O,{src:P(u)},{error:Re(()=>[G("div",vJe,[G("img",{src:P(EJ),alt:"error"},null,8,yJe)])]),_:1},8,["src"])]),G("div",EJe,[P(n).isPrinting?(ne(),Te("div",bJe,[G("span",SJe,[G("span",AJe,Ue(C.$t("file"))+": ",1),G("span",CJe,Ue(P(d)),1)]),G("span",null,[G("span",wJe,Ue(C.$t("printStatus.layerProgress"))+": ",1),G("span",TJe,Ue(P(h))+"/"+Ue(P(p)),1)]),G("span",null,[G("span",IJe,Ue(C.$t("printStatus.remainingPrintTime"))+": ",1),G("span",PJe,Ue(P(eZ)(P(n).remainingPrintTime)),1)]),G("div",OJe,[be(L,{class:"flex-1 self-center",percentage:r((R=P(i))==null?void 0:R.Progress),"show-text":!1,"stroke-width":3},null,8,["percentage"]),G("span",_Je,Ue(P(f))+"% ",1)])])):Ke("",!0),P(n).isPrinting?Ke("",!0):(ne(),Te("div",RJe,[G("span",null,[G("span",kJe,Ue(C.$t("deviceName"))+": ",1),G("span",xJe,Ue(P(s).name),1)]),G("span",null,[G("span",DJe,Ue(C.$t("deviceIp"))+": ",1),G("span",LJe,Ue(P(s).ip),1)])]))])])]}),_:1}),be(al,{modelValue:P(E),"onUpdate:modelValue":_[1]||(_[1]=R=>En(E)?E.value=R:null),"confirm-title":P(b),"confirm-message":P(S),"confirm-btn-txt":P(w),onConfirm:_[2]||(_[2]=R=>P(n).resumePrint(1e4*6*2)),onCancel:P(n).stopPrint},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onCancel"])],64)}}}),MJe=rr(NJe,[["__scopeId","data-v-ad7b57fc"]]),BJe={class:"control-container"},FJe={class:"flex items-center gap-2 justify-between mb-[10px]"},UJe={class:"flex items-center"},jJe={class:"fan-container"},HJe=Je({__name:"device-control",setup(e){const{deviceControlModel:t,onchassisFanSpeedChange:n,onAuxiliaryFanSpeedChange:r,onModelFanSpeedChange:i,onLightChange:o,controlDisabled:s,move:a,moveToHome:c,setPrintSpeedPct:l,changeSpeedDisabled:u,chassisFanDisabled:d,lightDisabled:f,fanDisabled:h,auxiliaryFanDisabled:p,xyzDisabled:g,uiPrinterMode:m,chassisFanCmdStatus:y,auxiliaryFanCmdStatus:v,modelFanCmdStatus:E,lightCmdStatus:b,showLightOffDialog:S,onLightOffConfirm:w,onLightOffCancel:C}=Aee();return(_,I)=>{const O=Ug,L=Fg;return ne(),Te(Ft,null,[be(ku,null,{title:Re(()=>[yt(Ue(_.$t("control.control")),1)]),default:Re(()=>[G("div",BJe,[G("div",FJe,[be(wee,{step:P(t).moveStep,"onUpdate:step":I[0]||(I[0]=R=>P(t).moveStep=R),"x-pos":P(t).xPos,"y-pos":P(t).yPos,"z-pos":P(t).zPos,disabled:P(s)},null,8,["step","x-pos","y-pos","z-pos","disabled"])]),be(Cee,{class:"self-center w-full",xyzDisabled:P(g),onHomeAll:I[1]||(I[1]=R=>P(c)("XYZ")),onHomeX:I[2]||(I[2]=R=>P(c)("X")),onHomeY:I[3]||(I[3]=R=>P(c)("Y")),onHomeZ:I[4]||(I[4]=R=>P(c)("Z")),onXUp:I[5]||(I[5]=R=>P(a)("X",1)),onXDown:I[6]||(I[6]=R=>P(a)("X",-1)),onYUp:I[7]||(I[7]=R=>P(a)("Y",1)),onYDown:I[8]||(I[8]=R=>P(a)("Y",-1)),onZUp:I[9]||(I[9]=R=>P(a)("Z",1)),onZDown:I[10]||(I[10]=R=>P(a)("Z",-1))},null,8,["xyzDisabled"]),G("div",UJe,[G("span",null,Ue(_.$t("control.printSpeed")),1),be(L,{modelValue:P(m),"onUpdate:modelValue":I[11]||(I[11]=R=>En(m)?m.value=R:null),placeholder:"",style:{width:"140px"},"show-arrow":!1,offset:4,class:"ml-[10px] no-border-select",disabled:P(u),onChange:P(l)},{default:Re(()=>[(ne(!0),Te(Ft,null,Rr(P(t).printModeOptions,R=>(ne(),Ze(O,{key:R.value,label:_.$t(R.label),value:R.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled","onChange"])]),G("div",jJe,[be(wd,{class:"flex-1",title:_.$t("control.model"),value:P(t).modelFanSpeed,"onUpdate:value":I[12]||(I[12]=R=>P(t).modelFanSpeed=R),onChange:P(i),disabled:P(h),defaultOpenValue:100,cmdStatus:P(E),"component-type":P(na).ModelFan},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.sideFan"),value:P(t).auxiliaryFanSpeed,"onUpdate:value":I[13]||(I[13]=R=>P(t).auxiliaryFanSpeed=R),onChange:P(r),disabled:P(p),defaultOpenValue:100,cmdStatus:P(v),"component-type":P(na).AuxiliaryFan},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.Case"),"show-input":!0,value:P(t).chassisFanSpeed,"onUpdate:value":I[14]||(I[14]=R=>P(t).chassisFanSpeed=R),onChange:P(n),disabled:P(d),defaultOpenValue:100,cmdStatus:P(y),"component-type":P(na).ExhaustGrille},{icon:Re(()=>[be(P(Mh))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"]),be(wd,{class:"flex-1",title:_.$t("control.Lighting"),"show-input":!1,value:P(t).lightValue,"onUpdate:value":I[15]||(I[15]=R=>P(t).lightValue=R),onChange:P(o),disabled:P(f),defaultOpenValue:1,cmdStatus:P(b),"component-type":P(na).ChassisLight},{icon:Re(()=>[be(P(tV))]),_:1},8,["title","value","onChange","disabled","cmdStatus","component-type"])])])]),_:1}),be(al,{modelValue:P(S),"onUpdate:modelValue":I[16]||(I[16]=R=>En(S)?S.value=R:null),"confirm-title":_.$t("errorNotice"),"confirm-message":_.$t("aiDetection.lightOffConfirm"),"confirm-btn-txt":_.$t("close"),onConfirm:P(w),onCancel:P(C)},null,8,["modelValue","confirm-title","confirm-message","confirm-btn-txt","onConfirm","onCancel"])],64)}}}),zJe=rr(HJe,[["__scopeId","data-v-5c7e7505"]]),WJe={key:0,class:"pc-layout"},VJe={class:"left"},GJe={class:"right"},JJe={key:1,class:"mobile-layout"},ZJe="6.2.5",YJe=Je({__name:"main-view",setup(e){var f;const{isMobile:t}=gs(),n=di(),r=V(()=>t.value?"":"content"),i=V(()=>t.value?"main-view-mobile ":"main-view"),o=V(()=>jn()),s=se(!0),a=se(null);Ye(()=>t.value,(h,p)=>{Pe.log("isMobile 变化",{newValue:h,oldValue:p,isInitialMount:s.value,previousIsMobile:a.value}),!s.value&&a.value!==null&&h!==a.value&&(Pe.log("移动端/桌面端切换,刷新页面",{from:a.value?"移动端":"桌面端",to:h?"移动端":"桌面端"}),location.reload()),a.value=h}),ln(()=>{setTimeout(()=>{s.value=!1,a.value=t.value,Pe.log("初始化完成,当前 isMobile:",t.value)},100)});const c=navigator,l=c.userAgent,u=((f=c.userAgentData)==null?void 0:f.brands)??[],d=u.length?u.map(h=>`${h.brand} ${h.version}`).join(", "):l;return Pe.log("浏览器信息:",d),(h,p)=>(ne(),Te("div",{class:je(i.value)},[be(Kue),G("div",{class:"version-info"},"v"+Ue(ZJe)),G("div",{class:je(r.value)},[P(t)===!1?(ne(),Te("div",WJe,[G("div",VJe,[be(P(sHe)),be(P(XHe)),be(P(bH))]),G("div",GJe,[be(P(wH)),be(P(SH)),vn(be(P(PH),null,null,512),[[_r,P(n).canvasConnected]]),vn(be(P(IH),null,null,512),[[_r,!P(n).canvasConnected]]),o.value?Ke("",!0):(ne(),Ze(P(TH),{key:0}))])])):Ke("",!0),P(t)?(ne(),Te("div",JJe,[be(P(MJe)),be(P(zJe)),vn(be(P(PH),null,null,512),[[_r,P(n).canvasConnected]]),vn(be(P(IH),null,null,512),[[_r,!P(n).canvasConnected]]),be(P(bH)),be(P(SH)),be(P(wH)),o.value?Ke("",!0):(ne(),Ze(P(TH),{key:0}))])):Ke("",!0)],2)],2))}}),XJe=rr(YJe,[["__scopeId","data-v-9a145184"]]),QJe=typeof window<"u"&&window.location.protocol==="file:",KJe=QJe?Nie("./"):pW("./"),qJe=ooe({history:KJe,routes:[{path:"/",redirect:"/index"},{path:"/index",name:"index",component:XJe}]});Array.prototype.at||(Array.prototype.at=function(e){const t=this.length,n=e>=0?e:t+e;if(!(n<0||n>=t))return this[n]});Pe.log("=== 环境变量配置 ===");Pe.log("当前模式 (MODE):","mqtt");Pe.log("是否开发环境 (DEV):",!1);Pe.log("是否生产环境 (PROD):",!0);Pe.log("协议类型 (VITE_PROTOCOL_TYPE):",Ws.protocolType);Pe.log("使用RTC拉流 (VITE_USE_RTC):",Ws.useRTC);Pe.log("原始值 VITE_USE_RTC:","false");Pe.log("原始值 VITE_PROTOCOL_TYPE:","MQTT");Pe.log("==================");const $Je=new URLSearchParams(window.location.search),OH=$Je.get("print_ip"),S6=tW(coe),eZe=Bae(),tZe=Aae(eZe);tZe(!0);S6.use($re());S6.use(qJe);S6.use(ou);S6.mount("#app");if(OH){const e=Eee();e.curPrintHost=OH}});export default nZe();
\ No newline at end of file diff --git a/src/slic3r/GUI/PrinterWebViewHandler.cpp b/src/slic3r/GUI/PrinterWebViewHandler.cpp index 16d63795db..165d7c16dd 100644 --- a/src/slic3r/GUI/PrinterWebViewHandler.cpp +++ b/src/slic3r/GUI/PrinterWebViewHandler.cpp @@ -98,8 +98,6 @@ public: stop_upload = true; if (upload_thread.joinable()) upload_thread.join(); - if (sn_thread.joinable()) - sn_thread.join(); } void on_script_message(wxWebViewEvent &evt) override @@ -287,35 +285,21 @@ private: void handle_get_sn_request(const std::string& request_id, const std::string& method) { - if (sn_request_in_progress.exchange(true)) { - send_ipc_message("response", request_id, method, 1, "SN request already in progress"); - return; + // Panel always calls get_sn with a 10s IPC timeout. Answer immediately from + // dev_sn / cache — do not spawn a thread or perform HTTP (panel uses URL sn on miss). + std::string sn; + if (DynamicPrintConfig* config = get_active_printer_config()) { + const std::unique_ptr host(PrintHost::get_print_host(config)); + if (host) + sn = host->get_sn(); } - - if (sn_thread.joinable()) - sn_thread.join(); - - sn_thread = std::thread([this, request_id, method]() { - std::string sn; - - DynamicPrintConfig* config = get_active_printer_config(); - std::unique_ptr print_host(config == nullptr ? nullptr : PrintHost::get_print_host(config)); - if (print_host != nullptr) - sn = print_host->get_sn(); - - sn_request_in_progress = false; - json data = { - {"sn", sn} - }; - send_ipc_message("response", request_id, method, 0, "success", dump_json(data)); - }); + json data = { { "sn", sn } }; + send_ipc_message("response", request_id, method, 0, "success", dump_json(data)); } std::atomic upload_in_progress { false }; - std::atomic sn_request_in_progress { false }; std::atomic stop_upload { false }; std::thread upload_thread; - std::thread sn_thread; }; } // namespace diff --git a/src/slic3r/Utils/ElegooLink.cpp b/src/slic3r/Utils/ElegooLink.cpp index 90bbe65226..cf80d29dc8 100644 --- a/src/slic3r/Utils/ElegooLink.cpp +++ b/src/slic3r/Utils/ElegooLink.cpp @@ -1,6 +1,8 @@ #include "ElegooLink.hpp" #include +#include +#include #include #include #include @@ -60,6 +62,52 @@ namespace Slic3r { namespace { constexpr const char* ELEGOO_CC2_DEFAULT_TOKEN = "123456"; + // AppConfig section for CC2 serial numbers, keyed by normalized print_host (host/IP). + constexpr const char* ELEGOO_DEV_SN_SECTION = "dev_sn"; + + static std::mutex s_sn_cache_mutex; + static std::map s_sn_cache; + + std::string sn_cache_key(const std::string& host_ip, const std::string& token) + { + return host_ip + ":" + token; + } + + void cache_sn(const std::string& host_ip, const std::string& token, const std::string& sn) + { + if (host_ip.empty() || token.empty() || sn.empty()) + return; + std::lock_guard lock(s_sn_cache_mutex); + s_sn_cache[sn_cache_key(host_ip, token)] = sn; + } + + std::string lookup_sn(const std::string& host_ip, const std::string& token) + { + std::lock_guard lock(s_sn_cache_mutex); + auto it = s_sn_cache.find(sn_cache_key(host_ip, token)); + return it != s_sn_cache.end() ? it->second : std::string{}; + } + + std::string load_sn_from_config(const std::string& host_ip) + { + if (host_ip.empty()) + return {}; + AppConfig* app_cfg = GUI::get_app_config(); + if (app_cfg == nullptr) + return {}; + return app_cfg->get(ELEGOO_DEV_SN_SECTION, host_ip); + } + + void persist_sn(const std::string& host_ip, const std::string& token, const std::string& sn) + { + if (host_ip.empty() || sn.empty()) + return; + cache_sn(host_ip, token, sn); + AppConfig* app_cfg = GUI::get_app_config(); + if (app_cfg == nullptr) + return; + app_cfg->set_str(ELEGOO_DEV_SN_SECTION, host_ip, sn); + } enum class ElegooPrinterType { Other, @@ -193,6 +241,30 @@ namespace Slic3r { return out; } + std::string lookup_cc2_serial_impl(const std::string& printer_model, + const std::string& print_host, + const std::string& apikey) + { + if (classify_printer_model(printer_model) != ElegooPrinterType::CC2) + return {}; + + const std::string host_ip = get_host_from_url(print_host); + const std::string token = get_cc2_token(apikey); + std::string sn = lookup_sn(host_ip, token); + if (sn.empty()) + sn = load_sn_from_config(host_ip); + return sn; + } + + std::string lookup_cc2_serial(DynamicPrintConfig* config) + { + if (config == nullptr) + return {}; + return lookup_cc2_serial_impl(config->opt_string("printer_model"), + config->opt_string("print_host"), + config->opt_string("printhost_apikey")); + } + #ifdef WIN32 // Workaround for Windows 10/11 mDNS resolve issue, where two mDNS resolves in succession fail. std::string substitute_host(const std::string& orig_addr, std::string sub_addr) @@ -336,8 +408,30 @@ namespace Slic3r { std::string web_path = resources_dir() + "/plugins/elegoolink/web/lan_service_web/index.html"; std::replace(web_path.begin(), web_path.end(), '\\', '/'); web_path = "file://" + web_path; - web_path += "?access_code=" + get_cc2_token(config->opt_string("printhost_apikey")); - web_path += "&ip=" + get_host_from_url(host) + "&id=elegoo_123456"; + + const std::string token = get_cc2_token(config->opt_string("printhost_apikey")); + const std::string host_ip = get_host_from_url(host); + + // Pass sn= so the panel can subscribe to the correct MQTT topics. + std::string sn = lookup_cc2_serial(config); + if (sn.empty()) { + std::string error_msg; + auto http = Http::get("http://" + host_ip + "/system/info?X-Token=" + escape_string(token)); + http.timeout_connect(3).timeout_max(5); + http.header("X-Token", token); + http.header("Accept", "application/json"); + http.on_complete([&](std::string body, unsigned /*status*/) { + parse_cc2_response(body, error_msg, &sn); + }).perform_sync(); + if (!sn.empty()) + persist_sn(host_ip, token, sn); + } + + web_path += "?access_code=" + token; + web_path += "&ip=" + host_ip; + if (!sn.empty()) + web_path += "&sn=" + sn; + web_path += "&id=elegoo_123456"; const std::string lang = GUI::wxGetApp().current_language_code_safe().utf8_string(); if (!lang.empty()) @@ -376,33 +470,9 @@ namespace Slic3r { std::string ElegooLink::get_sn() const { - if (classify_printer_model(m_printerModel) != ElegooPrinterType::CC2) - return ""; - - const char* name = get_name(); - std::string sn; - const auto token = cc2_token(); - auto http = Http::get(make_cc2_info_url()); - http.timeout_connect(10) - .timeout_max(15); - http.header("X-Token", token); - http.header("Accept", "application/json"); - http.on_error([&](std::string body, std::string error, unsigned status) { - BOOST_LOG_TRIVIAL(error) << boost::format("%1%: Error getting CC2 device info for SN: %2%, HTTP %3%, body: `%4%`") % name % error % status % body; - }) - .on_complete([&](std::string body, unsigned status) { - std::string error_message; - if (!parse_cc2_response(body, error_message, &sn)) { - BOOST_LOG_TRIVIAL(warning) << boost::format("%1%: Failed to parse CC2 SN response, HTTP %2%, reason: %3%") % name % status % error_message; - sn.clear(); - } - }) -#ifdef WIN32 - .ssl_revoke_best_effort(m_ssl_revoke_best_effort) -#endif // WIN32 - .perform_sync(); - - return sn; + // Panel IPC calls this on every load with a 10s timeout. Never block on HTTP + // here — URL sn= and dev_sn must be enough; HTTP is only for get_print_host_webui. + return lookup_cc2_serial_impl(m_printerModel, m_host, m_apikey); } bool ElegooLink::elegoo_test(wxString& msg) const{ @@ -481,6 +551,7 @@ namespace Slic3r { msg = format_error(body, error_message.empty() ? "CC2 device not detected" : error_message, status); return; } + persist_sn(get_host_from_url(m_host), token, serial_number); res = true; }) #ifdef WIN32 From f593d97f31ce3d0c53b8b28c7a446ec7c395b9c9 Mon Sep 17 00:00:00 2001 From: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com> Date: Thu, 28 May 2026 13:50:44 +0100 Subject: [PATCH 22/69] Disable slowdown for curled perimeters as a default setting. Expand tooltip with tuning recommendations. (#13870) --- src/libslic3r/PrintConfig.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 9617c9866f..e1e8252bdb 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1519,14 +1519,20 @@ void PrintConfigDef::init_fff_params() "For example, additional slowdown will be applied when printing overhangs on sharp corners like the " "front of the Benchy hull, reducing curling which compounds over multiple layers.\n\n" "It is generally recommended to have this option switched on unless your printer cooling is powerful enough or the " - "print speed slow enough that perimeter curling does not happen. If printing with a high external perimeter speed, " - "this parameter may introduce slight artifacts when slowing down due to the large variance in print speeds. " - "If you notice artifacts, ensure your pressure advance is tuned correctly.\n\n" + "print speed is slow enough that perimeter curling does not happen. \n" + "If printing with a high external perimeter speed, this parameter may introduce wall artifacts when slowing down, " + "due to the potentially large variance in print speeds causing the extruder to be unable to keep up with the requested flow change.\n" + "Root cause of these artefacts is most likely PA tuning being slightly off, especially when combined " + "with a high PA smooth time.\n\n" + "Recommendations when enabling this option:\n" + "1. Reduce Pressure Advance smooth time to 0.015 - 0.02 so the extruder reacts quickly to the speed changes.\n" + "2. Increase the minimum print speeds to limit the magnitude of the slowdown and reduce the variance between fast and slow segments.\n" + "3. If artifacts still appear, enable Extrusion Rate Smoothing (ERS) to further smooth the flow transitions.\n\n" "Note: When this option is enabled, overhang perimeters are treated like overhangs, meaning the overhang speed is " "applied even if the overhanging perimeter is part of a bridge. For example, when the perimeters are 100% overhanging" ", with no wall supporting them from underneath, the 100% overhang speed will be applied."); def->mode = comAdvanced; - def->set_default_value(new ConfigOptionBool{ true }); + def->set_default_value(new ConfigOptionBool{ false }); def = this->add("overhang_1_4_speed", coFloatOrPercent); def->label = "10%"; From 400044534521b99b6e42fef1a4cf5646172b7c4d Mon Sep 17 00:00:00 2001 From: mrmees <38006194+mrmees@users.noreply.github.com> Date: Thu, 28 May 2026 09:09:15 -0500 Subject: [PATCH 23/69] Fix total_toolchanges placeholder being 0 without a wipe tower (#13895) * fix: populate total_toolchanges without a wipe tower total_toolchanges is documented as available while change_filament_gcode (and the wipe-tower toolchange flow) is evaluated, but it was sourced only from WipeTowerData::number_of_toolchanges, which stays -1 (clamped to 0) when no wipe tower is generated. Manual filament swaps and toolchanger/IDEX setups without a wipe tower therefore always saw total_toolchanges = 0 in custom G-code and output filenames, despite real tool changes occurring -- breaking the placeholder's documented contract. Add a tool-ordering fallback: when number_of_toolchanges < 0, count tool changes from the print's tool ordering (the transitions in the per-layer extruder sequence). Wipe-tower prints are untouched -- number_of_toolchanges >= 0 still wins -- so their reported count does not change. Limitation: sequential (by-object) prints without a wipe tower leave Print::tool_ordering() empty, so total_toolchanges stays 0 there (unchanged from before). Co-Authored-By: Claude Opus 4.7 (1M context) --- src/libslic3r/GCode.cpp | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index b6a2ddb665..359052bc96 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2278,17 +2278,45 @@ namespace DoExport { ooze_prevention.enable = print.config().ooze_prevention.value && ! print.config().single_extruder_multi_material; } + // Count tool/filament changes across the print from the tool ordering. Used as a fallback when no + // wipe tower populated WipeTowerData::number_of_toolchanges (left at -1). Covers non-sequential + // prints without a wipe tower (manual swaps, toolchanger/IDEX). Note: sequential (by-object) prints + // leave print.tool_ordering() empty, so total_toolchanges stays 0 there (unchanged from before). + static int total_toolchanges_from_ordering(const ToolOrdering &tool_ordering) + { + int changes = 0; + int last = -1; + for (const LayerTools < : tool_ordering) + for (unsigned int extruder : lt.extruders) { + if (last >= 0 && int(extruder) != last) + ++ changes; + last = int(extruder); + } + return changes; + } + + // Total tool changes for the print, preferring the wipe-tower count and falling back to the tool + // ordering when no wipe tower populated it (number_of_toolchanges < 0). + static int resolve_total_toolchanges(const WipeTowerData &wipe_tower_data, const ToolOrdering &tool_ordering) + { + int changes = wipe_tower_data.number_of_toolchanges; + if (changes < 0) + changes = total_toolchanges_from_ordering(tool_ordering); + return std::max(0, changes); + } + // Fill in print_statistics and return formatted string containing filament statistics to be inserted into G-code comment section. static std::string update_print_stats_and_format_filament_stats( const bool has_wipe_tower, const WipeTowerData &wipe_tower_data, const std::vector &extruders, - PrintStatistics &print_statistics) + PrintStatistics &print_statistics, + const ToolOrdering &tool_ordering) { std::string filament_stats_string_out; print_statistics.clear(); - print_statistics.total_toolchanges = std::max(0, wipe_tower_data.number_of_toolchanges); + print_statistics.total_toolchanges = resolve_total_toolchanges(wipe_tower_data, tool_ordering); if (! extruders.empty()) { std::pair out_filament_used_mm ("; filament used [mm] = ", 0); std::pair out_filament_used_cm3("; filament used [cm3] = ", 0); @@ -2858,7 +2886,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato // For the start / end G-code to do the priming and final filament pull in case there is no wipe tower provided. this->placeholder_parser().set("has_wipe_tower", has_wipe_tower); this->placeholder_parser().set("has_single_extruder_multi_material_priming", wipe_tower_type == WipeTowerType::Type2 && has_wipe_tower && print.config().single_extruder_multi_material_priming); - this->placeholder_parser().set("total_toolchanges", std::max(0, print.wipe_tower_data().number_of_toolchanges)); // Check for negative toolchanges (single extruder mode) and set to 0 (no tool change). + this->placeholder_parser().set("total_toolchanges", DoExport::resolve_total_toolchanges(print.wipe_tower_data(), print.tool_ordering())); this->placeholder_parser().set("num_extruders", int(print.config().nozzle_diameter.values.size())); this->placeholder_parser().set("retract_length", new ConfigOptionFloats(print.config().retraction_length)); @@ -3473,7 +3501,9 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato has_wipe_tower, print.wipe_tower_data(), m_writer.extruders(), // Modifies - print.m_print_statistics)); + print.m_print_statistics, + // Const input (tool-change fallback for non-wipe-tower prints) + print.tool_ordering())); print.m_print_statistics.initial_tool = initial_extruder_id; if (!is_bbl_printers) { file.write_format("; total filament used [g] = %.2lf\n", From 3275bb709b76c426e67a962438c743045aa14d31 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Thu, 28 May 2026 22:27:45 +0800 Subject: [PATCH 24/69] Revert "Add indentation check to profile workflow (#13417)" --- .github/workflows/check_profiles.yml | 53 ++-------------------------- 1 file changed, 2 insertions(+), 51 deletions(-) diff --git a/.github/workflows/check_profiles.yml b/.github/workflows/check_profiles.yml index 806470b18b..84a396d7a3 100644 --- a/.github/workflows/check_profiles.yml +++ b/.github/workflows/check_profiles.yml @@ -34,46 +34,6 @@ jobs: python3 ./scripts/orca_extra_profile_check.py 2>&1 | tee ${{ runner.temp }}/extra_json_check.log exit ${PIPESTATUS[0]} - - name: Check profile indentation - id: indentation_check - continue-on-error: true - run: | - set +e - python3 - <<'PY' 2>&1 | tee ${{ runner.temp }}/indentation_check.log - import re - from pathlib import Path - import sys - - profiles_root = Path("resources/profiles") - invalid_files = [] - - for file_path in sorted(profiles_root.rglob("*.json")): - try: - for line_number, line in enumerate(file_path.read_text(encoding="utf-8").splitlines(), start=1): - if not line.strip(): - continue - leading_ws = re.match(r"^[ \t]*", line).group(0) - if " " in leading_ws: - invalid_files.append((file_path, line_number)) - break - except Exception as exc: - print(f"[ERROR] Unable to read {file_path}: {exc}") - invalid_files.append((file_path, 0)) - - if invalid_files: - for path, line in invalid_files: - if line > 0: - print(f"[ERROR] Space indentation found in {path}:{line}") - else: - print(f"[ERROR] Could not validate indentation in {path}") - print("Use tab indentation in profile JSON files (1 tab per indentation level).") - print("Tip: run python3 ./scripts/orca_filament_lib.py --fix --force to normalize formatting.") - sys.exit(1) - - print("All profile JSON files use tab-only indentation.") - PY - exit ${PIPESTATUS[0]} - # download - name: Download working-directory: ${{ github.workspace }} @@ -108,7 +68,7 @@ jobs: echo "${{ github.event.pull_request.number }}" > ${{ runner.temp }}/profile-check-results/pr_number.txt - name: Prepare comment artifact - if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.indentation_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }} + if: ${{ always() && github.event_name == 'pull_request' && (steps.extra_json_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }} run: | { # Marker matched by check_profiles_comment.yml to delete prior comments. @@ -125,15 +85,6 @@ jobs: echo "" fi - if [ "${{ steps.indentation_check.outcome }}" = "failure" ]; then - echo "### Indentation Check Failed" - echo "" - echo '```' - head -c 30000 ${{ runner.temp }}/indentation_check.log || echo "No output captured" - echo '```' - echo "" - fi - if [ "${{ steps.validate_system.outcome }}" = "failure" ]; then echo "### System Profile Validation Failed" echo "" @@ -165,7 +116,7 @@ jobs: retention-days: 1 - name: Fail if any check failed - if: ${{ always() && (steps.extra_json_check.outcome == 'failure' || steps.indentation_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }} + if: ${{ always() && (steps.extra_json_check.outcome == 'failure' || steps.validate_system.outcome == 'failure' || steps.validate_custom.outcome == 'failure') }} run: | echo "One or more profile checks failed. See above for details." exit 1 From 67b9f076554b9a56dbd61922be10fb9b77be3775 Mon Sep 17 00:00:00 2001 From: mrmees <38006194+mrmees@users.noreply.github.com> Date: Thu, 28 May 2026 09:29:16 -0500 Subject: [PATCH 25/69] Fix built-in placeholders missing from custom G-code and output filenames (#13892) * fix: restore version placeholder in custom G-code PlaceholderParser sets "version" in its constructor, but Print::apply() calls clear_config() which wipes it. Unlike timestamp/user (restored during G-code export), version was never restored, so [version]/{version} threw "Variable does not exist" in custom G-code while working in output filenames. Re-set version after both clear_config() calls so it resolves everywhere. Co-Authored-By: Claude Opus 4.7 (1M context) * fix: resolve timestamp and user placeholders in File header G-code file_start_gcode is processed via print.placeholder_parser() directly, before the G-code parser integration copy that restores timestamp/user. As a result {timestamp}, {year}..{second} and {user} threw "Variable does not exist" in the File header G-code field while working in Machine start/end G-code. Inject fresh timestamp and user into the file_start_gcode config so they resolve, matching the other custom G-code fields. Co-Authored-By: Claude Opus 4.7 (1M context) * fix: expose initial_extruder and extruded_*_total placeholders in output filenames PrintStatistics exposed initial_tool (not its documented alias initial_extruder) and total_weight/extruded_volume (not the documented extruded_weight_total/extruded_volume_total). Filename formats using the missing names failed with "not a variable name". Add the missing aliases to PrintStatistics::config() and placeholders(). Fixes #12436 Fixes #10708 Co-Authored-By: Claude Opus 4.7 (1M context) --- src/libslic3r/GCode.cpp | 3 +++ src/libslic3r/Print.cpp | 7 +++++-- src/libslic3r/PrintApply.cpp | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 359052bc96..867f324301 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2549,6 +2549,9 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato std::string top_gcode_template = print.config().file_start_gcode.value; if (!top_gcode_template.empty()) { DynamicConfig top_config; + // file_start_gcode runs before the parser copy that normally restores these, so set them here. + PlaceholderParser::update_timestamp(top_config); + PlaceholderParser::update_user_name(top_config); top_config.set_key_value("print_time_sec", new ConfigOptionString(GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Print_Time_Sec_Placeholder))); top_config.set_key_value("used_filament_length", new ConfigOptionString(GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Used_Filament_Length_Placeholder))); std::string top_gcode = print.placeholder_parser().process(top_gcode_template, 0, &top_config); diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 9d8b1c4cf7..a335e29b82 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -3609,9 +3609,12 @@ DynamicConfig PrintStatistics::config() const config.set_key_value("total_cost", new ConfigOptionFloat(this->total_cost)); config.set_key_value("total_toolchanges", new ConfigOptionInt(this->total_toolchanges)); config.set_key_value("total_weight", new ConfigOptionFloat(this->total_weight)); + config.set_key_value("extruded_weight_total", new ConfigOptionFloat(this->total_weight)); + config.set_key_value("extruded_volume_total", new ConfigOptionFloat(this->total_extruded_volume)); config.set_key_value("total_wipe_tower_cost", new ConfigOptionFloat(this->total_wipe_tower_cost)); config.set_key_value("total_wipe_tower_filament", new ConfigOptionFloat(this->total_wipe_tower_filament)); config.set_key_value("initial_tool", new ConfigOptionInt(static_cast(this->initial_tool))); + config.set_key_value("initial_extruder", new ConfigOptionInt(static_cast(this->initial_tool))); return config; } @@ -3620,8 +3623,8 @@ DynamicConfig PrintStatistics::placeholders() DynamicConfig config; for (const std::string key : { "print_time", "normal_print_time", "silent_print_time", - "used_filament", "extruded_volume", "total_cost", "total_weight", - "initial_tool", "total_toolchanges", "total_wipe_tower_cost", "total_wipe_tower_filament"}) + "used_filament", "extruded_volume", "extruded_volume_total", "total_cost", "total_weight", "extruded_weight_total", + "initial_tool", "initial_extruder", "total_toolchanges", "total_wipe_tower_cost", "total_wipe_tower_filament"}) config.set_key_value(key, new ConfigOptionString(std::string("{") + key + "}")); return config; } diff --git a/src/libslic3r/PrintApply.cpp b/src/libslic3r/PrintApply.cpp index c9b500a85c..8f153c3037 100644 --- a/src/libslic3r/PrintApply.cpp +++ b/src/libslic3r/PrintApply.cpp @@ -1254,6 +1254,8 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_ BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(" %1%: found full_config_diff changed.")%__LINE__; update_apply_status(this->invalidate_step(psGCodeExport)); m_placeholder_parser.clear_config(); + // clear_config() wiped the constructor-set "version"; restore it for custom G-code. + m_placeholder_parser.set("version", std::string(SoftFever_VERSION)); // Set the profile aliases for the PrintBase::output_filename() m_placeholder_parser.set("print_preset", new_full_config.option("print_settings_id")->clone()); m_placeholder_parser.set("filament_preset", new_full_config.option("filament_settings_id")->clone()); @@ -1630,6 +1632,8 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_ BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(" %1%: full_config_diff previous empty, need to apply now.")%__LINE__; m_placeholder_parser.clear_config(); + // clear_config() wiped the constructor-set "version"; restore it for custom G-code. + m_placeholder_parser.set("version", std::string(SoftFever_VERSION)); // Set the profile aliases for the PrintBase::output_filename() m_placeholder_parser.set("print_preset", new_full_config.option("print_settings_id")->clone()); m_placeholder_parser.set("filament_preset", new_full_config.option("filament_settings_id")->clone()); From 7999bbd819f87c350d40c00c26ae808bd1ac6dc9 Mon Sep 17 00:00:00 2001 From: Mitchell Mashburn <128167557+re3Dev@users.noreply.github.com> Date: Thu, 28 May 2026 11:25:47 -0500 Subject: [PATCH 26/69] Fix naming of re:3D cover pictures to match printer model. (#13907) * Fix naming of cover pictures to match printer model. * Rename buildplate textures. --- .../profiles/re3D/machine/re3D GigabotX 2 XLT.json | 2 +- .../profiles/re3D/machine/re3D GigabotX 2.json | 2 +- .../profiles/re3D/machine/re3D TerabotX 2.json | 2 +- ...g => re3D GigabotX 2 XLT_buildplate_texture.svg} | 0 ... XLT_cover.png => re3D GigabotX 2 XLT_cover.png} | Bin ...e.svg => re3D GigabotX 2_buildplate_texture.svg} | 0 ...gabot X2_cover.png => re3D GigabotX 2_cover.png} | Bin ...e.svg => re3D TerabotX 2_buildplate_texture.svg} | 0 ...rabot X2_cover.png => re3D TerabotX 2_cover.png} | Bin 9 files changed, 3 insertions(+), 3 deletions(-) rename resources/profiles/re3D/{re3D Gigabot X2 XLT_buildplate_texture.svg => re3D GigabotX 2 XLT_buildplate_texture.svg} (100%) rename resources/profiles/re3D/{re3D Gigabot X2 XLT_cover.png => re3D GigabotX 2 XLT_cover.png} (100%) rename resources/profiles/re3D/{re3D Gigabot X2_buildplate_texture.svg => re3D GigabotX 2_buildplate_texture.svg} (100%) rename resources/profiles/re3D/{re3D Gigabot X2_cover.png => re3D GigabotX 2_cover.png} (100%) rename resources/profiles/re3D/{re3D Terabot X2_buildplate_texture.svg => re3D TerabotX 2_buildplate_texture.svg} (100%) rename resources/profiles/re3D/{re3D Terabot X2_cover.png => re3D TerabotX 2_cover.png} (100%) diff --git a/resources/profiles/re3D/machine/re3D GigabotX 2 XLT.json b/resources/profiles/re3D/machine/re3D GigabotX 2 XLT.json index bfd396ec3c..09a2702f3a 100644 --- a/resources/profiles/re3D/machine/re3D GigabotX 2 XLT.json +++ b/resources/profiles/re3D/machine/re3D GigabotX 2 XLT.json @@ -7,7 +7,7 @@ "machine_tech": "FGF", "family": "re3D", "bed_model": "", - "bed_texture": "re3D Gigabot X2 XLT_buildplate_texture.svg", + "bed_texture": "re3D GigabotX 2 XLT_buildplate_texture.svg", "hotend_model": "GBX-HOTEND.stl", "default_materials": "re3D Greengate rPETG;re3D rPP;" } diff --git a/resources/profiles/re3D/machine/re3D GigabotX 2.json b/resources/profiles/re3D/machine/re3D GigabotX 2.json index 71da64c8c3..cc1470ee05 100644 --- a/resources/profiles/re3D/machine/re3D GigabotX 2.json +++ b/resources/profiles/re3D/machine/re3D GigabotX 2.json @@ -7,7 +7,7 @@ "machine_tech": "FGF", "family": "re3D", "bed_model": "", - "bed_texture": "re3D Gigabot X2_buildplate_texture.svg", + "bed_texture": "re3D GigabotX 2_buildplate_texture.svg", "hotend_model": "GBX-HOTEND.stl", "default_materials": "re3D Greengate rPETG;re3D rPP;" } diff --git a/resources/profiles/re3D/machine/re3D TerabotX 2.json b/resources/profiles/re3D/machine/re3D TerabotX 2.json index 24624971ec..9d8d0b2cb4 100644 --- a/resources/profiles/re3D/machine/re3D TerabotX 2.json +++ b/resources/profiles/re3D/machine/re3D TerabotX 2.json @@ -7,7 +7,7 @@ "machine_tech": "FGF", "family": "re3D", "bed_model": "", - "bed_texture": "re3D Terabot X2_buildplate_texture.svg", + "bed_texture": "re3D TerabotX 2_buildplate_texture.svg", "hotend_model": "GBX-HOTEND.stl", "default_materials": "re3D Greengate rPETG;re3D rPP;" } diff --git a/resources/profiles/re3D/re3D Gigabot X2 XLT_buildplate_texture.svg b/resources/profiles/re3D/re3D GigabotX 2 XLT_buildplate_texture.svg similarity index 100% rename from resources/profiles/re3D/re3D Gigabot X2 XLT_buildplate_texture.svg rename to resources/profiles/re3D/re3D GigabotX 2 XLT_buildplate_texture.svg diff --git a/resources/profiles/re3D/re3D Gigabot X2 XLT_cover.png b/resources/profiles/re3D/re3D GigabotX 2 XLT_cover.png similarity index 100% rename from resources/profiles/re3D/re3D Gigabot X2 XLT_cover.png rename to resources/profiles/re3D/re3D GigabotX 2 XLT_cover.png diff --git a/resources/profiles/re3D/re3D Gigabot X2_buildplate_texture.svg b/resources/profiles/re3D/re3D GigabotX 2_buildplate_texture.svg similarity index 100% rename from resources/profiles/re3D/re3D Gigabot X2_buildplate_texture.svg rename to resources/profiles/re3D/re3D GigabotX 2_buildplate_texture.svg diff --git a/resources/profiles/re3D/re3D Gigabot X2_cover.png b/resources/profiles/re3D/re3D GigabotX 2_cover.png similarity index 100% rename from resources/profiles/re3D/re3D Gigabot X2_cover.png rename to resources/profiles/re3D/re3D GigabotX 2_cover.png diff --git a/resources/profiles/re3D/re3D Terabot X2_buildplate_texture.svg b/resources/profiles/re3D/re3D TerabotX 2_buildplate_texture.svg similarity index 100% rename from resources/profiles/re3D/re3D Terabot X2_buildplate_texture.svg rename to resources/profiles/re3D/re3D TerabotX 2_buildplate_texture.svg diff --git a/resources/profiles/re3D/re3D Terabot X2_cover.png b/resources/profiles/re3D/re3D TerabotX 2_cover.png similarity index 100% rename from resources/profiles/re3D/re3D Terabot X2_cover.png rename to resources/profiles/re3D/re3D TerabotX 2_cover.png From d279e241f6288b9ab79d86d476e838093c06b72e Mon Sep 17 00:00:00 2001 From: TheLegendTubaGuy <95944177+thelegendtubaguy@users.noreply.github.com> Date: Thu, 28 May 2026 09:26:34 -0700 Subject: [PATCH 27/69] Fix Kobra 3 Max bed exclusion zones (#13879) --- .../Anycubic Kobra 3 Max 0.4 nozzle.json | 27 +++++++++++++++---- .../Anycubic Kobra 3 Max 0.6 nozzle.json | 27 +++++++++++++++---- .../Anycubic Kobra 3 Max 0.8 nozzle.json | 27 +++++++++++++++---- 3 files changed, 66 insertions(+), 15 deletions(-) diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.4 nozzle.json index 56daf84d1b..8a776dfcfb 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.4 nozzle.json @@ -33,10 +33,10 @@ "disable_m73": "0", "gcode_flavor": "klipper", "printable_area": [ - "3x0", - "423x0", - "423x420", - "3x420" + "0x0", + "426x0", + "426x420", + "0x420" ], "printable_height": "501", "thumbnails": "230x110/PNG", @@ -48,7 +48,24 @@ "bbl_use_printhost": "0", "bed_custom_model": "", "bed_custom_texture": "", - "bed_exclude_area": [], + "bed_exclude_area": [ + "0x0", + "3x0", + "3x420", + "0x420", + "0x0", + "423x0", + "423x0", + "423x0", + "423x0", + "426x0", + "426x420", + "423x420", + "423x0", + "0x0", + "0x0", + "0x0" + ], "bed_mesh_max": "0,0", "bed_mesh_min": "0,0", "bed_mesh_probe_distance": "0,0", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.6 nozzle.json index 9133572645..8346ccf3e7 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.6 nozzle.json @@ -23,10 +23,10 @@ "disable_m73": "0", "gcode_flavor": "klipper", "printable_area": [ - "3x0", - "423x0", - "423x420", - "3x420" + "0x0", + "426x0", + "426x420", + "0x420" ], "printable_height": "501", "thumbnails": "230x110/PNG", @@ -38,7 +38,24 @@ "bbl_use_printhost": "0", "bed_custom_model": "", "bed_custom_texture": "", - "bed_exclude_area": [], + "bed_exclude_area": [ + "0x0", + "3x0", + "3x420", + "0x420", + "0x0", + "423x0", + "423x0", + "423x0", + "423x0", + "426x0", + "426x420", + "423x420", + "423x0", + "0x0", + "0x0", + "0x0" + ], "bed_mesh_max": "0,0", "bed_mesh_min": "0,0", "bed_mesh_probe_distance": "0,0", diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.8 nozzle.json index f0b0fc9cde..97aef7dcac 100644 --- a/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra 3 Max 0.8 nozzle.json @@ -23,10 +23,10 @@ "disable_m73": "0", "gcode_flavor": "klipper", "printable_area": [ - "3x0", - "423x0", - "423x420", - "3x420" + "0x0", + "426x0", + "426x420", + "0x420" ], "printable_height": "501", "thumbnails": "230x110/PNG", @@ -38,7 +38,24 @@ "bbl_use_printhost": "0", "bed_custom_model": "", "bed_custom_texture": "", - "bed_exclude_area": [], + "bed_exclude_area": [ + "0x0", + "3x0", + "3x420", + "0x420", + "0x0", + "423x0", + "423x0", + "423x0", + "423x0", + "426x0", + "426x420", + "423x420", + "423x0", + "0x0", + "0x0", + "0x0" + ], "bed_mesh_max": "0,0", "bed_mesh_min": "0,0", "bed_mesh_probe_distance": "0,0", From e514b60ea6e2909502f4ff9ed706e4e1fb45c29b Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Thu, 28 May 2026 17:15:21 -0300 Subject: [PATCH 28/69] Slow down for curled perimeters Desc fix (#13918) --- src/libslic3r/PrintConfig.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index e1e8252bdb..cc1fb1a7f8 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1515,22 +1515,22 @@ void PrintConfigDef::init_fff_params() def->label = L("Slow down for curled perimeters"); def->category = L("Speed"); // xgettext:no-c-format, no-boost-format - def->tooltip = L("Enable this option to slow down printing in areas where perimeters may have curled upwards. " + def->tooltip = L("Enable this option to slow down printing in areas where perimeters may have curled upwards.\n" "For example, additional slowdown will be applied when printing overhangs on sharp corners like the " "front of the Benchy hull, reducing curling which compounds over multiple layers.\n\n" "It is generally recommended to have this option switched on unless your printer cooling is powerful enough or the " "print speed is slow enough that perimeter curling does not happen. \n" "If printing with a high external perimeter speed, this parameter may introduce wall artifacts when slowing down, " "due to the potentially large variance in print speeds causing the extruder to be unable to keep up with the requested flow change.\n" - "Root cause of these artefacts is most likely PA tuning being slightly off, especially when combined " + "Root cause of these artifacts is most likely PA tuning being slightly off, especially when combined " "with a high PA smooth time.\n\n" "Recommendations when enabling this option:\n" "1. Reduce Pressure Advance smooth time to 0.015 - 0.02 so the extruder reacts quickly to the speed changes.\n" "2. Increase the minimum print speeds to limit the magnitude of the slowdown and reduce the variance between fast and slow segments.\n" "3. If artifacts still appear, enable Extrusion Rate Smoothing (ERS) to further smooth the flow transitions.\n\n" "Note: When this option is enabled, overhang perimeters are treated like overhangs, meaning the overhang speed is " - "applied even if the overhanging perimeter is part of a bridge. For example, when the perimeters are 100% overhanging" - ", with no wall supporting them from underneath, the 100% overhang speed will be applied."); + "applied even if the overhanging perimeter is part of a bridge.\n" + "For example, when the perimeters are 100% overhanging, with no wall supporting them from underneath, the 100% overhang speed will be applied."); def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool{ false }); From d3b110ebf6e8dfd212d56d5219ca01b220c6f71a Mon Sep 17 00:00:00 2001 From: TheLegendTubaGuy <95944177+thelegendtubaguy@users.noreply.github.com> Date: Thu, 28 May 2026 16:25:09 -0700 Subject: [PATCH 29/69] Remove hardcoded Qidi Max 4 input shaper (#13864) --- resources/profiles/Qidi/machine/Qidi X-Max 4 0.4 nozzle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Qidi/machine/Qidi X-Max 4 0.4 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Max 4 0.4 nozzle.json index 353a3a0674..61b143aa42 100644 --- a/resources/profiles/Qidi/machine/Qidi X-Max 4 0.4 nozzle.json +++ b/resources/profiles/Qidi/machine/Qidi X-Max 4 0.4 nozzle.json @@ -57,7 +57,7 @@ "machine_max_speed_y": [ "800" ], - "machine_start_gcode": ";===== PRINT_PHASE_INIT =====\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\nSET_PRINT_MAIN_STATUS MAIN_STATUS=print_start\nM220 S100\nM221 S100\nSET_INPUT_SHAPER SHAPER_TYPE_X=mzv\nSET_INPUT_SHAPER SHAPER_TYPE_Y=mzv\nDISABLE_ALL_SENSOR\nM1002 R1\nM107\nCLEAR_PAUSE\nM140 S[bed_temperature_initial_layer_single]\nM141 S[chamber_temperature]\nG29.0\nSET_PRINT_SUB_STATUS SUB_STATUS=tool_head_reset\nG28\n\n;===== BOX_PREPAR =====\nSET_PRINT_SUB_STATUS SUB_STATUS=change_filament\nBOX_PRINT_START EXTRUDER=[initial_no_support_extruder] HOTENDTEMP={nozzle_temperature_range_high[initial_tool]}\nM400\nEXTRUSION_AND_FLUSH HOTEND=[nozzle_temperature_initial_layer]\n\n;===== CLEAR_NOZZLE =====\nSET_PRINT_SUB_STATUS SUB_STATUS=flush_filament\nG1 Z20 F480\nMOVE_TO_TRASH\nG1 Y403.5 F2000\n{if chamber_temperature[0] == 0}\nM106 P3 S[during_print_exhaust_fan_speed]\n{else}\nM106 P3 S0\n{endif}\nM1004\nM106 S0\nM109 S[nozzle_temperature_initial_layer]\nG92 E0\nM83\nG1 E5 F80\nG1 E250 F300\nM400\nM106 S255\nG1 E-3 F1000\nM104 S140\nSET_PRINT_SUB_STATUS SUB_STATUS=clear_nozzle\nM109.1 S{nozzle_temperature_initial_layer[0]-30}\nM204 S10000\nG1 Y403 F2000\nG1 X163 F8000\nG1 X145 F5000\nG1 X163 F8000\nG1 X145 F5000\nG1 X175 F6000\nG1 X163\nG1 X175\nG1 X163\nG1 X175\nG1 X163\nG1 X180 F10000\nG1 Y395 F6000\nG1 X188\nG1 Z-0.2 F480\nM106 S255\nM109.1 S150\nG91\nG1 X15 F200\nG1 Y2\nG1 X-15\nG1 Y-2\nG1 X15\nG90\nG2 I0.5 J0.5 F480\nG2 I0.5 J0.5\nG2 I0.5 J0.5\nG1 Z10\nG1 Y383 F12000\nG1 X116\nG1 Y403\nG1 X163 F8000\nG1 X145 F5000\nG1 X163 F8000\nG1 X145 F5000\nG1 X175 F6000\nG1 X163\nG1 X175\nG1 X163\nG1 X175\nG1 X163\nG1 X180 F10000\nG1 X195 Y195\nM106 S0\nSET_PRINT_SUB_STATUS SUB_STATUS=wait_bed_temp\nM190 S[bed_temperature_initial_layer_single]\nSET_PRINT_SUB_STATUS SUB_STATUS=wait_chamber_temp\nM191 S[chamber_temperature]\nG1 Y0 F15000\nG1 X15\nG1 X3 F5000\nG4 P1000\nG1 X4 F1000\nG1 X3 F5000\nG4 P1000\nG1 E-4 F1800\nG1 X15 F3000\nG1 X20 Y20 F15000\nSET_PRINT_SUB_STATUS SUB_STATUS=z_tilt_adjust\nZ_TILT_ADJUST\nSET_PRINT_SUB_STATUS SUB_STATUS=auto_bed_adjust\nG29\nM1002 A1\nG1 X195 Y195 Z10 F20000\nG92_ Z{10 - ((nozzle_temperature_initial_layer[initial_tool] - 130) / 14 - 5.0) / 100}\nG0 Y1\nM109 S[nozzle_temperature_initial_layer]\nENABLE_ALL_SENSOR\n\n;===== PRINT_START =====\n; LAYER_HEIGHT: 0.2\nT[initial_tool]\nM140 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nM141 S[chamber_temperature]\nG4 P3000\nprobe samples=1\nG91\nG0 Z0.6 F480\nG90\nG1 X175 Y1 F20000\nG1 E5 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053*60}\nG1 X215 E20 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053*60}\nG1 Z1 F480\nSET_PRINT_MAIN_STATUS MAIN_STATUS=printing", + "machine_start_gcode": ";===== PRINT_PHASE_INIT =====\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\nSET_PRINT_MAIN_STATUS MAIN_STATUS=print_start\nM220 S100\nM221 S100\nDISABLE_ALL_SENSOR\nM1002 R1\nM107\nCLEAR_PAUSE\nM140 S[bed_temperature_initial_layer_single]\nM141 S[chamber_temperature]\nG29.0\nSET_PRINT_SUB_STATUS SUB_STATUS=tool_head_reset\nG28\n\n;===== BOX_PREPAR =====\nSET_PRINT_SUB_STATUS SUB_STATUS=change_filament\nBOX_PRINT_START EXTRUDER=[initial_no_support_extruder] HOTENDTEMP={nozzle_temperature_range_high[initial_tool]}\nM400\nEXTRUSION_AND_FLUSH HOTEND=[nozzle_temperature_initial_layer]\n\n;===== CLEAR_NOZZLE =====\nSET_PRINT_SUB_STATUS SUB_STATUS=flush_filament\nG1 Z20 F480\nMOVE_TO_TRASH\nG1 Y403.5 F2000\n{if chamber_temperature[0] == 0}\nM106 P3 S[during_print_exhaust_fan_speed]\n{else}\nM106 P3 S0\n{endif}\nM1004\nM106 S0\nM109 S[nozzle_temperature_initial_layer]\nG92 E0\nM83\nG1 E5 F80\nG1 E250 F300\nM400\nM106 S255\nG1 E-3 F1000\nM104 S140\nSET_PRINT_SUB_STATUS SUB_STATUS=clear_nozzle\nM109.1 S{nozzle_temperature_initial_layer[0]-30}\nM204 S10000\nG1 Y403 F2000\nG1 X163 F8000\nG1 X145 F5000\nG1 X163 F8000\nG1 X145 F5000\nG1 X175 F6000\nG1 X163\nG1 X175\nG1 X163\nG1 X175\nG1 X163\nG1 X180 F10000\nG1 Y395 F6000\nG1 X188\nG1 Z-0.2 F480\nM106 S255\nM109.1 S150\nG91\nG1 X15 F200\nG1 Y2\nG1 X-15\nG1 Y-2\nG1 X15\nG90\nG2 I0.5 J0.5 F480\nG2 I0.5 J0.5\nG2 I0.5 J0.5\nG1 Z10\nG1 Y383 F12000\nG1 X116\nG1 Y403\nG1 X163 F8000\nG1 X145 F5000\nG1 X163 F8000\nG1 X145 F5000\nG1 X175 F6000\nG1 X163\nG1 X175\nG1 X163\nG1 X175\nG1 X163\nG1 X180 F10000\nG1 X195 Y195\nM106 S0\nSET_PRINT_SUB_STATUS SUB_STATUS=wait_bed_temp\nM190 S[bed_temperature_initial_layer_single]\nSET_PRINT_SUB_STATUS SUB_STATUS=wait_chamber_temp\nM191 S[chamber_temperature]\nG1 Y0 F15000\nG1 X15\nG1 X3 F5000\nG4 P1000\nG1 X4 F1000\nG1 X3 F5000\nG4 P1000\nG1 E-4 F1800\nG1 X15 F3000\nG1 X20 Y20 F15000\nSET_PRINT_SUB_STATUS SUB_STATUS=z_tilt_adjust\nZ_TILT_ADJUST\nSET_PRINT_SUB_STATUS SUB_STATUS=auto_bed_adjust\nG29\nM1002 A1\nG1 X195 Y195 Z10 F20000\nG92_ Z{10 - ((nozzle_temperature_initial_layer[initial_tool] - 130) / 14 - 5.0) / 100}\nG0 Y1\nM109 S[nozzle_temperature_initial_layer]\nENABLE_ALL_SENSOR\n\n;===== PRINT_START =====\n; LAYER_HEIGHT: 0.2\nT[initial_tool]\nM140 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nM141 S[chamber_temperature]\nG4 P3000\nprobe samples=1\nG91\nG0 Z0.6 F480\nG90\nG1 X175 Y1 F20000\nG1 E5 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053*60}\nG1 X215 E20 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053*60}\nG1 Z1 F480\nSET_PRINT_MAIN_STATUS MAIN_STATUS=printing", "nozzle_diameter": [ "0.4" ], From 3db37d004ad8023f1a55ad4940685bd6724c911c Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Thu, 28 May 2026 23:54:26 -0300 Subject: [PATCH 30/69] Fix + Support 'Default' filament option (index 0) (#13887) * Support 'Default' filament option (index 0) Treat filament index 0 as the new "Default" (use active object/part filament) instead of using 1. Update config defaults and tooltips for wall/sparse/solid infill filament options (min/default -> 0, tooltip explains "Default"). Adjust normalization and propagation logic to respect explicit feature overrides and only apply base extruder when feature values are zero; only copy sparse->solid infill when sparse > 0. Introduce FeatureFilamentOverrideMask and clamp_feature_filament_to_valid to resolve and clamp feature filaments. Update UI lists and selection behavior to expose a "Default" entry and handle zero-based indices in PartPlate and Plater. * enable_filament_for_features option Co-Authored-By: LixNix <105106115+lixnix@users.noreply.github.com> * \n * Allow wipe_tower_filament to equal nozzle count Relax the assertion in Print::extruders to permit wipe_tower_filament == config().nozzle_diameter.size(). The configuration value is 1-based and the code subtracts 1 when pushing the extruder index, so equality should be valid and selecting the last nozzle should not trigger an assertion. * Revert "Allow wipe_tower_filament to equal nozzle count" This reverts commit 2c976574327a8bcdc74a1b296bf1aaff7752a94e. * Revert "enable_filament_for_features option" This reverts commit 01c13baeddb8e26793f752deab788ee4d086975b. * Migrate legacy feature filament defaults Add migration logic to convert legacy feature filament selections from 1 to 0 for older 3mf files. Introduces a local migrate_legacy_feature_filament_defaults lambda in src/OrcaSlicer.cpp and src/slic3r/GUI/Plater.cpp that scans keys (wall_filament, sparse_infill_filament, solid_infill_filament, support_filament, support_interface_filament) on configs/objects/volumes, updates values, counts conversions and logs the result. Also adds a Semver check for "2.4.0-dev" in OrcaSlicer to trigger the migration for files older than that version. This preserves expected default filament selections when loading older project files. * Update OrcaSlicer.cpp * Extract migration helper to ConfigMigrations Centralize legacy feature-filament default migration by moving the duplicated lambda into ConfigMigrations::migrate_legacy_feature_filament_defaults (src/libslic3r/Config.cpp) and declaring it in Config.hpp. Update OrcaSlicer.cpp and slic3r/GUI/Plater.cpp to call the new function instead of inline lambdas. The helper converts specific feature filament keys (wall_filament, sparse_infill_filament, solid_infill_filament, support_filament, support_interface_filament) from int 1 to 0 and returns the count of conversions to avoid duplicated migration logic. * Remove DynamicFilamentList1Based and consolidate lists Delete the specialized DynamicFilamentList1Based struct and its global instance. Update Choice registrations to use the single dynamic_filament_list for wall, sparse_infill and solid_infill filaments, and remove the extra update call for the removed instance. This consolidates filament choice handling and removes duplicated logic in Plater.cpp. * move it * fix objects * Update Config.hpp * Update profiles --- ...ghDetail @Anycubic Kobra 3 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.4 nozzle.json | 6 +- ...Standard @Anycubic Kobra X 0.4 nozzle.json | 6 +- ...m Detail @Anycubic Kobra 3 0.2 nozzle.json | 6 +- ...tail @Anycubic Kobra 2 Neo 0.4 nozzle.json | 6 +- ...m Detail @Anycubic Kobra 3 0.4 nozzle.json | 6 +- ...Detail @Anycubic Kobra Neo 0.4 nozzle.json | 6 +- ... Quality @Anycubic Kobra X 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.4 nozzle.json | 6 +- ...Standard @Anycubic Kobra X 0.4 nozzle.json | 6 +- ... Quality @Anycubic Kobra X 0.4 nozzle.json | 6 +- ...imal @Anycubic Kobra 2 Pro 0.4 nozzle.json | 6 +- ... Optimal @Anycubic Kobra 3 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 2 Neo 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.4 nozzle.json | 6 +- ...andard @Anycubic Kobra Neo 0.4 nozzle.json | 6 +- ...Standard @Anycubic Kobra X 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.6 nozzle.json | 6 +- ... Quality @Anycubic Kobra X 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 2 Max 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 2 Neo 0.4 nozzle.json | 6 +- ...ard @Anycubic Kobra 2 Plus 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 2 Pro 0.4 nozzle.json | 6 +- ...Standard @Anycubic Kobra 3 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.8 nozzle.json | 6 +- ...andard @Anycubic Kobra Neo 0.4 nozzle.json | 6 +- ...tandard @Anycubic Kobra S1 0.4 nozzle.json | 6 +- ...Standard @Anycubic Kobra X 0.4 nozzle.json | 6 +- ...mm Draft @Anycubic Kobra 3 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.6 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.8 nozzle.json | 6 +- ...Standard @Anycubic Kobra X 0.4 nozzle.json | 6 +- ...raft @Anycubic Kobra 2 Pro 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 2 Neo 0.4 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.4 nozzle.json | 6 +- ...andard @Anycubic Kobra Neo 0.4 nozzle.json | 6 +- ...Standard @Anycubic Kobra X 0.4 nozzle.json | 6 +- ...perDraft @Anycubic Kobra 3 0.4 nozzle.json | 6 +- ...Standard @Anycubic Kobra 3 0.6 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.6 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.8 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.6 nozzle.json | 6 +- ...Standard @Anycubic Kobra 3 0.8 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.8 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.6 nozzle.json | 6 +- ...dard @Anycubic Kobra 3 Max 0.8 nozzle.json | 6 +- ...tra Fine @Artillery M1 Pro 0.4 nozzle.json | 6 +- ... Quality @Artillery M1 Pro 0.2 nozzle.json | 6 +- ... Quality @Artillery M1 Pro 0.4 nozzle.json | 6 +- ...2mm Fine @Artillery M1 Pro 0.4 nozzle.json | 6 +- ... Quality @Artillery M1 Pro 0.4 nozzle.json | 6 +- ... Quality @Artillery M1 Pro 0.4 nozzle.json | 6 +- ... Optimal @Artillery M1 Pro 0.4 nozzle.json | 6 +- ...Standard @Artillery M1 Pro 0.4 nozzle.json | 6 +- ...Standard @Artillery X3Plus 0.4 nozzle.json | 6 +- ... Standard @Artillery X3Pro 0.4 nozzle.json | 6 +- ...Standard @Artillery X4Plus 0.4 nozzle.json | 6 +- ... Standard @Artillery X4Pro 0.4 nozzle.json | 6 +- ...Strength @Artillery M1 Pro 0.4 nozzle.json | 6 +- ...mm Draft @Artillery M1 Pro 0.4 nozzle.json | 6 +- ...mm Draft @Artillery M1 Pro 0.6 nozzle.json | 6 +- ...mm Draft @Artillery M1 Pro 0.8 nozzle.json | 6 +- ...ra Draft @Artillery M1 Pro 0.4 nozzle.json | 6 +- .../fdm_process_colidodiy40_common.json | 6 +- .../process/fdm_process_colidox16_common.json | 6 +- .../process/fdm_process_comgrow_common.json | 6 +- ...rd @Creality Ender-5 Max 0.4mm nozzle.json | 6 +- ...20mm Standard @Creality K2 0.4 nozzle.json | 6 +- ...st @Creality Ender-5 Max 0.4mm nozzle.json | 6 +- ...30mm Standard @Creality K2 0.6 nozzle.json | 6 +- ...40mm Standard @Creality K2 0.8 nozzle.json | 6 +- .../process/process template @base.json | 6 +- .../0.20mm Standard @Thinker X400.json | 6 +- .../fdm_process_eryone_ER20_common.json | 4 +- ...m Standard @Flashforge G3U 0.4 Nozzle.json | 6 +- .../Ghost7/fdm_process_common_Ghost7.json | 6 +- .../process/S1/fdm_process_common_S1.json | 6 +- .../process/fdm_process_common.json | 6 +- .../process/fdm_process_common.json | 6 +- .../EX+APS/fdm_process_common_EX+APS.json | 6 +- .../process/EX/fdm_process_common_EX.json | 6 +- .../process/HSN/fdm_process_common_HSN.json | 6 +- .../InfiMech/process/fdm_process_common.json | 6 +- .../Kingroon/process/fdm_process_common.json | 6 +- ...0mm Standard @Phrozen Arco 0.4 nozzle.json | 6 +- .../Prusa/process/process_common_mk4s.json | 6 +- src/OrcaSlicer.cpp | 15 +++- src/libslic3r/Config.hpp | 28 ++++++ src/libslic3r/PresetBundle.cpp | 10 +-- src/libslic3r/PrintConfig.cpp | 44 ++++++---- src/libslic3r/PrintObject.cpp | 87 +++++++++++++------ src/slic3r/GUI/PartPlate.cpp | 36 ++++---- src/slic3r/GUI/Plater.cpp | 73 +++++----------- 95 files changed, 433 insertions(+), 386 deletions(-) diff --git a/resources/profiles/Anycubic/process/0.08mm HighDetail @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.08mm HighDetail @Anycubic Kobra 3 0.4 nozzle.json index c97b439728..e134a64791 100644 --- a/resources/profiles/Anycubic/process/0.08mm HighDetail @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.08mm HighDetail @Anycubic Kobra 3 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "10000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "450", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index d04547062a..074fd98f18 100644 --- a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -201,10 +201,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "150", @@ -271,7 +271,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra X 0.4 nozzle.json index edc7af417f..2fcb7a8b22 100644 --- a/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.08mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.10mm Detail @Anycubic Kobra 3 0.2 nozzle.json b/resources/profiles/Anycubic/process/0.10mm Detail @Anycubic Kobra 3 0.2 nozzle.json index 63d2d1f096..f133804659 100644 --- a/resources/profiles/Anycubic/process/0.10mm Detail @Anycubic Kobra 3 0.2 nozzle.json +++ b/resources/profiles/Anycubic/process/0.10mm Detail @Anycubic Kobra 3 0.2 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.22", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "150", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "4", diff --git a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle.json index bbc320fc43..245347e3fd 100644 --- a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "150", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 3 0.4 nozzle.json index 6ed0df7676..15a0bf12b1 100644 --- a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra 3 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "30%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "10000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "430", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json index 0dd6faaac5..bf2a8d58e8 100644 --- a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "150", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra X 0.4 nozzle.json index 2aa2090e5e..df07c7fbf8 100644 --- a/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm High Quality @Anycubic Kobra X 0.4 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "3dhoneycomb", "sparse_infill_speed": "180", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index 4f323d15ca..cb3f57a159 100644 --- a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -201,10 +201,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "150", @@ -271,7 +271,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra X 0.4 nozzle.json index e6574c017d..4ec997a0db 100644 --- a/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.12mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "180", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra X 0.4 nozzle.json index 217080328f..8f75948075 100644 --- a/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm High Quality @Anycubic Kobra X 0.4 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "200", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 2 Pro 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 2 Pro 0.4 nozzle.json index 67593bc00c..12c6d8bd27 100644 --- a/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 2 Pro 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 2 Pro 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "300", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 3 0.4 nozzle.json index 9246577c30..c23132bcfb 100644 --- a/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Optimal @Anycubic Kobra 3 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "30%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "300", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json index 7576c1e7e9..a5668614a5 100644 --- a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "150", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index 1554deddd4..283b342d49 100644 --- a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -201,10 +201,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "300", @@ -271,7 +271,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json index c377f60ba1..a2725e692f 100644 --- a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "150", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra X 0.4 nozzle.json index 708ae96dec..a1b96bf53c 100644 --- a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "350", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json index 6c2996b46d..eb4fcbf0f3 100644 --- a/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.18mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.62", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra X 0.4 nozzle.json index d3e98b754a..9ec3d02de1 100644 --- a/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm High Quality @Anycubic Kobra X 0.4 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "200", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Max 0.4 nozzle.json index 7cffcc6a11..1952723c26 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Max 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "200", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json index 18b613502e..87dba6f053 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "150", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Plus 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Plus 0.4 nozzle.json index c4bdafdbbe..af476d81f4 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Plus 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Plus 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "200", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Pro 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Pro 0.4 nozzle.json index 470a72ef01..1a68255226 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Pro 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 2 Pro 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "200", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 0.4 nozzle.json index 550d9ad699..d0c88dea58 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "30%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "300", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index 69b81190bc..5eaf61f432 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -201,10 +201,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "300", @@ -271,7 +271,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json index d063d221a1..bbda2c2422 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.82", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json index 7214088457..30d5c15c5e 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "150", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 0.4 nozzle.json index 22ad731b0d..6549cf28e9 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra S1 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "270", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "outer wall/inner wall", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra X 0.4 nozzle.json index bcb53b99ff..db1ff50f64 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "300", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.24mm Draft @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Draft @Anycubic Kobra 3 0.4 nozzle.json index 3b3e49c1d9..971bd32318 100644 --- a/resources/profiles/Anycubic/process/0.24mm Draft @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Draft @Anycubic Kobra 3 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "30%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "200", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index 830feea0d8..a2619bcd50 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -201,10 +201,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "150", @@ -271,7 +271,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json index 7ff1f6f784..50c9dc9b2f 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.62", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json index f0c3dd070a..ae710a3819 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.82", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra X 0.4 nozzle.json index c6fd128b25..d10b3941c2 100644 --- a/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.24mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "230", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.28mm Draft @Anycubic Kobra 2 Pro 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Draft @Anycubic Kobra 2 Pro 0.4 nozzle.json index cf6ce5f69b..2e0a0c6882 100644 --- a/resources/profiles/Anycubic/process/0.28mm Draft @Anycubic Kobra 2 Pro 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Draft @Anycubic Kobra 2 Pro 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "120", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json index 73ea8f8696..c97ba652f2 100644 --- a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "120", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json index f06f2da123..e12f093307 100644 --- a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra 3 Max 0.4 nozzle.json @@ -201,10 +201,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "150", @@ -271,7 +271,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json index 7b8d07e938..d55474718a 100644 --- a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "120", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra X 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra X 0.4 nozzle.json index d28e2811c3..8c7d078634 100644 --- a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra X 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra X 0.4 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "200", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.28mm SuperDraft @Anycubic Kobra 3 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm SuperDraft @Anycubic Kobra 3 0.4 nozzle.json index 723f2c83f8..7ad0b29957 100644 --- a/resources/profiles/Anycubic/process/0.28mm SuperDraft @Anycubic Kobra 3 0.4 nozzle.json +++ b/resources/profiles/Anycubic/process/0.28mm SuperDraft @Anycubic Kobra 3 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "30%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "200", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 0.6 nozzle.json index 8a7b072cfc..1449960c94 100644 --- a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 0.6 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "10000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.62", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "100", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json index 487055616a..723e5f30a1 100644 --- a/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.30mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.62", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json index d17364e615..d938dcf6e9 100644 --- a/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.32mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.82", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json index d695267163..ee64ec6c4e 100644 --- a/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.36mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.62", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 0.8 nozzle.json index 413a8a58cd..d8a97a358e 100644 --- a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 0.8 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.82", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "100", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json index 13bb50eb8c..716512b2d9 100644 --- a/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.40mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.82", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json b/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json index 959de1ec00..96480e7a25 100644 --- a/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json +++ b/resources/profiles/Anycubic/process/0.42mm Standard @Anycubic Kobra 3 Max 0.6 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "80", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.62", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json b/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json index 3ecfc72bd8..72faf5285f 100644 --- a/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json +++ b/resources/profiles/Anycubic/process/0.48mm Standard @Anycubic Kobra 3 Max 0.8 nozzle.json @@ -212,10 +212,10 @@ "smooth_coefficient": "40", "smooth_speed_discontinuity_area": "1", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "5000", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.82", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -285,7 +285,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.08mm Extra Fine @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.08mm Extra Fine @Artillery M1 Pro 0.4 nozzle.json index 34f24cc3e0..93b8613da9 100644 --- a/resources/profiles/Artillery/process/0.08mm Extra Fine @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.08mm Extra Fine @Artillery M1 Pro 0.4 nozzle.json @@ -190,10 +190,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "450", @@ -251,7 +251,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", "wall_transition_angle": "10", diff --git a/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.2 nozzle.json b/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.2 nozzle.json index aeb145fbaa..5123de081a 100644 --- a/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.2 nozzle.json +++ b/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.2 nozzle.json @@ -195,10 +195,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.22", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "100", @@ -265,7 +265,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "4", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.4 nozzle.json index e2d58ef8f0..0d896ca2be 100644 --- a/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.08mm High Quality @Artillery M1 Pro 0.4 nozzle.json @@ -186,10 +186,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "spiral_mode": "0", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.12mm Fine @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.12mm Fine @Artillery M1 Pro 0.4 nozzle.json index f22b216668..245473f07c 100644 --- a/resources/profiles/Artillery/process/0.12mm Fine @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.12mm Fine @Artillery M1 Pro 0.4 nozzle.json @@ -188,10 +188,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "spiral_mode": "0", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.12mm High Quality @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.12mm High Quality @Artillery M1 Pro 0.4 nozzle.json index 1acf0b7148..bdf9bdf87d 100644 --- a/resources/profiles/Artillery/process/0.12mm High Quality @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.12mm High Quality @Artillery M1 Pro 0.4 nozzle.json @@ -187,10 +187,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "spiral_mode": "0", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.16mm High Quality @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.16mm High Quality @Artillery M1 Pro 0.4 nozzle.json index dbd94daa3e..4fe81c286d 100644 --- a/resources/profiles/Artillery/process/0.16mm High Quality @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.16mm High Quality @Artillery M1 Pro 0.4 nozzle.json @@ -188,10 +188,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "spiral_mode": "0", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery M1 Pro 0.4 nozzle.json index 1158be81a0..03c9cadacc 100644 --- a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery M1 Pro 0.4 nozzle.json @@ -191,10 +191,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "spiral_mode": "0", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery M1 Pro 0.4 nozzle.json index e1cd9210ef..dadf30880e 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery M1 Pro 0.4 nozzle.json @@ -192,10 +192,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "270", @@ -251,7 +251,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", "wall_transition_angle": "10", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Plus 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Plus 0.4 nozzle.json index d3e75d5883..3acd94ae92 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Plus 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Plus 0.4 nozzle.json @@ -181,10 +181,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "150", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "3", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Pro 0.4 nozzle.json index 176634f553..83760ac0f5 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X3Pro 0.4 nozzle.json @@ -181,10 +181,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "150", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "3", "wall_sequence": "outer wall/inner wall", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Plus 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Plus 0.4 nozzle.json index 0cf77f1a88..8268b4c684 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Plus 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Plus 0.4 nozzle.json @@ -181,10 +181,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "200", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Pro 0.4 nozzle.json index e3f2a26897..2b46ef8cc0 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X4Pro 0.4 nozzle.json @@ -181,10 +181,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "200", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.20mm Strength @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.20mm Strength @Artillery M1 Pro 0.4 nozzle.json index c5e9970026..d49c0d1cc4 100644 --- a/resources/profiles/Artillery/process/0.20mm Strength @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.20mm Strength @Artillery M1 Pro 0.4 nozzle.json @@ -189,10 +189,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "25%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "270", @@ -251,7 +251,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_sequence": "inner wall/outer wall", "wall_transition_angle": "10", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.4 nozzle.json index f85a831c92..15f13e26b3 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.4 nozzle.json @@ -186,10 +186,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "230", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.6 nozzle.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.6 nozzle.json index f328383dc3..16d057d881 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.6 nozzle.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.6 nozzle.json @@ -195,10 +195,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.62", "sparse_infill_pattern": "grid", "sparse_infill_speed": "100", @@ -265,7 +265,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.8 nozzle.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.8 nozzle.json index 01c1f25f8e..ce4ad73540 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.8 nozzle.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery M1 Pro 0.8 nozzle.json @@ -195,10 +195,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.82", "sparse_infill_pattern": "grid", "sparse_infill_speed": "100", @@ -265,7 +265,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Artillery/process/0.28mm Extra Draft @Artillery M1 Pro 0.4 nozzle.json b/resources/profiles/Artillery/process/0.28mm Extra Draft @Artillery M1 Pro 0.4 nozzle.json index f9ced6355a..dcb8998cf6 100644 --- a/resources/profiles/Artillery/process/0.28mm Extra Draft @Artillery M1 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/process/0.28mm Extra Draft @Artillery M1 Pro 0.4 nozzle.json @@ -188,10 +188,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "200", @@ -250,7 +250,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json b/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json index f612105237..b12228818a 100644 --- a/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json +++ b/resources/profiles/CoLiDo/process/fdm_process_colidodiy40_common.json @@ -185,10 +185,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.4", "sparse_infill_pattern": "grid", "sparse_infill_speed": "270", @@ -255,7 +255,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json b/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json index 0ea02caf84..3306fbda47 100644 --- a/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json +++ b/resources/profiles/CoLiDo/process/fdm_process_colidox16_common.json @@ -196,10 +196,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.4", "sparse_infill_pattern": "grid", "sparse_infill_speed": "90", @@ -266,7 +266,7 @@ "tree_support_wall_count": "2", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json b/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json index 855d58bc84..b4441aa4a5 100644 --- a/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json +++ b/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json @@ -137,10 +137,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "10%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.4", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "200", @@ -199,7 +199,7 @@ "tree_support_top_rate": "30%", "tree_support_wall_count": "0", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "3", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 Max 0.4mm nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 Max 0.4mm nozzle.json index 4d11f181dc..2f807eea7f 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 Max 0.4mm nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender-5 Max 0.4mm nozzle.json @@ -170,10 +170,10 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "10", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.55", "sparse_infill_pattern": "zig-zag", "sparse_infill_speed": "500", @@ -240,7 +240,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K2 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K2 0.4 nozzle.json index a23da736cf..c55d985a14 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K2 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K2 0.4 nozzle.json @@ -175,10 +175,10 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "270", @@ -247,7 +247,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Creality/process/0.20mm Ultrafast @Creality Ender-5 Max 0.4mm nozzle.json b/resources/profiles/Creality/process/0.20mm Ultrafast @Creality Ender-5 Max 0.4mm nozzle.json index 89c8ce6420..322d3617eb 100644 --- a/resources/profiles/Creality/process/0.20mm Ultrafast @Creality Ender-5 Max 0.4mm nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Ultrafast @Creality Ender-5 Max 0.4mm nozzle.json @@ -172,10 +172,10 @@ "small_area_infill_flow_compensation_model": "0,0;\"\\n0.2,0.4444\";\"\\n0.4,0.6145\";\"\\n0.6,0.7059\";\"\\n0.8,0.7619\";\"\\n1.5,0.8571\";\"\\n2,0.8889\";\"\\n3,0.9231\";\"\\n5,0.9520\";\"\\n10,1\"", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "10", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.55", "sparse_infill_pattern": "zig-zag", "sparse_infill_speed": "500", @@ -242,7 +242,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K2 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality K2 0.6 nozzle.json index d61f1ba20f..7a05eb7d6c 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K2 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K2 0.6 nozzle.json @@ -152,10 +152,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.62", "sparse_infill_pattern": "grid", "sparse_infill_speed": "120", @@ -222,7 +222,7 @@ "tree_support_top_rate": "30%", "tree_support_wall_count": "0", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K2 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality K2 0.8 nozzle.json index 51d383111f..c5f40a4379 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K2 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K2 0.8 nozzle.json @@ -152,10 +152,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.82", "sparse_infill_pattern": "grid", "sparse_infill_speed": "120", @@ -222,7 +222,7 @@ "tree_support_top_rate": "30%", "tree_support_wall_count": "0", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/Cubicon/process/process template @base.json b/resources/profiles/Cubicon/process/process template @base.json index 214f41171a..8d1a85cdbc 100644 --- a/resources/profiles/Cubicon/process/process template @base.json +++ b/resources/profiles/Cubicon/process/process template @base.json @@ -211,10 +211,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "10%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "sparse_infill_speed": "270", @@ -284,7 +284,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "outer wall/inner wall", diff --git a/resources/profiles/Eryone/process/0.20mm Standard @Thinker X400.json b/resources/profiles/Eryone/process/0.20mm Standard @Thinker X400.json index 86d6e635bc..4eae544e9d 100644 --- a/resources/profiles/Eryone/process/0.20mm Standard @Thinker X400.json +++ b/resources/profiles/Eryone/process/0.20mm Standard @Thinker X400.json @@ -144,10 +144,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.54", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "250", @@ -208,7 +208,7 @@ "tree_support_top_rate": "30%", "tree_support_wall_count": "2", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Eryone/process/fdm_process_eryone_ER20_common.json b/resources/profiles/Eryone/process/fdm_process_eryone_ER20_common.json index c97410b1cf..4f142e89e0 100644 --- a/resources/profiles/Eryone/process/fdm_process_eryone_ER20_common.json +++ b/resources/profiles/Eryone/process/fdm_process_eryone_ER20_common.json @@ -136,10 +136,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "20%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "gyroid", "sparse_infill_speed": "80", diff --git a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge G3U 0.4 Nozzle.json b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge G3U 0.4 Nozzle.json index 79727d2e61..5891d54b67 100644 --- a/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge G3U 0.4 Nozzle.json +++ b/resources/profiles/Flashforge/process/0.20mm Standard @Flashforge G3U 0.4 Nozzle.json @@ -147,10 +147,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "270", @@ -212,7 +212,7 @@ "tree_support_top_rate": "30%", "tree_support_wall_count": "0", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/FlyingBear/process/Ghost7/fdm_process_common_Ghost7.json b/resources/profiles/FlyingBear/process/Ghost7/fdm_process_common_Ghost7.json index 695ecc7379..e21d9fa213 100644 --- a/resources/profiles/FlyingBear/process/Ghost7/fdm_process_common_Ghost7.json +++ b/resources/profiles/FlyingBear/process/Ghost7/fdm_process_common_Ghost7.json @@ -121,10 +121,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "spiral_mode": "0", @@ -181,7 +181,7 @@ "tree_support_tip_diameter": "0.8", "tree_support_top_rate": "30%", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/FlyingBear/process/S1/fdm_process_common_S1.json b/resources/profiles/FlyingBear/process/S1/fdm_process_common_S1.json index c1cf3fb0ad..869f9a48cd 100644 --- a/resources/profiles/FlyingBear/process/S1/fdm_process_common_S1.json +++ b/resources/profiles/FlyingBear/process/S1/fdm_process_common_S1.json @@ -121,10 +121,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "spiral_mode": "0", @@ -181,7 +181,7 @@ "tree_support_tip_diameter": "0.8", "tree_support_top_rate": "30%", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/FlyingBear/process/fdm_process_common.json b/resources/profiles/FlyingBear/process/fdm_process_common.json index 63bb2fb7d8..719fe2ed2d 100644 --- a/resources/profiles/FlyingBear/process/fdm_process_common.json +++ b/resources/profiles/FlyingBear/process/fdm_process_common.json @@ -121,10 +121,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "spiral_mode": "0", @@ -181,7 +181,7 @@ "tree_support_tip_diameter": "0.8", "tree_support_top_rate": "30%", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Ginger Additive/process/fdm_process_common.json b/resources/profiles/Ginger Additive/process/fdm_process_common.json index e19d8fc0e3..1034df1315 100644 --- a/resources/profiles/Ginger Additive/process/fdm_process_common.json +++ b/resources/profiles/Ginger Additive/process/fdm_process_common.json @@ -178,10 +178,10 @@ ], "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "20%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "3", "sparse_infill_pattern": "cubic", "sparse_infill_speed": "100", @@ -247,7 +247,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2", "wall_sequence": "inner wall/outer wall", diff --git a/resources/profiles/InfiMech/process/EX+APS/fdm_process_common_EX+APS.json b/resources/profiles/InfiMech/process/EX+APS/fdm_process_common_EX+APS.json index 4f95b7828c..596797e0bb 100644 --- a/resources/profiles/InfiMech/process/EX+APS/fdm_process_common_EX+APS.json +++ b/resources/profiles/InfiMech/process/EX+APS/fdm_process_common_EX+APS.json @@ -121,10 +121,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "spiral_mode": "0", @@ -181,7 +181,7 @@ "tree_support_tip_diameter": "0.8", "tree_support_top_rate": "30%", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/InfiMech/process/EX/fdm_process_common_EX.json b/resources/profiles/InfiMech/process/EX/fdm_process_common_EX.json index 454e329779..f8ac5261ae 100644 --- a/resources/profiles/InfiMech/process/EX/fdm_process_common_EX.json +++ b/resources/profiles/InfiMech/process/EX/fdm_process_common_EX.json @@ -121,10 +121,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "grid", "spiral_mode": "0", @@ -181,7 +181,7 @@ "tree_support_tip_diameter": "0.8", "tree_support_top_rate": "30%", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/InfiMech/process/HSN/fdm_process_common_HSN.json b/resources/profiles/InfiMech/process/HSN/fdm_process_common_HSN.json index 82855d9523..fd0d9f15f0 100644 --- a/resources/profiles/InfiMech/process/HSN/fdm_process_common_HSN.json +++ b/resources/profiles/InfiMech/process/HSN/fdm_process_common_HSN.json @@ -121,10 +121,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "spiral_mode": "0", @@ -181,7 +181,7 @@ "tree_support_tip_diameter": "0.8", "tree_support_top_rate": "30%", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/InfiMech/process/fdm_process_common.json b/resources/profiles/InfiMech/process/fdm_process_common.json index 63bb2fb7d8..719fe2ed2d 100644 --- a/resources/profiles/InfiMech/process/fdm_process_common.json +++ b/resources/profiles/InfiMech/process/fdm_process_common.json @@ -121,10 +121,10 @@ "slowdown_for_curled_perimeters": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "spiral_mode": "0", @@ -181,7 +181,7 @@ "tree_support_tip_diameter": "0.8", "tree_support_top_rate": "30%", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "2", diff --git a/resources/profiles/Kingroon/process/fdm_process_common.json b/resources/profiles/Kingroon/process/fdm_process_common.json index cbb0dfe738..dc3ef0890c 100644 --- a/resources/profiles/Kingroon/process/fdm_process_common.json +++ b/resources/profiles/Kingroon/process/fdm_process_common.json @@ -117,10 +117,10 @@ "slow_down_layers": "0", "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "100", @@ -171,7 +171,7 @@ "tree_support_brim_width": "3", "tree_support_wall_count": "0", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_infill_order": "inner wall/outer wall/infill", "wall_loops": "3", diff --git a/resources/profiles/Phrozen/process/0.20mm Standard @Phrozen Arco 0.4 nozzle.json b/resources/profiles/Phrozen/process/0.20mm Standard @Phrozen Arco 0.4 nozzle.json index 6d735225e4..72f5d17c59 100644 --- a/resources/profiles/Phrozen/process/0.20mm Standard @Phrozen Arco 0.4 nozzle.json +++ b/resources/profiles/Phrozen/process/0.20mm Standard @Phrozen Arco 0.4 nozzle.json @@ -186,10 +186,10 @@ "small_perimeter_speed": "50%", "small_perimeter_threshold": "0", "solid_infill_direction": "45", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "100%", "sparse_infill_density": "15%", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "270", @@ -256,7 +256,7 @@ "tree_support_wall_count": "0", "wall_direction": "auto", "wall_distribution_count": "1", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "classic", "wall_loops": "2", "wall_sequence": "outer wall/inner wall", diff --git a/resources/profiles/Prusa/process/process_common_mk4s.json b/resources/profiles/Prusa/process/process_common_mk4s.json index cf2c2c2b71..2c0add8e4e 100644 --- a/resources/profiles/Prusa/process/process_common_mk4s.json +++ b/resources/profiles/Prusa/process/process_common_mk4s.json @@ -50,9 +50,9 @@ "resolution": "0", "slice_closing_radius": "0.049", "small_perimeter_speed": "170", - "solid_infill_filament": "1", + "solid_infill_filament": "0", "sparse_infill_acceleration": "4000", - "sparse_infill_filament": "1", + "sparse_infill_filament": "0", "sparse_infill_line_width": "0.45", "sparse_infill_pattern": "crosshatch", "sparse_infill_speed": "200", @@ -85,7 +85,7 @@ "tree_support_branch_diameter_double_wall": "3", "tree_support_tip_diameter": "0.8", "tree_support_top_rate": "30%", - "wall_filament": "1", + "wall_filament": "0", "wall_generator": "arachne", "wall_loops": "2" } diff --git a/src/OrcaSlicer.cpp b/src/OrcaSlicer.cpp index 7107e1ba1e..2e445cadfd 100644 --- a/src/OrcaSlicer.cpp +++ b/src/OrcaSlicer.cpp @@ -1591,7 +1591,7 @@ int CLI::run(int argc, char **argv) record_exit_reson(outfile_dir, CLI_FILE_VERSION_NOT_SUPPORTED, 0, cli_errors[CLI_FILE_VERSION_NOT_SUPPORTED], sliced_info); flush_and_exit(CLI_FILE_VERSION_NOT_SUPPORTED); } - Semver old_version(1, 5, 9), old_version2(1, 5, 9), old_version3(2, 0, 0), old_version4(2, 2, 0); + Semver old_version(1, 5, 9), old_version2(1, 5, 9), old_version3(2, 0, 0), old_version4(2, 2, 0), old_version5("2.4.0"); if ((file_version < old_version) && !config.empty()) { translate_old = true; BOOST_LOG_TRIVIAL(info) << boost::format("old 3mf version %1%, need to translate")%file_version.to_string(); @@ -1606,6 +1606,19 @@ int CLI::run(int argc, char **argv) BOOST_LOG_TRIVIAL(info) << boost::format("old 3mf version %1%, need to set enable_wrapping_detection to false")%file_version.to_string(); } + if ((file_version < old_version5) && !config.empty()) { + int converted_count = ConfigMigrations::migrate_legacy_feature_filament_defaults(config); + for (ModelObject *model_object : model.objects) { + converted_count += ConfigMigrations::migrate_legacy_feature_filament_defaults(model_object->config); + for (ModelVolume *model_volume : model_object->volumes) + converted_count += ConfigMigrations::migrate_legacy_feature_filament_defaults(model_volume->config); + } + + if (converted_count > 0) { + BOOST_LOG_TRIVIAL(info) << boost::format("old 3mf version %1%, migrated %2% feature filament selections from 1 to 0 (Default)") % file_version.to_string() % converted_count; + } + } + if (normative_check) { ConfigOptionStrings* postprocess_scripts = config.option("post_process"); if (postprocess_scripts) { diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index 8ef014564c..443a88d9d2 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -2968,6 +2968,34 @@ private: std::ostream& operator<<(std::ostream& os, const DynamicConfig::DynamicConfigDifference& diff); +namespace ConfigMigrations { + +template +inline int migrate_legacy_feature_filament_defaults(ConfigLike &cfg) +{ + static const char *feature_filament_keys[] = { + "wall_filament", + "sparse_infill_filament", + "solid_infill_filament" + }; + + int converted_count = 0; + for (const char *key : feature_filament_keys) { + if (!cfg.has(key)) + continue; + + const ConfigOption *opt = cfg.option(key); + if (opt != nullptr && opt->getInt() == 1) { + cfg.set_key_value(key, new ConfigOptionInt(0)); + ++converted_count; + } + } + + return converted_count; +} + +} + // Configuration store with a static definition of configuration values. // In Slic3r, the static configuration stores are during the slicing / g-code generation for efficiency reasons, // because the configuration values could be accessed directly. diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 0a9d1f5452..1e7ddd4849 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -4103,13 +4103,13 @@ DynamicPrintConfig PresetBundle::full_fff_config(bool apply_extruder, std::optio opt->value = boost::algorithm::clamp(opt->value, 0, int(num_filaments)); } - static const char* keys_1based[] = {"wall_filament", "sparse_infill_filament", "solid_infill_filament"}; - for (size_t i = 0; i < sizeof(keys_1based) / sizeof(keys_1based[0]); ++ i) { - std::string key = std::string(keys_1based[i]); + static const char* keys_with_default[] = {"wall_filament", "sparse_infill_filament", "solid_infill_filament"}; + for (size_t i = 0; i < sizeof(keys_with_default) / sizeof(keys_with_default[0]); ++ i) { + std::string key = std::string(keys_with_default[i]); auto *opt = dynamic_cast(out.option(key, false)); assert(opt != nullptr); - if(opt->value < 1 || opt->value > int(num_filaments)) - opt->value = 1; + if(opt->value < 0 || opt->value > int(num_filaments)) + opt->value = 0; } out.option("print_settings_id", true)->value = this->prints.get_selected_preset_name(); out.option("filament_settings_id", true)->values = this->filament_presets; diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index cc1fb1a7f8..7c68e70b8f 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -4021,10 +4021,10 @@ void PrintConfigDef::init_fff_params() def->gui_type = ConfigOptionDef::GUIType::i_enum_open; def->label = L("Infill"); def->category = L("Extruders"); - def->tooltip = L("Filament to print internal sparse infill."); - def->min = 1; + def->tooltip = L("Filament to print internal sparse infill.\n\"Default\" uses the active object/part filament."); + def->min = 0; def->mode = comAdvanced; - def->set_default_value(new ConfigOptionInt(1)); + def->set_default_value(new ConfigOptionInt(0)); def = this->add("sparse_infill_line_width", coFloatOrPercent); def->label = L("Sparse infill"); @@ -4901,10 +4901,10 @@ void PrintConfigDef::init_fff_params() def->gui_type = ConfigOptionDef::GUIType::i_enum_open; def->label = L("Walls"); def->category = L("Extruders"); - def->tooltip = L("Filament to print walls."); - def->min = 1; + def->tooltip = L("Filament to print walls.\n\"Default\" uses the active object/part filament."); + def->min = 0; def->mode = comAdvanced; - def->set_default_value(new ConfigOptionInt(1)); + def->set_default_value(new ConfigOptionInt(0)); def = this->add("inner_wall_line_width", coFloatOrPercent); def->label = L("Inner wall"); @@ -5662,10 +5662,10 @@ void PrintConfigDef::init_fff_params() def->gui_type = ConfigOptionDef::GUIType::i_enum_open; def->label = L("Solid infill"); def->category = L("Extruders"); - def->tooltip = L("Filament to print solid infill."); - def->min = 1; + def->tooltip = L("Filament to print solid infill.\n\"Default\" uses the active object/part filament."); + def->min = 0; def->mode = comAdvanced; - def->set_default_value(new ConfigOptionInt(1)); + def->set_default_value(new ConfigOptionInt(0)); def = this->add("internal_solid_infill_line_width", coFloatOrPercent); def->label = L("Internal solid infill"); @@ -6041,7 +6041,7 @@ void PrintConfigDef::init_fff_params() def->gui_type = ConfigOptionDef::GUIType::i_enum_open; def->label = L("Support/raft base"); def->category = L("Support"); - def->tooltip = L("Filament to print support base and raft. \"Default\" means no specific filament for support and current filament is used."); + def->tooltip = L("Filament to print support base and raft.\n\"Default\" means no specific filament for support and current filament is used."); def->min = 0; def->mode = comSimple; def->set_default_value(new ConfigOptionInt(0)); @@ -6076,7 +6076,7 @@ void PrintConfigDef::init_fff_params() def->gui_type = ConfigOptionDef::GUIType::i_enum_open; def->label = L("Support/raft interface"); def->category = L("Support"); - def->tooltip = L("Filament to print support interface. \"Default\" means no specific filament for support interface and current filament is used."); + def->tooltip = L("Filament to print support interface.\n\"Default\" means no specific filament for support interface and current filament is used."); def->min = 0; // BBS def->mode = comSimple; @@ -8348,9 +8348,9 @@ void DynamicPrintConfig::normalize_fdm(int used_filaments) int extruder = this->option("extruder")->getInt(); this->erase("extruder"); if (extruder != 0) { - if (!this->has("sparse_infill_filament")) + if (!this->has("sparse_infill_filament") || this->option("sparse_infill_filament")->getInt() == 0) this->option("sparse_infill_filament", true)->setInt(extruder); - if (!this->has("wall_filament")) + if (!this->has("wall_filament") || this->option("wall_filament")->getInt() == 0) this->option("wall_filament", true)->setInt(extruder); // Don't propagate the current extruder to support. // For non-soluble supports, the default "0" extruder means to use the active extruder, @@ -8362,8 +8362,11 @@ void DynamicPrintConfig::normalize_fdm(int used_filaments) } } - if (!this->has("solid_infill_filament") && this->has("sparse_infill_filament")) - this->option("solid_infill_filament", true)->setInt(this->option("sparse_infill_filament")->getInt()); + if (this->has("sparse_infill_filament")) { + int sparse_infill_filament = this->option("sparse_infill_filament")->getInt(); + if (sparse_infill_filament > 0 && (!this->has("solid_infill_filament") || this->option("solid_infill_filament")->getInt() == 0)) + this->option("solid_infill_filament", true)->setInt(sparse_infill_filament); + } if (this->has("spiral_mode") && this->opt("spiral_mode", true)->value) { { @@ -8421,9 +8424,9 @@ void DynamicPrintConfig::normalize_fdm_1() int extruder = this->option("extruder")->getInt(); this->erase("extruder"); if (extruder != 0) { - if (!this->has("sparse_infill_filament")) + if (!this->has("sparse_infill_filament") || this->option("sparse_infill_filament")->getInt() == 0) this->option("sparse_infill_filament", true)->setInt(extruder); - if (!this->has("wall_filament")) + if (!this->has("wall_filament") || this->option("wall_filament")->getInt() == 0) this->option("wall_filament", true)->setInt(extruder); // Don't propagate the current extruder to support. // For non-soluble supports, the default "0" extruder means to use the active extruder, @@ -8435,8 +8438,11 @@ void DynamicPrintConfig::normalize_fdm_1() } } - if (!this->has("solid_infill_filament") && this->has("sparse_infill_filament")) - this->option("solid_infill_filament", true)->setInt(this->option("sparse_infill_filament")->getInt()); + if (this->has("sparse_infill_filament")) { + int sparse_infill_filament = this->option("sparse_infill_filament")->getInt(); + if (sparse_infill_filament > 0 && (!this->has("solid_infill_filament") || this->option("solid_infill_filament")->getInt() == 0)) + this->option("solid_infill_filament", true)->setInt(sparse_infill_filament); + } if (this->has("spiral_mode") && this->opt("spiral_mode", true)->value) { { diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index aee470bab5..5449f7df3a 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -3511,6 +3511,12 @@ static void clamp_exturder_to_default(ConfigOptionInt &opt, size_t num_extruders opt.value = 1; } +static void clamp_feature_filament_to_valid(ConfigOptionInt &opt, size_t num_extruders) +{ + if (opt.value <= 0 || opt.value > (int)num_extruders) + opt.value = 1; +} + PrintObjectConfig PrintObject::object_config_from_model_object(const PrintObjectConfig &default_object_config, const ModelObject &object, size_t num_extruders) { PrintObjectConfig config = default_object_config; @@ -3528,61 +3534,88 @@ PrintObjectConfig PrintObject::object_config_from_model_object(const PrintObject const std::string key_extruder { "extruder" }; static constexpr const std::initializer_list keys_extruders { "sparse_infill_filament"sv, "solid_infill_filament"sv, "wall_filament"sv }; -static void apply_to_print_region_config(PrintRegionConfig &out, const DynamicPrintConfig &in) +struct FeatureFilamentOverrideMask { - // 1) Map legacy "extruder" to feature filament keys as a fallback only. - // If any feature-specific filament is explicitly set, keep those values. + bool sparse_infill_filament = false; + bool solid_infill_filament = false; + bool wall_filament = false; +}; + +static void apply_to_print_region_config(PrintRegionConfig &out, const DynamicPrintConfig &in, FeatureFilamentOverrideMask &feature_overrides) +{ + // 1) Explicit feature filament values take precedence over base extruder fallback. auto *opt_extruder = in.opt(key_extruder); - auto *opt_sparse_infill_filament = in.opt("sparse_infill_filament"); - auto *opt_solid_infill_filament = in.opt("solid_infill_filament"); - auto *opt_wall_filament = in.opt("wall_filament"); - const bool has_feature_filament_override = - (opt_sparse_infill_filament != nullptr && opt_sparse_infill_filament->value > 0) || - (opt_solid_infill_filament != nullptr && opt_solid_infill_filament->value > 0) || - (opt_wall_filament != nullptr && opt_wall_filament->value > 0); - if (opt_extruder) - if (int extruder = opt_extruder->value; extruder > 1 && ! has_feature_filament_override) { - // Not a default extruder. - out.sparse_infill_filament.value = extruder; - out.solid_infill_filament.value = extruder; - out.wall_filament.value = extruder; - } + int base_extruder = (opt_extruder != nullptr) ? opt_extruder->value : 0; + // 2) Copy the rest of the values. for (auto it = in.cbegin(); it != in.cend(); ++ it) if (it->first != key_extruder) if (ConfigOption* my_opt = out.option(it->first, false); my_opt != nullptr) { if (one_of(it->first, keys_extruders)) { - // Ignore "default" extruders. + // "Default" (0) clears explicit override for this scope and lets fallback apply. int extruder = static_cast(it->second.get())->value; - if (extruder > 0) + if (extruder > 0) { my_opt->setInt(extruder); + if (it->first == "sparse_infill_filament") + feature_overrides.sparse_infill_filament = true; + else if (it->first == "solid_infill_filament") + feature_overrides.solid_infill_filament = true; + else if (it->first == "wall_filament") + feature_overrides.wall_filament = true; + } else { + if (it->first == "sparse_infill_filament") + feature_overrides.sparse_infill_filament = false; + else if (it->first == "solid_infill_filament") + feature_overrides.solid_infill_filament = false; + else if (it->first == "wall_filament") + feature_overrides.wall_filament = false; + } } else my_opt->set(it->second.get()); } + + // 3) Apply base extruder only to features that were not explicitly overridden. + if (base_extruder > 0) { + if (!feature_overrides.sparse_infill_filament) + out.sparse_infill_filament.value = base_extruder; + if (!feature_overrides.solid_infill_filament) + out.solid_infill_filament.value = base_extruder; + if (!feature_overrides.wall_filament) + out.wall_filament.value = base_extruder; + } } PrintRegionConfig region_config_from_model_volume(const PrintRegionConfig &default_or_parent_region_config, const DynamicPrintConfig *layer_range_config, const ModelVolume &volume, size_t num_extruders) { PrintRegionConfig config = default_or_parent_region_config; + FeatureFilamentOverrideMask feature_overrides; + + // For model parts, non-zero values coming from the print defaults should stay explicit. + if (volume.is_model_part()) { + feature_overrides.sparse_infill_filament = (config.sparse_infill_filament.value > 0); + feature_overrides.solid_infill_filament = (config.solid_infill_filament.value > 0); + feature_overrides.wall_filament = (config.wall_filament.value > 0); + } + if (volume.is_model_part()) { // default_or_parent_region_config contains the Print's PrintRegionConfig. // Override with ModelObject's PrintRegionConfig values. - apply_to_print_region_config(config, volume.get_object()->config.get()); + apply_to_print_region_config(config, volume.get_object()->config.get(), feature_overrides); } else { // default_or_parent_region_config contains parent PrintRegion config, which already contains ModelVolume's config. } - apply_to_print_region_config(config, volume.config.get()); + apply_to_print_region_config(config, volume.config.get(), feature_overrides); if (! volume.material_id().empty()) - apply_to_print_region_config(config, volume.material()->config.get()); + apply_to_print_region_config(config, volume.material()->config.get(), feature_overrides); if (layer_range_config != nullptr) { // Not applicable to modifiers. assert(volume.is_model_part()); - apply_to_print_region_config(config, *layer_range_config); + apply_to_print_region_config(config, *layer_range_config, feature_overrides); } - // Clamp invalid extruders to the default extruder (with index 1). - clamp_exturder_to_default(config.sparse_infill_filament, num_extruders); - clamp_exturder_to_default(config.wall_filament, num_extruders); - clamp_exturder_to_default(config.solid_infill_filament, num_extruders); + // Resolve feature defaults and clamp invalid extruders to index 1. + clamp_feature_filament_to_valid(config.sparse_infill_filament, num_extruders); + clamp_feature_filament_to_valid(config.wall_filament, num_extruders); + clamp_feature_filament_to_valid(config.solid_infill_filament, num_extruders); if (config.sparse_infill_density.value < 0.00011f) // Switch of infill for very low infill rates, also avoid division by zero in infill generator for these very low rates. // See GH issue #5910. diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index 5186a4384d..3b4549e969 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -1573,31 +1573,31 @@ std::vector PartPlate::get_extruders(bool conside_custom_gcode) const plate_extruders.push_back(glb_support_extr); } - int obj_wall_extr = 1; + int obj_wall_extr = 0; const ConfigOption* wall_opt = mo->config.option("wall_filament"); if (wall_opt != nullptr) obj_wall_extr = wall_opt->getInt(); - if (obj_wall_extr != 1) + if (obj_wall_extr != 0) plate_extruders.push_back(obj_wall_extr); - else if (glb_wall_extr != 1) + else if (glb_wall_extr != 0) plate_extruders.push_back(glb_wall_extr); - int obj_sparse_infill_extr = 1; + int obj_sparse_infill_extr = 0; const ConfigOption* sparse_infill_opt = mo->config.option("sparse_infill_filament"); if (sparse_infill_opt != nullptr) obj_sparse_infill_extr = sparse_infill_opt->getInt(); - if (obj_sparse_infill_extr != 1) + if (obj_sparse_infill_extr != 0) plate_extruders.push_back(obj_sparse_infill_extr); - else if (glb_sparse_infill_extr != 1) + else if (glb_sparse_infill_extr != 0) plate_extruders.push_back(glb_sparse_infill_extr); - int obj_solid_infill_extr = 1; + int obj_solid_infill_extr = 0; const ConfigOption* solid_infill_opt = mo->config.option("solid_infill_filament"); if (solid_infill_opt != nullptr) obj_solid_infill_extr = solid_infill_opt->getInt(); - if (obj_solid_infill_extr != 1) + if (obj_solid_infill_extr != 0) plate_extruders.push_back(obj_solid_infill_extr); - else if (glb_solid_infill_extr != 1) + else if (glb_solid_infill_extr != 0) plate_extruders.push_back(glb_solid_infill_extr); } @@ -1695,31 +1695,31 @@ std::vector PartPlate::get_extruders_under_cli(bool conside_custom_gcode, D else if (glb_support_extr != 0) plate_extruders.push_back(glb_support_extr); - int obj_wall_extr = 1; + int obj_wall_extr = 0; const ConfigOption* wall_opt = object->config.option("wall_filament"); if (wall_opt != nullptr) obj_wall_extr = wall_opt->getInt(); - if (obj_wall_extr != 1) + if (obj_wall_extr != 0) plate_extruders.push_back(obj_wall_extr); - else if (glb_wall_extr != 1) + else if (glb_wall_extr != 0) plate_extruders.push_back(glb_wall_extr); - int obj_sparse_infill_extr = 1; + int obj_sparse_infill_extr = 0; const ConfigOption* sparse_infill_opt = object->config.option("sparse_infill_filament"); if (sparse_infill_opt != nullptr) obj_sparse_infill_extr = sparse_infill_opt->getInt(); - if (obj_sparse_infill_extr != 1) + if (obj_sparse_infill_extr != 0) plate_extruders.push_back(obj_sparse_infill_extr); - else if (glb_sparse_infill_extr != 1) + else if (glb_sparse_infill_extr != 0) plate_extruders.push_back(glb_sparse_infill_extr); - int obj_solid_infill_extr = 1; + int obj_solid_infill_extr = 0; const ConfigOption* solid_infill_opt = object->config.option("solid_infill_filament"); if (solid_infill_opt != nullptr) obj_solid_infill_extr = solid_infill_opt->getInt(); - if (obj_solid_infill_extr != 1) + if (obj_solid_infill_extr != 0) plate_extruders.push_back(obj_solid_infill_extr); - else if (glb_solid_infill_extr != 1) + else if (glb_solid_infill_extr != 0) plate_extruders.push_back(glb_solid_infill_extr); } } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index f16f655ee6..06d1575cca 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -876,54 +876,6 @@ struct DynamicFilamentList : DynamicList } }; -struct DynamicFilamentList1Based : DynamicFilamentList -{ - void apply_on(Choice *c) override - { - if (items.empty()) - update(true); - auto cb = dynamic_cast(c->window); - auto n = cb->GetSelection(); - cb->Clear(); - for (auto i : items) { - cb->Append(i.first, *i.second); - } - if (n < cb->GetCount()) - cb->SetSelection(n); - } - wxString get_value(int index) override - { - wxString str; - str << index+1; - return str; - } - int index_of(wxString value) override - { - long n = 0; - if(!value.ToLong(&n)) - return -1; - --n; - return (n >= 0 && n <= items.size()) ? int(n) : -1; - } - void update(bool force = false) - { - items.clear(); - if (!force && m_choices.empty()) - return; - auto icons = get_extruder_color_icons(true); - auto presets = wxGetApp().preset_bundle->filament_presets; - for (int i = 0; i < presets.size(); ++i) { - wxString str; - std::string type; - wxGetApp().preset_bundle->filaments.find_preset(presets[i])->get_filament_type(type); - str << type; - items.push_back({str, i < icons.size() ? icons[i] : nullptr}); - } - DynamicList::update(); - } - -}; - // Check if the machine supports Junction Deviation (Marlin firmware with machine_max_junction_deviation > 0) static bool has_junction_deviation(const DynamicPrintConfig* printer_config) { @@ -940,7 +892,6 @@ static bool has_junction_deviation(const DynamicPrintConfig* printer_config) } static DynamicFilamentList dynamic_filament_list; -static DynamicFilamentList1Based dynamic_filament_list_1_based; class AMSCountPopupWindow : public PopupWindow { @@ -1647,9 +1598,9 @@ Sidebar::Sidebar(Plater *parent) { Choice::register_dynamic_list("support_filament", &dynamic_filament_list); Choice::register_dynamic_list("support_interface_filament", &dynamic_filament_list); - Choice::register_dynamic_list("wall_filament", &dynamic_filament_list_1_based); - Choice::register_dynamic_list("sparse_infill_filament", &dynamic_filament_list_1_based); - Choice::register_dynamic_list("solid_infill_filament", &dynamic_filament_list_1_based); + Choice::register_dynamic_list("wall_filament", &dynamic_filament_list); + Choice::register_dynamic_list("sparse_infill_filament", &dynamic_filament_list); + Choice::register_dynamic_list("solid_infill_filament", &dynamic_filament_list); Choice::register_dynamic_list("wipe_tower_filament", &dynamic_filament_list); p->scrolled = new wxPanel(this); @@ -3767,7 +3718,6 @@ void Sidebar::show_SEMM_buttons() void Sidebar::update_dynamic_filament_list() { dynamic_filament_list.update(); - dynamic_filament_list_1_based.update(); } PlaterPresetComboBox* Sidebar::printer_combox() @@ -6203,6 +6153,23 @@ std::vector Plater::priv::load_files(const std::vector& input_ } } + if (load_config && !config_loaded.empty() && + (en_3mf_file_type == En3mfType::From_BBS || en_3mf_file_type == En3mfType::From_Orca) && + file_version < Semver("2.4.0-dev")) { + int converted_count = ConfigMigrations::migrate_legacy_feature_filament_defaults(config_loaded); + for (ModelObject *model_object : model.objects) { + converted_count += ConfigMigrations::migrate_legacy_feature_filament_defaults(model_object->config); + for (ModelVolume *model_volume : model_object->volumes) + converted_count += ConfigMigrations::migrate_legacy_feature_filament_defaults(model_volume->config); + } + + if (converted_count > 0) { + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ":" << __LINE__ << " " + << boost::format("old 3mf version %1%, migrated %2% feature filament selections from 1 to 0 (Default)") + % file_version.to_string() % converted_count; + } + } + // plate data if (plate_data.size() > 0) { BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ":" << __LINE__ << boost::format(", import 3mf UPDATE_GCODE_RESULT \n"); From ee8bb54ca8dae267536e92908fb8d5071d735249 Mon Sep 17 00:00:00 2001 From: Jingxi-Polymaker Date: Fri, 29 May 2026 15:46:41 +0800 Subject: [PATCH 31/69] Add more Polymaker filament presets (#13858) * add new presets * fix inhernce * fix rename * update * apply fix * update index --- resources/profiles/Anycubic.json | 16 + .../Fiberon PA6-CF20 @Anycubic Kobra S1.json | 81 + .../Panchroma PLA @Anycubic Kobra S1.json | 70 + .../Polymaker PLA Pro @Anycubic Kobra S1.json | 66 + ...r PLA Pro Metallic @Anycubic Kobra S1.json | 66 + resources/profiles/BBL.json | 3776 +++++++++-------- .../Polymaker/Fiberon PA12-CF10 @BBL X1.json | 18 + .../Polymaker/Fiberon PA12-CF10 @base.json | 77 + .../Polymaker/Fiberon PA6-CF20 @BBL X1.json | 18 + .../Polymaker/Fiberon PA6-CF20 @base.json | 74 + .../Polymaker/Fiberon PA6-GF25 @BBL X1.json | 18 + .../Polymaker/Fiberon PA6-GF25 @base.json | 77 + .../Polymaker/Fiberon PA612-CF15 @BBL X1.json | 18 + .../Polymaker/Fiberon PA612-CF15 @base.json | 53 + .../Polymaker/Fiberon PET-CF17 @BBL X1.json | 33 + .../Polymaker/Fiberon PET-CF17 @base.json | 86 + .../Polymaker/Fiberon PETG-ESD @BBL X1.json | 33 + .../Polymaker/Fiberon PETG-rCF08 @BBL X1.json | 92 + .../Polymaker/Fiberon PETG-rCF08 @base.json | 101 + .../Polymaker/Panchroma CoPE @BBL A1.json | 46 +- .../Polymaker/Panchroma CoPE @BBL A1M.json | 46 +- .../Polymaker/Panchroma CoPE @BBL P1P.json | 47 +- .../Polymaker/Panchroma CoPE @BBL X1.json | 47 +- .../Polymaker/Panchroma PLA @BBL A1.json | 43 +- .../Polymaker/Panchroma PLA @BBL A1M.json | 43 +- .../Polymaker/Panchroma PLA @BBL P1P.json | 44 +- .../Polymaker/Panchroma PLA @BBL X1.json | 43 +- .../Panchroma PLA Celestial @BBL A1.json | 40 +- .../Panchroma PLA Celestial @BBL A1M.json | 40 +- .../Panchroma PLA Celestial @BBL P1P.json | 40 +- .../Panchroma PLA Celestial @BBL X1.json | 41 +- .../Panchroma PLA Galaxy @BBL A1.json | 40 +- .../Panchroma PLA Galaxy @BBL A1M.json | 40 +- .../Panchroma PLA Galaxy @BBL P1P.json | 40 +- .../Panchroma PLA Galaxy @BBL X1.json | 41 +- .../Polymaker/Panchroma PLA Glow @BBL A1.json | 41 +- .../Panchroma PLA Glow @BBL A1M.json | 41 +- .../Panchroma PLA Glow @BBL P1P.json | 41 +- .../Polymaker/Panchroma PLA Glow @BBL X1.json | 42 +- .../Panchroma PLA Luminous @BBL A1.json | 41 +- .../Panchroma PLA Luminous @BBL A1M.json | 41 +- .../Panchroma PLA Luminous @BBL P1P.json | 41 +- .../Panchroma PLA Luminous @BBL X1.json | 42 +- .../Panchroma PLA Marble @BBL A1.json | 41 +- .../Panchroma PLA Marble @BBL A1M.json | 41 +- .../Panchroma PLA Marble @BBL P1P.json | 42 +- .../Panchroma PLA Marble @BBL X1.json | 44 +- .../Panchroma PLA Matte @BBL A1.json | 44 +- .../Panchroma PLA Matte @BBL A1M.json | 44 +- .../Panchroma PLA Matte @BBL P1P.json | 45 +- .../Panchroma PLA Matte @BBL X1.json | 47 +- .../Panchroma PLA Metallic @BBL A1.json | 41 +- .../Panchroma PLA Metallic @BBL A1M.json | 41 +- .../Panchroma PLA Metallic @BBL P1P.json | 41 +- .../Panchroma PLA Metallic @BBL X1.json | 42 +- .../Polymaker/Panchroma PLA Neon @BBL A1.json | 44 +- .../Panchroma PLA Neon @BBL A1M.json | 44 +- .../Panchroma PLA Neon @BBL P1P.json | 44 +- .../Polymaker/Panchroma PLA Neon @BBL X1.json | 45 +- .../Panchroma PLA Satin @BBL A1.json | 41 +- .../Panchroma PLA Satin @BBL A1M.json | 41 +- .../Panchroma PLA Satin @BBL P1P.json | 42 +- .../Panchroma PLA Satin @BBL X1.json | 42 +- .../Polymaker/Panchroma PLA Satin @base.json | 1 - .../Polymaker/Panchroma PLA Silk @BBL A1.json | 45 +- .../Panchroma PLA Silk @BBL A1M.json | 45 +- .../Panchroma PLA Silk @BBL P1P.json | 48 +- .../Polymaker/Panchroma PLA Silk @BBL X1.json | 48 +- .../Panchroma PLA Starlight @BBL A1.json | 41 +- .../Panchroma PLA Starlight @BBL A1M.json | 41 +- .../Panchroma PLA Starlight @BBL P1P.json | 41 +- .../Panchroma PLA Starlight @BBL X1.json | 42 +- .../Panchroma PLA Translucent @BBL A1.json | 45 +- .../Panchroma PLA Translucent @BBL A1M.json | 45 +- .../Panchroma PLA Translucent @BBL P1P.json | 45 +- .../Panchroma PLA Translucent @BBL X1.json | 46 +- .../Panchroma PLA UV Shift @BBL A1.json | 41 +- .../Panchroma PLA UV Shift @BBL A1M.json | 41 +- .../Panchroma PLA UV Shift @BBL P1P.json | 41 +- .../Panchroma PLA UV Shift @BBL X1.json | 42 +- .../Polymaker/PolyLite CosPLA @BBL A1.json | 13 + .../Polymaker/PolyLite CosPLA @BBL A1M.json | 13 + .../Polymaker/PolyLite CosPLA @BBL P1P.json | 16 + .../Polymaker/PolyLite CosPLA @BBL X1.json | 16 + .../Polymaker/PolyLite CosPLA @base.json | 71 + .../Polymaker/PolyLite PLA @BBL A1.json | 81 +- .../Polymaker/PolyLite PLA @BBL A1M.json | 65 +- .../Polymaker/PolyLite PLA @BBL X1.json | 163 +- .../PolyLite PLA Galaxy @BBL A1.json | 13 + .../PolyLite PLA Galaxy @BBL A1M.json | 13 + .../PolyLite PLA Galaxy @BBL P1P.json | 16 + .../PolyLite PLA Galaxy @BBL X1.json | 16 + .../Polymaker/PolyLite PLA Galaxy @base.json | 68 + .../Polymaker/PolyLite PLA Glow @BBL A1.json | 13 + .../Polymaker/PolyLite PLA Glow @BBL A1M.json | 13 + .../Polymaker/PolyLite PLA Glow @BBL P1P.json | 16 + .../Polymaker/PolyLite PLA Glow @BBL X1.json | 16 + .../Polymaker/PolyLite PLA Glow @base.json | 68 + .../PolyLite PLA Luminous @BBL A1.json | 13 + .../PolyLite PLA Luminous @BBL A1M.json | 13 + .../PolyLite PLA Luminous @BBL P1P.json | 16 + .../PolyLite PLA Luminous @BBL X1.json | 16 + .../PolyLite PLA Luminous @base.json | 68 + .../Polymaker/PolyLite PLA Neon @BBL A1.json | 13 + .../Polymaker/PolyLite PLA Neon @BBL A1M.json | 13 + .../Polymaker/PolyLite PLA Neon @BBL P1P.json | 16 + .../Polymaker/PolyLite PLA Neon @BBL X1.json | 16 + .../Polymaker/PolyLite PLA Neon @base.json | 68 + .../PolyLite PLA Starlight @BBL A1.json | 13 + .../PolyLite PLA Starlight @BBL A1M.json | 13 + .../PolyLite PLA Starlight @BBL P1P.json | 16 + .../PolyLite PLA Starlight @BBL X1.json | 16 + .../PolyLite PLA Starlight @base.json | 68 + .../PolyLite PLA Translucent @BBL A1.json | 13 + .../PolyLite PLA Translucent @BBL A1M.json | 13 + .../PolyLite PLA Translucent @BBL P1P.json | 16 + .../PolyLite PLA Translucent @BBL X1.json | 16 + .../PolyLite PLA Translucent @base.json | 68 + .../Polymaker/PolyTerra PLA @BBL A1.json | 67 +- .../Polymaker/PolyTerra PLA @BBL A1M.json | 67 +- .../Polymaker/PolyTerra PLA @BBL X1.json | 163 +- .../PolyTerra PLA Marble @BBL A1.json | 13 + .../PolyTerra PLA Marble @BBL A1M.json | 13 + .../PolyTerra PLA Marble @BBL P1P.json | 19 + .../PolyTerra PLA Marble @BBL X1.json | 22 + .../Polymaker/PolyTerra PLA Marble @base.json | 77 + .../Polymaker/PolyTerra PLA+ @BBL A1.json | 13 + .../Polymaker/PolyTerra PLA+ @BBL A1M.json | 13 + .../Polymaker/PolyTerra PLA+ @BBL P1P.json | 16 + .../Polymaker/PolyTerra PLA+ @BBL X1.json | 16 + .../Polymaker/PolyTerra PLA+ @base.json | 71 + resources/profiles/Custom.json | 33 +- resources/profiles/Elegoo.json | 3040 ++++++------- resources/profiles/Flashforge.json | 444 +- .../filament/Flashforge ABS Basic @FF C5.json | 13 +- .../Flashforge ABS Basic @FF C5P.json | 13 +- .../filament/Flashforge ABS-GF @FF C5.json | 13 +- .../filament/Flashforge ABS-GF @FF C5P.json | 13 +- .../filament/Flashforge ASA Basic @FF C5.json | 13 +- .../Flashforge ASA Basic @FF C5P.json | 13 +- .../filament/Flashforge ASA-CF @FF C5.json | 13 +- .../filament/Flashforge ASA-CF @FF C5P.json | 13 +- .../filament/Flashforge ASA-GF @FF C5.json | 13 +- .../filament/Flashforge ASA-GF @FF C5P.json | 13 +- .../filament/Flashforge HIPS @FF C5.json | 13 +- .../filament/Flashforge HIPS @FF C5P.json | 13 +- .../filament/Flashforge HS PETG @FF C5.json | 13 +- .../filament/Flashforge HS PETG @FF C5P.json | 13 +- .../filament/Flashforge HS PLA @FF C5.json | 13 +- .../filament/Flashforge HS PLA @FF C5P.json | 13 +- .../filament/Flashforge PA-CF @FF C5.json | 13 +- .../filament/Flashforge PA-CF @FF C5P.json | 13 +- .../filament/Flashforge PAHT-CF @FF C5.json | 13 +- .../filament/Flashforge PAHT-CF @FF C5P.json | 13 +- .../filament/Flashforge PET-CF @FF C5.json | 13 +- .../filament/Flashforge PET-CF @FF C5P.json | 13 +- .../filament/Flashforge PETG Pro @FF C5.json | 13 +- .../filament/Flashforge PETG Pro @FF C5P.json | 13 +- .../Flashforge PETG Transparent @FF C5.json | 13 +- .../Flashforge PETG Transparent @FF C5P.json | 13 +- .../filament/Flashforge PETG-CF @FF C5.json | 13 +- .../filament/Flashforge PETG-CF @FF C5P.json | 13 +- .../Flashforge PLA Matte @FF C5.json | 13 +- .../Flashforge PLA Matte @FF C5P.json | 13 +- .../Flashforge PLA Metal @FF C5.json | 13 +- .../Flashforge PLA Metal @FF C5P.json | 13 +- .../filament/Flashforge PLA Pro @FF C5.json | 13 +- .../filament/Flashforge PLA Pro @FF C5P.json | 13 +- .../filament/Flashforge PLA Basic @FF C5.json | 13 +- .../Flashforge PLA Basic @FF C5P.json | 13 +- .../Flashforge PLA Color Change @FF C5.json | 13 +- .../Flashforge PLA Color Change @FF C5P.json | 13 +- .../Flashforge PLA Galaxy @FF C5.json | 13 +- .../Flashforge PLA Galaxy @FF C5P.json | 13 +- .../Flashforge PLA Luminous @FF C5.json | 13 +- .../Flashforge PLA Luminous @FF C5P.json | 13 +- .../filament/Flashforge PLA Silk @FF C5.json | 13 +- .../filament/Flashforge PLA Silk @FF C5P.json | 13 +- .../filament/Flashforge PLA-CF @FF C5.json | 13 +- .../filament/Flashforge PLA-CF @FF C5P.json | 13 +- .../filament/Flashforge PPA-CF @FF C5.json | 13 +- .../filament/Flashforge PPA-CF @FF C5P.json | 13 +- .../filament/Flashforge PPS-CF @FF C5.json | 13 +- .../filament/Flashforge PPS-CF @FF C5P.json | 13 +- .../filament/Flashforge PVA @FF C5.json | 13 +- .../filament/Flashforge PVA @FF C5P.json | 13 +- .../filament/Flashforge TPU-64D @FF C5.json | 13 +- .../filament/Flashforge TPU-64D @FF C5P.json | 13 +- .../filament/Flashforge TPU-90A @FF C5.json | 13 +- .../filament/Flashforge TPU-90A @FF C5P.json | 13 +- .../filament/Flashforge TPU-95A @FF C5.json | 13 +- .../filament/Flashforge TPU-95A @FF C5P.json | 13 +- .../filament/FusRock PAHT-CF @FF C5.json | 13 +- .../filament/FusRock PAHT-CF @FF C5P.json | 13 +- .../filament/FusRock S-Multi @FF C5.json | 13 +- .../filament/FusRock S-Multi @FF C5P.json | 13 +- .../filament/FusRock S-PAHT @FF C5.json | 13 +- .../filament/FusRock S-PAHT @FF C5P.json | 13 +- .../filament/Generic BVOH @FF C5.json | 13 +- .../filament/Generic BVOH @FF C5P.json | 13 +- .../filament/Generic PLA @FF C5.json | 13 +- .../filament/Generic PLA @FF C5P.json | 13 +- .../filament/Generic PLA Silk @FF C5.json | 13 +- .../filament/Generic PLA Silk @FF C5P.json | 13 +- .../filament/Generic TPU-64D @FF C5.json | 13 +- .../filament/Generic TPU-64D @FF C5P.json | 13 +- .../filament/Generic TPU-90A @FF C5.json | 13 +- .../filament/Generic TPU-90A @FF C5P.json | 13 +- .../filament/Generic TPU-95A @FF C5.json | 13 +- .../filament/Generic TPU-95A @FF C5P.json | 13 +- .../Flashforge Creator 5 0.4 nozzle.json | 10 +- .../Flashforge Creator 5 0.6 nozzle.json | 16 +- .../Flashforge Creator 5 0.8 nozzle.json | 17 +- .../Flashforge Creator 5 Pro 0.4 nozzle.json | 11 +- .../Flashforge Creator 5 Pro 0.6 nozzle.json | 17 +- .../Flashforge Creator 5 Pro 0.8 nozzle.json | 17 +- .../process/0.12mm Standard @FF C5.json | 11 +- .../0.18mm Standard @FF C5 0.6 nozzle.json | 11 +- .../process/0.20mm Standard @FF C5.json | 11 +- .../process/0.24mm Standard @FF C5.json | 11 +- .../0.30mm Standard @FF C5 0.6 nozzle.json | 11 +- .../0.32mm Standard @FF C5 0.8 nozzle.json | 11 +- .../0.42mm Standard @FF C5 0.6 nozzle.json | 11 +- .../0.48mm Standard @FF C5 0.8 nozzle.json | 11 +- .../0.4mm Standard @FF C5 0.8 nozzle.json | 11 +- resources/profiles/LH.json | 122 +- resources/profiles/LH/filament/LHS PC CF.json | 13 +- resources/profiles/OrcaFilamentLibrary.json | 606 +-- resources/profiles/Snapmaker.json | 360 +- .../Fiberon ASA-CF08 @Snapmaker U1 base.json | 83 + .../Fiberon ASA-CF08 @Snapmaker U1.json | 18 + .../Fiberon PA12-CF10 @Snapmaker U1 base.json | 80 + .../Fiberon PA12-CF10 @Snapmaker U1.json | 27 + .../Fiberon PA6-CF20 @Snapmaker U1 base.json | 77 + .../Fiberon PA6-CF20 @Snapmaker U1.json | 27 + .../Fiberon PA612-ESD @Snapmaker U1 base.json | 80 + .../Fiberon PA612-ESD @Snapmaker U1.json | 24 + .../Fiberon PETG-ESD @Snapmaker U1 base.json | 77 + .../Fiberon PETG-ESD @Snapmaker U1.json | 24 + .../Fiberon PPS-GF20 @Snapmaker U1 base.json | 92 + .../Fiberon PPS-GF20 @Snapmaker U1.json | 15 + ...=> Panchroma CoPE @Snapmaker U1 base.json} | 44 +- .../Panchroma CoPE @Snapmaker U1.json | 15 + .../Polymaker/Panchroma CoPE @U1.json | 26 - .../Panchroma PLA @Snapmaker U1 base.json | 65 + .../Panchroma PLA @Snapmaker U1.json | 18 + .../Polymaker/Panchroma PLA @U1 base.json | 44 - .../filament/Polymaker/Panchroma PLA @U1.json | 26 - ...roma PLA Celestial @Snapmaker U1 base.json | 65 + ...Panchroma PLA Celestial @Snapmaker U1.json | 15 + .../Panchroma PLA Celestial @U1 base.json | 41 - .../Panchroma PLA Celestial @U1.json | 26 - ...nchroma PLA Galaxy @Snapmaker U1 base.json | 65 + .../Panchroma PLA Galaxy @Snapmaker U1.json | 15 + .../Panchroma PLA Galaxy @U1 base.json | 41 - .../Polymaker/Panchroma PLA Galaxy @U1.json | 26 - ...Panchroma PLA Glow @Snapmaker U1 base.json | 65 + .../Panchroma PLA Glow @Snapmaker U1.json | 15 + .../Panchroma PLA Glow @U1 base.json | 41 - .../Polymaker/Panchroma PLA Glow @U1.json | 26 - ...hroma PLA Luminous @Snapmaker U1 base.json | 65 + .../Panchroma PLA Luminous @Snapmaker U1.json | 15 + .../Panchroma PLA Luminous @U1 base.json | 41 - .../Polymaker/Panchroma PLA Luminous @U1.json | 26 - ...nchroma PLA Marble @Snapmaker U1 base.json | 65 + .../Panchroma PLA Marble @Snapmaker U1.json | 15 + .../Panchroma PLA Marble @U1 base.json | 41 - .../Polymaker/Panchroma PLA Marble @U1.json | 23 - ...anchroma PLA Matte @Snapmaker U1 base.json | 65 + .../Panchroma PLA Matte @Snapmaker U1.json | 15 + .../Panchroma PLA Matte @U1 base.json | 41 - .../Polymaker/Panchroma PLA Matte @U1.json | 23 - ...hroma PLA Metallic @Snapmaker U1 base.json | 65 + .../Panchroma PLA Metallic @Snapmaker U1.json | 15 + .../Panchroma PLA Metallic @U1 base.json | 41 - .../Polymaker/Panchroma PLA Metallic @U1.json | 26 - ...Panchroma PLA Neon @Snapmaker U1 base.json | 65 + .../Panchroma PLA Neon @Snapmaker U1.json | 15 + .../Panchroma PLA Neon @U1 base.json | 41 - .../Polymaker/Panchroma PLA Neon @U1.json | 26 - ...anchroma PLA Satin @Snapmaker U1 base.json | 65 + .../Panchroma PLA Satin @Snapmaker U1.json | 15 + .../Panchroma PLA Satin @U1 base.json | 42 - .../Polymaker/Panchroma PLA Satin @U1.json | 27 - ...Panchroma PLA Silk @Snapmaker U1 base.json | 68 + .../Panchroma PLA Silk @Snapmaker U1.json | 15 + .../Panchroma PLA Silk @U1 base.json | 41 - .../Polymaker/Panchroma PLA Silk @U1.json | 26 - ...roma PLA Starlight @Snapmaker U1 base.json | 65 + ...Panchroma PLA Starlight @Snapmaker U1.json | 15 + .../Panchroma PLA Starlight @U1 base.json | 41 - .../Panchroma PLA Starlight @U1.json | 26 - ...ma PLA Temp Shift @Snapmaker U1 base.json} | 2 +- ...nchroma PLA Temp Shift @Snapmaker U1.json} | 5 +- ...ma PLA Translucent @Snapmaker U1 base.json | 65 + ...nchroma PLA Translucent @Snapmaker U1.json | 15 + .../Panchroma PLA Translucent @U1 base.json | 41 - .../Panchroma PLA Translucent @U1.json | 26 - ...hroma PLA UV Shift @Snapmaker U1 base.json | 65 + .../Panchroma PLA UV Shift @Snapmaker U1.json | 15 + .../Panchroma PLA UV Shift @U1 base.json | 41 - .../Polymaker/Panchroma PLA UV Shift @U1.json | 26 - .../PolyLite CosPLA @Snapmaker U1 base.json | 65 + .../PolyLite CosPLA @Snapmaker U1.json | 14 + .../PolyLite PETG @Snapmaker U1 base.json | 86 + .../PolyLite PETG @Snapmaker U1.json | 105 +- ...e PETG Translucent @Snapmaker U1 base.json | 86 + ...lyLite PETG Translucent @Snapmaker U1.json | 24 + .../PolyLite PLA @Snapmaker U1 base.json | 65 + .../Polymaker/PolyLite PLA @Snapmaker U1.json | 15 + .../Polymaker/PolyLite PLA @U1 base.json | 20 - .../filament/Polymaker/PolyLite PLA @U1.json | 11 - ...olyLite PLA Galaxy @Snapmaker U1 base.json | 65 + .../PolyLite PLA Galaxy @Snapmaker U1.json | 14 + .../PolyLite PLA Glow @Snapmaker U1 base.json | 65 + .../PolyLite PLA Glow @Snapmaker U1.json | 14 + ...yLite PLA Luminous @Snapmaker U1 base.json | 65 + .../PolyLite PLA Luminous @Snapmaker U1.json | 14 + .../PolyLite PLA Neon @Snapmaker U1 base.json | 65 + .../PolyLite PLA Neon @Snapmaker U1.json | 14 + ... PolyLite PLA Pro @Snapmaker U1 base.json} | 2 +- ...on => PolyLite PLA Pro @Snapmaker U1.json} | 5 +- ...e PLA Pro Metallic @Snapmaker U1 base.json | 80 + ...lyLite PLA Pro Metallic @Snapmaker U1.json | 30 + ...Lite PLA Starlight @Snapmaker U1 base.json | 65 + .../PolyLite PLA Starlight @Snapmaker U1.json | 14 + ...te PLA Translucent @Snapmaker U1 base.json | 65 + ...olyLite PLA Translucent @Snapmaker U1.json | 14 + .../PolyTerra PLA @Snapmaker U1 base.json | 65 + .../PolyTerra PLA @Snapmaker U1.json | 15 + .../Polymaker/PolyTerra PLA @U1 base.json | 20 - .../filament/Polymaker/PolyTerra PLA @U1.json | 11 - ...lyTerra PLA Marble @Snapmaker U1 base.json | 65 + .../PolyTerra PLA Marble @Snapmaker U1.json | 14 + .../PolyTerra PLA+ @Snapmaker U1 base.json | 65 + .../PolyTerra PLA+ @Snapmaker U1.json | 14 + ... Polymaker HT-PLA @Snapmaker U1 base.json} | 46 +- .../Polymaker HT-PLA @Snapmaker U1.json | 93 +- .../Polymaker/Polymaker HT-PLA @U1.json | 26 - ...lymaker HT-PLA-GF @Snapmaker U1 base.json} | 46 +- .../Polymaker HT-PLA-GF @Snapmaker U1.json | 93 +- .../Polymaker/Polymaker HT-PLA-GF @U1.json | 26 - .../Polymaker PETG @Snapmaker U1 base.json | 83 + .../Polymaker PETG @Snapmaker U1.json | 101 +- ...ymaker PETG Galaxy @Snapmaker U1 base.json | 83 + .../Polymaker PETG Galaxy @Snapmaker U1.json | 20 + .../Polymaker PLA @Snapmaker U1 base.json | 74 + .../Polymaker PLA @Snapmaker U1.json | 20 + .../Polymaker PLA Pro @Snapmaker U1 base.json | 74 + .../Polymaker PLA Pro @Snapmaker U1.json | 92 +- ...r PLA Pro Metallic @Snapmaker U1 base.json | 74 + ...ymaker PLA Pro Metallic @Snapmaker U1.json | 14 + resources/profiles/Z-Bolt.json | 208 +- resources/profiles/re3D.json | 106 +- 354 files changed, 12942 insertions(+), 7362 deletions(-) create mode 100644 resources/profiles/Anycubic/filament/Polymaker/Fiberon PA6-CF20 @Anycubic Kobra S1.json create mode 100644 resources/profiles/Anycubic/filament/Polymaker/Panchroma PLA @Anycubic Kobra S1.json create mode 100644 resources/profiles/Anycubic/filament/Polymaker/Polymaker PLA Pro @Anycubic Kobra S1.json create mode 100644 resources/profiles/Anycubic/filament/Polymaker/Polymaker PLA Pro Metallic @Anycubic Kobra S1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1M.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL P1P.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1M.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL P1P.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1M.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL P1P.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1M.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL P1P.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1M.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL P1P.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1M.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL P1P.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1M.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL P1P.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1M.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL P1P.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @base.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1M.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL P1P.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL X1.json create mode 100644 resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA12-CF10 @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA12-CF10 @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA6-CF20 @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA6-CF20 @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA612-ESD @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA612-ESD @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon PETG-ESD @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon PETG-ESD @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1.json rename resources/profiles/Snapmaker/filament/Polymaker/{Panchroma CoPE @U1 base.json => Panchroma CoPE @Snapmaker U1 base.json} (51%) create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @U1.json rename resources/profiles/Snapmaker/filament/Polymaker/{Panchroma PLA Temp Shift @U1 base.json => Panchroma PLA Temp Shift @Snapmaker U1 base.json} (91%) rename resources/profiles/Snapmaker/filament/Polymaker/{Panchroma PLA Temp Shift @U1.json => Panchroma PLA Temp Shift @Snapmaker U1.json} (68%) create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite CosPLA @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite CosPLA @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG Translucent @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG Translucent @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Galaxy @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Galaxy @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Glow @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Glow @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Luminous @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Luminous @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Neon @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Neon @Snapmaker U1.json rename resources/profiles/Snapmaker/filament/Polymaker/{PolyLite PLA Pro @U1 base.json => PolyLite PLA Pro @Snapmaker U1 base.json} (92%) rename resources/profiles/Snapmaker/filament/Polymaker/{PolyLite PLA Pro @U1.json => PolyLite PLA Pro @Snapmaker U1.json} (71%) create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro Metallic @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro Metallic @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Starlight @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Starlight @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Translucent @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Translucent @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @Snapmaker U1.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @U1 base.json delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA Marble @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA Marble @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA+ @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA+ @Snapmaker U1.json rename resources/profiles/Snapmaker/filament/Polymaker/{Polymaker HT-PLA @U1 base.json => Polymaker HT-PLA @Snapmaker U1 base.json} (59%) delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @U1.json rename resources/profiles/Snapmaker/filament/Polymaker/{Polymaker HT-PLA-GF @U1 base.json => Polymaker HT-PLA-GF @Snapmaker U1 base.json} (59%) delete mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG Galaxy @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG Galaxy @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA @Snapmaker U1.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro Metallic @Snapmaker U1 base.json create mode 100644 resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro Metallic @Snapmaker U1.json diff --git a/resources/profiles/Anycubic.json b/resources/profiles/Anycubic.json index 789f72f3a1..527247a7e8 100644 --- a/resources/profiles/Anycubic.json +++ b/resources/profiles/Anycubic.json @@ -472,6 +472,10 @@ "name": "Anycubic Generic PA-CF", "sub_path": "filament/Anycubic Generic PA-CF.json" }, + { + "name": "Fiberon PA6-CF20 @Anycubic Kobra S1", + "sub_path": "filament/Polymaker/Fiberon PA6-CF20 @Anycubic Kobra S1.json" + }, { "name": "Anycubic Generic PC", "sub_path": "filament/Anycubic Generic PC.json" @@ -588,6 +592,18 @@ "name": "Anycubic PLA+ @Anycubic Kobra X 0.4 nozzle", "sub_path": "filament/Anycubic PLA+ @Anycubic Kobra X 0.4 nozzle.json" }, + { + "name": "Panchroma PLA @Anycubic Kobra S1", + "sub_path": "filament/Polymaker/Panchroma PLA @Anycubic Kobra S1.json" + }, + { + "name": "Polymaker PLA Pro @Anycubic Kobra S1", + "sub_path": "filament/Polymaker/Polymaker PLA Pro @Anycubic Kobra S1.json" + }, + { + "name": "Polymaker PLA Pro Metallic @Anycubic Kobra S1", + "sub_path": "filament/Polymaker/Polymaker PLA Pro Metallic @Anycubic Kobra S1.json" + }, { "name": "Anycubic Generic PVA", "sub_path": "filament/Anycubic Generic PVA.json" diff --git a/resources/profiles/Anycubic/filament/Polymaker/Fiberon PA6-CF20 @Anycubic Kobra S1.json b/resources/profiles/Anycubic/filament/Polymaker/Fiberon PA6-CF20 @Anycubic Kobra S1.json new file mode 100644 index 0000000000..96fbc6f25b --- /dev/null +++ b/resources/profiles/Anycubic/filament/Polymaker/Fiberon PA6-CF20 @Anycubic Kobra S1.json @@ -0,0 +1,81 @@ +{ + "type": "filament", + "name": "Fiberon PA6-CF20 @Anycubic Kobra S1", + "inherits": "fdm_filament_pa", + "from": "system", + "setting_id": "GFSL57_AC", + "filament_id": "GFL57", + "instantiation": "true", + "compatible_printers": [ + "Anycubic Kobra S1 0.4 nozzle" + ], + "filament_vendor": [ + "Polymaker" + ], + "filament_type": [ + "PA6-CF" + ], + "eng_plate_temp": [ + "40" + ], + "hot_plate_temp": [ + "40" + ], + "textured_plate_temp": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ], + "overhang_fan_speed": [ + "100" + ], + "filament_flow_ratio": [ + "1.03" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "filament_cost": [ + "79.98" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "7.5" + ], + "filament_retraction_length": [ + "1.0" + ], + "filament_z_hop": [ + "0.0" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "fan_max_speed": [ + "30" + ], + "slow_down_layer_time": [ + "6" + ], + "nozzle_temperature": [ + "300" + ], + "temperature_vitrification": [ + "74.2" + ], + "nozzle_temperature_range_low": [ + "280" + ] +} diff --git a/resources/profiles/Anycubic/filament/Polymaker/Panchroma PLA @Anycubic Kobra S1.json b/resources/profiles/Anycubic/filament/Polymaker/Panchroma PLA @Anycubic Kobra S1.json new file mode 100644 index 0000000000..b9a9267260 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Polymaker/Panchroma PLA @Anycubic Kobra S1.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "Panchroma PLA @Anycubic Kobra S1", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "GFSPM001_AC", + "filament_id": "GFPM001", + "instantiation": "true", + "compatible_printers": [ + "Anycubic Kobra S1 0.4 nozzle" + ], + "filament_vendor": [ + "Polymaker" + ], + "filament_type": [ + "PLA" + ], + "cool_plate_temp": [ + "50" + ], + "eng_plate_temp": [ + "50" + ], + "hot_plate_temp": [ + "50" + ], + "textured_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_flow_ratio": [ + "0.88" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.32" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "slow_down_min_speed": [ + "5" + ], + "slow_down_layer_time": [ + "10" + ], + "temperature_vitrification": [ + "62.5" + ], + "additional_cooling_fan_speed": [ + "0" + ], + + "enable_pressure_advance": [ + "1" + ] +} diff --git a/resources/profiles/Anycubic/filament/Polymaker/Polymaker PLA Pro @Anycubic Kobra S1.json b/resources/profiles/Anycubic/filament/Polymaker/Polymaker PLA Pro @Anycubic Kobra S1.json new file mode 100644 index 0000000000..54e1323cac --- /dev/null +++ b/resources/profiles/Anycubic/filament/Polymaker/Polymaker PLA Pro @Anycubic Kobra S1.json @@ -0,0 +1,66 @@ +{ + "type": "filament", + "name": "Polymaker PLA Pro @Anycubic Kobra S1", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "GFSL79_AC", + "filament_id": "GFL79", + "instantiation": "true", + "compatible_printers": [ + "Anycubic Kobra S1 0.4 nozzle" + ], + "filament_vendor": [ + "Polymaker" + ], + "filament_type": [ + "PLA" + ], + "cool_plate_temp": [ + "50" + ], + "eng_plate_temp": [ + "50" + ], + "hot_plate_temp": [ + "50" + ], + "textured_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_flow_ratio": [ + "0.85" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.23" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_min_speed": [ + "5" + ], + "slow_down_layer_time": [ + "10" + ], + "temperature_vitrification": [ + "55" + ], + "additional_cooling_fan_speed": [ + "0" + ] +} diff --git a/resources/profiles/Anycubic/filament/Polymaker/Polymaker PLA Pro Metallic @Anycubic Kobra S1.json b/resources/profiles/Anycubic/filament/Polymaker/Polymaker PLA Pro Metallic @Anycubic Kobra S1.json new file mode 100644 index 0000000000..abdc6a6e1d --- /dev/null +++ b/resources/profiles/Anycubic/filament/Polymaker/Polymaker PLA Pro Metallic @Anycubic Kobra S1.json @@ -0,0 +1,66 @@ +{ + "type": "filament", + "name": "Polymaker PLA Pro Metallic @Anycubic Kobra S1", + "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "GFSL80_AC", + "filament_id": "GFL80", + "instantiation": "true", + "compatible_printers": [ + "Anycubic Kobra S1 0.4 nozzle" + ], + "filament_vendor": [ + "Polymaker" + ], + "filament_type": [ + "PLA" + ], + "cool_plate_temp": [ + "50" + ], + "eng_plate_temp": [ + "50" + ], + "hot_plate_temp": [ + "50" + ], + "textured_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_flow_ratio": [ + "0.85" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.23" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_min_speed": [ + "5" + ], + "slow_down_layer_time": [ + "10" + ], + "temperature_vitrification": [ + "55" + ], + "additional_cooling_fan_speed": [ + "0" + ] +} diff --git a/resources/profiles/BBL.json b/resources/profiles/BBL.json index d110bda4b2..f24d6d8caf 100644 --- a/resources/profiles/BBL.json +++ b/resources/profiles/BBL.json @@ -243,6 +243,10 @@ "name": "0.08mm Extra Fine @BBL H2DP 0.2 nozzle", "sub_path": "process/0.08mm Extra Fine @BBL H2DP 0.2 nozzle.json" }, + { + "name": "0.08mm High Quality @BBL X2D 0.2 nozzle", + "sub_path": "process/0.08mm High Quality @BBL X2D 0.2 nozzle.json" + }, { "name": "0.08mm Extra Fine @BBL H2D", "sub_path": "process/0.08mm Extra Fine @BBL H2D.json" @@ -251,6 +255,10 @@ "name": "0.08mm Extra Fine @BBL H2DP", "sub_path": "process/0.08mm Extra Fine @BBL H2DP.json" }, + { + "name": "0.08mm High Quality @BBL X2D", + "sub_path": "process/0.08mm High Quality @BBL X2D.json" + }, { "name": "0.10mm Standard @BBL H2D 0.2 nozzle", "sub_path": "process/0.10mm Standard @BBL H2D 0.2 nozzle.json" @@ -259,6 +267,10 @@ "name": "0.10mm Standard @BBL H2DP 0.2 nozzle", "sub_path": "process/0.10mm Standard @BBL H2DP 0.2 nozzle.json" }, + { + "name": "0.10mm Standard @BBL X2D 0.2 nozzle", + "sub_path": "process/0.10mm Standard @BBL X2D 0.2 nozzle.json" + }, { "name": "0.12mm Balanced Quality @BBL H2D 0.2 nozzle", "sub_path": "process/0.12mm Balanced Quality @BBL H2D 0.2 nozzle.json" @@ -267,6 +279,10 @@ "name": "0.12mm Balanced Quality @BBL H2DP 0.2 nozzle", "sub_path": "process/0.12mm Balanced Quality @BBL H2DP 0.2 nozzle.json" }, + { + "name": "0.12mm Balanced Quality @BBL X2D 0.2 nozzle", + "sub_path": "process/0.12mm Balanced Quality @BBL X2D 0.2 nozzle.json" + }, { "name": "0.12mm Fine @BBL H2D", "sub_path": "process/0.12mm Fine @BBL H2D.json" @@ -275,6 +291,10 @@ "name": "0.12mm Fine @BBL H2DP", "sub_path": "process/0.12mm Fine @BBL H2DP.json" }, + { + "name": "0.12mm High Quality @BBL X2D", + "sub_path": "process/0.12mm High Quality @BBL X2D.json" + }, { "name": "0.16mm Balanced Quality @BBL H2D", "sub_path": "process/0.16mm Balanced Quality @BBL H2D.json" @@ -283,6 +303,10 @@ "name": "0.16mm Balanced Quality @BBL H2DP", "sub_path": "process/0.16mm Balanced Quality @BBL H2DP.json" }, + { + "name": "0.16mm High Quality @BBL X2D", + "sub_path": "process/0.16mm High Quality @BBL X2D.json" + }, { "name": "0.16mm Standard @BBL H2D", "sub_path": "process/0.16mm Standard @BBL H2D.json" @@ -291,6 +315,10 @@ "name": "0.16mm Standard @BBL H2DP", "sub_path": "process/0.16mm Standard @BBL H2DP.json" }, + { + "name": "0.16mm Standard @BBL X2D", + "sub_path": "process/0.16mm Standard @BBL X2D.json" + }, { "name": "0.18mm Balanced Quality @BBL H2D 0.6 nozzle", "sub_path": "process/0.18mm Balanced Quality @BBL H2D 0.6 nozzle.json" @@ -299,6 +327,10 @@ "name": "0.18mm Balanced Quality @BBL H2DP 0.6 nozzle", "sub_path": "process/0.18mm Balanced Quality @BBL H2DP 0.6 nozzle.json" }, + { + "name": "0.18mm Balanced Quality @BBL X2D 0.6 nozzle", + "sub_path": "process/0.18mm Balanced Quality @BBL X2D 0.6 nozzle.json" + }, { "name": "0.20mm Balanced Strength @BBL H2D", "sub_path": "process/0.20mm Balanced Strength @BBL H2D.json" @@ -307,6 +339,10 @@ "name": "0.20mm Balanced Strength @BBL H2DP", "sub_path": "process/0.20mm Balanced Strength @BBL H2DP.json" }, + { + "name": "0.20mm High Quality @BBL X2D", + "sub_path": "process/0.20mm High Quality @BBL X2D.json" + }, { "name": "0.20mm Standard @BBL H2D", "sub_path": "process/0.20mm Standard @BBL H2D.json" @@ -315,6 +351,10 @@ "name": "0.20mm Standard @BBL H2DP", "sub_path": "process/0.20mm Standard @BBL H2DP.json" }, + { + "name": "0.20mm Standard @BBL X2D", + "sub_path": "process/0.20mm Standard @BBL X2D.json" + }, { "name": "0.24mm Standard @BBL H2D", "sub_path": "process/0.24mm Standard @BBL H2D.json" @@ -323,6 +363,14 @@ "name": "0.24mm Standard @BBL H2DP", "sub_path": "process/0.24mm Standard @BBL H2DP.json" }, + { + "name": "0.24mm Standard @BBL X2D", + "sub_path": "process/0.24mm Standard @BBL X2D.json" + }, + { + "name": "0.24mm Balanced Quality @BBL X2D 0.6 nozzle", + "sub_path": "process/0.24mm Balanced Quality @BBL X2D 0.6 nozzle.json" + }, { "name": "0.24mm Balanced Strength @BBL H2D 0.6 nozzle", "sub_path": "process/0.24mm Balanced Strength @BBL H2D 0.6 nozzle.json" @@ -339,6 +387,10 @@ "name": "0.24mm Balanced Quality @BBL H2DP 0.8 nozzle", "sub_path": "process/0.24mm Balanced Quality @BBL H2DP 0.8 nozzle.json" }, + { + "name": "0.24mm Balanced Quality @BBL X2D 0.8 nozzle", + "sub_path": "process/0.24mm Balanced Quality @BBL X2D 0.8 nozzle.json" + }, { "name": "0.30mm Standard @BBL H2D 0.6 nozzle", "sub_path": "process/0.30mm Standard @BBL H2D 0.6 nozzle.json" @@ -347,6 +399,14 @@ "name": "0.30mm Standard @BBL H2DP 0.6 nozzle", "sub_path": "process/0.30mm Standard @BBL H2DP 0.6 nozzle.json" }, + { + "name": "0.30mm Standard @BBL X2D 0.6 nozzle", + "sub_path": "process/0.30mm Standard @BBL X2D 0.6 nozzle.json" + }, + { + "name": "0.32mm Balanced Quality @BBL X2D 0.8 nozzle", + "sub_path": "process/0.32mm Balanced Quality @BBL X2D 0.8 nozzle.json" + }, { "name": "0.32mm Balanced Strength @BBL H2D 0.8 nozzle", "sub_path": "process/0.32mm Balanced Strength @BBL H2D 0.8 nozzle.json" @@ -363,6 +423,10 @@ "name": "0.40mm Standard @BBL H2DP 0.8 nozzle", "sub_path": "process/0.40mm Standard @BBL H2DP 0.8 nozzle.json" }, + { + "name": "0.40mm Standard @BBL X2D 0.8 nozzle", + "sub_path": "process/0.40mm Standard @BBL X2D 0.8 nozzle.json" + }, { "name": "0.06mm Fine @BBL A1 0.2 nozzle", "sub_path": "process/0.06mm Fine @BBL A1 0.2 nozzle.json" @@ -962,70 +1026,6 @@ { "name": "0.56mm Standard @BBL X1C 0.8 nozzle", "sub_path": "process/0.56mm Standard @BBL X1C 0.8 nozzle.json" - }, - { - "name": "0.08mm High Quality @BBL X2D 0.2 nozzle", - "sub_path": "process/0.08mm High Quality @BBL X2D 0.2 nozzle.json" - }, - { - "name": "0.08mm High Quality @BBL X2D", - "sub_path": "process/0.08mm High Quality @BBL X2D.json" - }, - { - "name": "0.10mm Standard @BBL X2D 0.2 nozzle", - "sub_path": "process/0.10mm Standard @BBL X2D 0.2 nozzle.json" - }, - { - "name": "0.12mm Balanced Quality @BBL X2D 0.2 nozzle", - "sub_path": "process/0.12mm Balanced Quality @BBL X2D 0.2 nozzle.json" - }, - { - "name": "0.12mm High Quality @BBL X2D", - "sub_path": "process/0.12mm High Quality @BBL X2D.json" - }, - { - "name": "0.16mm High Quality @BBL X2D", - "sub_path": "process/0.16mm High Quality @BBL X2D.json" - }, - { - "name": "0.16mm Standard @BBL X2D", - "sub_path": "process/0.16mm Standard @BBL X2D.json" - }, - { - "name": "0.18mm Balanced Quality @BBL X2D 0.6 nozzle", - "sub_path": "process/0.18mm Balanced Quality @BBL X2D 0.6 nozzle.json" - }, - { - "name": "0.20mm High Quality @BBL X2D", - "sub_path": "process/0.20mm High Quality @BBL X2D.json" - }, - { - "name": "0.20mm Standard @BBL X2D", - "sub_path": "process/0.20mm Standard @BBL X2D.json" - }, - { - "name": "0.24mm Standard @BBL X2D", - "sub_path": "process/0.24mm Standard @BBL X2D.json" - }, - { - "name": "0.24mm Balanced Quality @BBL X2D 0.6 nozzle", - "sub_path": "process/0.24mm Balanced Quality @BBL X2D 0.6 nozzle.json" - }, - { - "name": "0.24mm Balanced Quality @BBL X2D 0.8 nozzle", - "sub_path": "process/0.24mm Balanced Quality @BBL X2D 0.8 nozzle.json" - }, - { - "name": "0.30mm Standard @BBL X2D 0.6 nozzle", - "sub_path": "process/0.30mm Standard @BBL X2D 0.6 nozzle.json" - }, - { - "name": "0.32mm Balanced Quality @BBL X2D 0.8 nozzle", - "sub_path": "process/0.32mm Balanced Quality @BBL X2D 0.8 nozzle.json" - }, - { - "name": "0.40mm Standard @BBL X2D 0.8 nozzle", - "sub_path": "process/0.40mm Standard @BBL X2D 0.8 nozzle.json" } ], "filament_list": [ @@ -1197,6 +1197,10 @@ "name": "FusRock ABS-GF @BBL X1C", "sub_path": "filament/FusRock/FusRock ABS-GF @BBL X1C.json" }, + { + "name": "BETA ABS @base", + "sub_path": "filament/BETA/BETA ABS @base.json" + }, { "name": "Bambu ABS @base", "sub_path": "filament/Bambu ABS @base.json" @@ -1217,6 +1221,10 @@ "name": "PolyLite ABS @base", "sub_path": "filament/Polymaker/PolyLite ABS @base.json" }, + { + "name": "BETA ASA @base", + "sub_path": "filament/BETA/BETA ASA @base.json" + }, { "name": "Bambu ASA @base", "sub_path": "filament/Bambu ASA @base.json" @@ -1245,10 +1253,18 @@ "name": "Generic EVA @base", "sub_path": "filament/Generic EVA @base.json" }, + { + "name": "BETA HIPS @base", + "sub_path": "filament/BETA/BETA HIPS @base.json" + }, { "name": "Generic HIPS @base", "sub_path": "filament/Generic HIPS @base.json" }, + { + "name": "BETA PAHT-CF @base", + "sub_path": "filament/BETA/BETA PAHT-CF @base.json" + }, { "name": "Bambu PA-CF @base", "sub_path": "filament/Bambu PA-CF @base.json" @@ -1277,18 +1293,34 @@ "name": "Fiberon PA12-CF @base", "sub_path": "filament/Polymaker/Fiberon PA12-CF @base.json" }, + { + "name": "Fiberon PA12-CF10 @base", + "sub_path": "filament/Polymaker/Fiberon PA12-CF10 @base.json" + }, { "name": "Fiberon PA6-CF @base", "sub_path": "filament/Polymaker/Fiberon PA6-CF @base.json" }, + { + "name": "Fiberon PA6-CF20 @base", + "sub_path": "filament/Polymaker/Fiberon PA6-CF20 @base.json" + }, { "name": "Fiberon PA6-GF @base", "sub_path": "filament/Polymaker/Fiberon PA6-GF @base.json" }, + { + "name": "Fiberon PA6-GF25 @base", + "sub_path": "filament/Polymaker/Fiberon PA6-GF25 @base.json" + }, { "name": "Fiberon PA612-CF @base", "sub_path": "filament/Polymaker/Fiberon PA612-CF @base.json" }, + { + "name": "Fiberon PA612-CF15 @base", + "sub_path": "filament/Polymaker/Fiberon PA612-CF15 @base.json" + }, { "name": "Generic PA @base", "sub_path": "filament/Generic PA @base.json" @@ -1321,6 +1353,62 @@ "name": "Generic PE-CF @base", "sub_path": "filament/Generic PE-CF @base.json" }, + { + "name": "BETA PETG @base", + "sub_path": "filament/BETA/BETA PETG @base.json" + }, + { + "name": "BETA PETG Fluorescence @base", + "sub_path": "filament/BETA/BETA PETG Fluorescence @base.json" + }, + { + "name": "BETA PETG Glitter @base", + "sub_path": "filament/BETA/BETA PETG Glitter @base.json" + }, + { + "name": "BETA PETG Glow @base", + "sub_path": "filament/BETA/BETA PETG Glow @base.json" + }, + { + "name": "BETA PETG Gradient @base", + "sub_path": "filament/BETA/BETA PETG Gradient @base.json" + }, + { + "name": "BETA PETG HF @base", + "sub_path": "filament/BETA/BETA PETG HF @base.json" + }, + { + "name": "BETA PETG Heat Color Change @base", + "sub_path": "filament/BETA/BETA PETG Heat Color Change @base.json" + }, + { + "name": "BETA PETG Marble @base", + "sub_path": "filament/BETA/BETA PETG Marble @base.json" + }, + { + "name": "BETA PETG Matte @base", + "sub_path": "filament/BETA/BETA PETG Matte @base.json" + }, + { + "name": "BETA PETG Metallic @base", + "sub_path": "filament/BETA/BETA PETG Metallic @base.json" + }, + { + "name": "BETA PETG Transparent @base", + "sub_path": "filament/BETA/BETA PETG Transparent @base.json" + }, + { + "name": "BETA PETG UV Color Change @base", + "sub_path": "filament/BETA/BETA PETG UV Color Change @base.json" + }, + { + "name": "BETA PETG-CF @base", + "sub_path": "filament/BETA/BETA PETG-CF @base.json" + }, + { + "name": "BETA PETG-GF @base", + "sub_path": "filament/BETA/BETA PETG-GF @base.json" + }, { "name": "Bambu PET-CF @base", "sub_path": "filament/Bambu PET-CF @base.json" @@ -1345,6 +1433,10 @@ "name": "Fiberon PET-CF @base", "sub_path": "filament/Polymaker/Fiberon PET-CF @base.json" }, + { + "name": "Fiberon PET-CF17 @base", + "sub_path": "filament/Polymaker/Fiberon PET-CF17 @base.json" + }, { "name": "Fiberon PETG-ESD @base", "sub_path": "filament/Polymaker/Fiberon PETG-ESD @base.json" @@ -1353,6 +1445,10 @@ "name": "Fiberon PETG-rCF @base", "sub_path": "filament/Polymaker/Fiberon PETG-rCF @base.json" }, + { + "name": "Fiberon PETG-rCF08 @base", + "sub_path": "filament/Polymaker/Fiberon PETG-rCF08 @base.json" + }, { "name": "Generic PETG @base", "sub_path": "filament/Generic PETG @base.json" @@ -1377,6 +1473,90 @@ "name": "Generic PHA @base", "sub_path": "filament/Generic PHA @base.json" }, + { + "name": "BETA PLA Basic @base", + "sub_path": "filament/BETA/BETA PLA Basic @base.json" + }, + { + "name": "BETA PLA Chameleon @base", + "sub_path": "filament/BETA/BETA PLA Chameleon @base.json" + }, + { + "name": "BETA PLA Fluorescence @base", + "sub_path": "filament/BETA/BETA PLA Fluorescence @base.json" + }, + { + "name": "BETA PLA Glitter @base", + "sub_path": "filament/BETA/BETA PLA Glitter @base.json" + }, + { + "name": "BETA PLA Glow @base", + "sub_path": "filament/BETA/BETA PLA Glow @base.json" + }, + { + "name": "BETA PLA Gradient @base", + "sub_path": "filament/BETA/BETA PLA Gradient @base.json" + }, + { + "name": "BETA PLA Heat Color Change @base", + "sub_path": "filament/BETA/BETA PLA Heat Color Change @base.json" + }, + { + "name": "BETA PLA High Speed @base", + "sub_path": "filament/BETA/BETA PLA High Speed @base.json" + }, + { + "name": "BETA PLA High Temp @base", + "sub_path": "filament/BETA/BETA PLA High Temp @base.json" + }, + { + "name": "BETA PLA Marble @base", + "sub_path": "filament/BETA/BETA PLA Marble @base.json" + }, + { + "name": "BETA PLA Matte @base", + "sub_path": "filament/BETA/BETA PLA Matte @base.json" + }, + { + "name": "BETA PLA Metal @base", + "sub_path": "filament/BETA/BETA PLA Metal @base.json" + }, + { + "name": "BETA PLA Metallic @base", + "sub_path": "filament/BETA/BETA PLA Metallic @base.json" + }, + { + "name": "BETA PLA PRO @base", + "sub_path": "filament/BETA/BETA PLA PRO @base.json" + }, + { + "name": "BETA PLA Silk @base", + "sub_path": "filament/BETA/BETA PLA Silk @base.json" + }, + { + "name": "BETA PLA Silk+ @base", + "sub_path": "filament/BETA/BETA PLA Silk+ @base.json" + }, + { + "name": "BETA PLA Transparent @base", + "sub_path": "filament/BETA/BETA PLA Transparent @base.json" + }, + { + "name": "BETA PLA UV Color Change @base", + "sub_path": "filament/BETA/BETA PLA UV Color Change @base.json" + }, + { + "name": "BETA PLA Wood @base", + "sub_path": "filament/BETA/BETA PLA Wood @base.json" + }, + { + "name": "BETA PLA Youth @base", + "sub_path": "filament/BETA/BETA PLA Youth @base.json" + }, + { + "name": "BETA PLA-CF @base", + "sub_path": "filament/BETA/BETA PLA-CF @base.json" + }, { "name": "Bambu PLA Aero @base", "sub_path": "filament/Bambu PLA Aero @base.json" @@ -1553,18 +1733,54 @@ "name": "Panchroma PLA UV Shift @base", "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @base.json" }, + { + "name": "PolyLite CosPLA @base", + "sub_path": "filament/Polymaker/PolyLite CosPLA @base.json" + }, { "name": "PolyLite PLA @base", "sub_path": "filament/Polymaker/PolyLite PLA @base.json" }, + { + "name": "PolyLite PLA Galaxy @base", + "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @base.json" + }, + { + "name": "PolyLite PLA Glow @base", + "sub_path": "filament/Polymaker/PolyLite PLA Glow @base.json" + }, + { + "name": "PolyLite PLA Luminous @base", + "sub_path": "filament/Polymaker/PolyLite PLA Luminous @base.json" + }, + { + "name": "PolyLite PLA Neon @base", + "sub_path": "filament/Polymaker/PolyLite PLA Neon @base.json" + }, { "name": "PolyLite PLA Pro @base", "sub_path": "filament/Polymaker/PolyLite PLA Pro @base.json" }, + { + "name": "PolyLite PLA Starlight @base", + "sub_path": "filament/Polymaker/PolyLite PLA Starlight @base.json" + }, + { + "name": "PolyLite PLA Translucent @base", + "sub_path": "filament/Polymaker/PolyLite PLA Translucent @base.json" + }, { "name": "PolyTerra PLA @base", "sub_path": "filament/Polymaker/PolyTerra PLA @base.json" }, + { + "name": "PolyTerra PLA Marble @base", + "sub_path": "filament/Polymaker/PolyTerra PLA Marble @base.json" + }, + { + "name": "PolyTerra PLA+ @base", + "sub_path": "filament/Polymaker/PolyTerra PLA+ @base.json" + }, { "name": "Polymaker HT-PLA @base", "sub_path": "filament/Polymaker/Polymaker HT-PLA @base.json" @@ -1649,6 +1865,26 @@ "name": "Generic SBS @base", "sub_path": "filament/Generic SBS @base.json" }, + { + "name": "BETA PEBA 90A @base", + "sub_path": "filament/BETA/BETA PEBA 90A @base.json" + }, + { + "name": "BETA TPU 90A @base", + "sub_path": "filament/BETA/BETA TPU 90A @base.json" + }, + { + "name": "BETA TPU 95A @base", + "sub_path": "filament/BETA/BETA TPU 95A @base.json" + }, + { + "name": "BETA TPU 98A @base", + "sub_path": "filament/BETA/BETA TPU 98A @base.json" + }, + { + "name": "BETA TPU Matte @base", + "sub_path": "filament/BETA/BETA TPU Matte @base.json" + }, { "name": "Bambu TPU 85A @base", "sub_path": "filament/Bambu TPU 85A @base.json" @@ -1677,6 +1913,22 @@ "name": "Generic TPU for AMS @base", "sub_path": "filament/Generic TPU for AMS @base.json" }, + { + "name": "BETA ABS @BBL A1", + "sub_path": "filament/BETA/BETA ABS @BBL A1.json" + }, + { + "name": "BETA ABS @BBL H2D", + "sub_path": "filament/BETA/BETA ABS @BBL H2D.json" + }, + { + "name": "BETA ABS @BBL P1P", + "sub_path": "filament/BETA/BETA ABS @BBL P1P.json" + }, + { + "name": "BETA ABS @BBL X1C", + "sub_path": "filament/BETA/BETA ABS @BBL X1C.json" + }, { "name": "Bambu ABS @BBL A1", "sub_path": "filament/Bambu ABS @BBL A1.json" @@ -1781,6 +2033,22 @@ "name": "Bambu ABS @BBL X1E 0.8 nozzle", "sub_path": "filament/Bambu ABS @BBL X1E 0.8 nozzle.json" }, + { + "name": "Bambu ABS @BBL X2D", + "sub_path": "filament/Bambu ABS @BBL X2D.json" + }, + { + "name": "Bambu ABS @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu ABS @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu ABS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu ABS @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu ABS @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu ABS @BBL X2D 0.8 nozzle.json" + }, { "name": "Bambu ABS-GF @BBL A1", "sub_path": "filament/Bambu ABS-GF @BBL A1.json" @@ -1809,6 +2077,14 @@ "name": "Bambu ABS-GF @BBL X1C", "sub_path": "filament/Bambu ABS-GF @BBL X1C.json" }, + { + "name": "Bambu ABS-GF @BBL X2D", + "sub_path": "filament/Bambu ABS-GF @BBL X2D.json" + }, + { + "name": "Bambu ABS-GF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu ABS-GF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu Support for ABS @BBL A1", "sub_path": "filament/Bambu Support for ABS @BBL A1.json" @@ -1833,6 +2109,14 @@ "name": "Bambu Support for ABS @BBL X1C", "sub_path": "filament/Bambu Support for ABS @BBL X1C.json" }, + { + "name": "Bambu Support for ABS @BBL X2D", + "sub_path": "filament/Bambu Support for ABS @BBL X2D.json" + }, + { + "name": "Bambu Support for ABS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support for ABS @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic ABS", "sub_path": "filament/Generic ABS.json" @@ -1881,6 +2165,18 @@ "name": "Generic ABS @BBL P2S 0.2 nozzle", "sub_path": "filament/Generic ABS @BBL P2S 0.2 nozzle.json" }, + { + "name": "Generic ABS @BBL X2D", + "sub_path": "filament/Generic ABS @BBL X2D.json" + }, + { + "name": "Generic ABS @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic ABS @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic ABS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic ABS @BBL X2D 0.4 nozzle.json" + }, { "name": "PolyLite ABS @BBL A1", "sub_path": "filament/Polymaker/PolyLite ABS @BBL A1.json" @@ -1921,6 +2217,18 @@ "name": "PolyLite ABS @BBL X1E 0.2 nozzle", "sub_path": "filament/Polymaker/PolyLite ABS @BBL X1E 0.2 nozzle.json" }, + { + "name": "BETA ASA @BBL A1 0.4 nozzle", + "sub_path": "filament/BETA/BETA ASA @BBL A1 0.4 nozzle.json" + }, + { + "name": "BETA ASA @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA ASA @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA ASA @BBL X1C 0.4 nozzle", + "sub_path": "filament/BETA/BETA ASA @BBL X1C 0.4 nozzle.json" + }, { "name": "Bambu ASA @BBL A1 0.2 nozzle", "sub_path": "filament/Bambu ASA @BBL A1 0.2 nozzle.json" @@ -2029,6 +2337,18 @@ "name": "Bambu ASA @BBL X1E 0.4 nozzle", "sub_path": "filament/Bambu ASA @BBL X1E 0.4 nozzle.json" }, + { + "name": "Bambu ASA @BBL X2D", + "sub_path": "filament/Bambu ASA @BBL X2D.json" + }, + { + "name": "Bambu ASA @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu ASA @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu ASA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu ASA @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu ASA-Aero @BBL A1", "sub_path": "filament/Bambu ASA-Aero @BBL A1.json" @@ -2057,6 +2377,14 @@ "name": "Bambu ASA-Aero @BBL X1C", "sub_path": "filament/Bambu ASA-Aero @BBL X1C.json" }, + { + "name": "Bambu ASA-Aero @BBL X2D", + "sub_path": "filament/Bambu ASA-Aero @BBL X2D.json" + }, + { + "name": "Bambu ASA-Aero @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu ASA-Aero @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu ASA-CF @BBL A1", "sub_path": "filament/Bambu ASA-CF @BBL A1.json" @@ -2109,6 +2437,14 @@ "name": "Bambu ASA-CF @BBL X1C 0.6 nozzle", "sub_path": "filament/Bambu ASA-CF @BBL X1C 0.6 nozzle.json" }, + { + "name": "Bambu ASA-CF @BBL X2D", + "sub_path": "filament/Bambu ASA-CF @BBL X2D.json" + }, + { + "name": "Bambu ASA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu ASA-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic ASA", "sub_path": "filament/Generic ASA.json" @@ -2157,6 +2493,18 @@ "name": "Generic ASA @BBL P2S 0.2 nozzle", "sub_path": "filament/Generic ASA @BBL P2S 0.2 nozzle.json" }, + { + "name": "Generic ASA @BBL X2D", + "sub_path": "filament/Generic ASA @BBL X2D.json" + }, + { + "name": "Generic ASA @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic ASA @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic ASA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic ASA @BBL X2D 0.4 nozzle.json" + }, { "name": "PolyLite ASA @BBL A1", "sub_path": "filament/Polymaker/PolyLite ASA @BBL A1.json" @@ -2221,6 +2569,14 @@ "name": "Generic BVOH @BBL X1C", "sub_path": "filament/Generic BVOH @BBL X1C.json" }, + { + "name": "Generic BVOH @BBL X2D", + "sub_path": "filament/Generic BVOH @BBL X2D.json" + }, + { + "name": "Generic BVOH @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic BVOH @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic EVA @BBL A1", "sub_path": "filament/Generic EVA @BBL A1.json" @@ -2249,6 +2605,22 @@ "name": "Generic EVA @BBL X1C", "sub_path": "filament/Generic EVA @BBL X1C.json" }, + { + "name": "Generic EVA @BBL X2D", + "sub_path": "filament/Generic EVA @BBL X2D.json" + }, + { + "name": "Generic EVA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic EVA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "BETA HIPS @BBL H2D", + "sub_path": "filament/BETA/BETA HIPS @BBL H2D.json" + }, + { + "name": "BETA HIPS @BBL X1C", + "sub_path": "filament/BETA/BETA HIPS @BBL X1C.json" + }, { "name": "Generic HIPS @BBL A1", "sub_path": "filament/Generic HIPS @BBL A1.json" @@ -2305,6 +2677,30 @@ "name": "Generic HIPS @BBL X1C 0.2 nozzle", "sub_path": "filament/Generic HIPS @BBL X1C 0.2 nozzle.json" }, + { + "name": "Generic HIPS @BBL X2D", + "sub_path": "filament/Generic HIPS @BBL X2D.json" + }, + { + "name": "Generic HIPS @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic HIPS @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic HIPS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic HIPS @BBL X2D 0.4 nozzle.json" + }, + { + "name": "BETA PAHT-CF @BBL H2D", + "sub_path": "filament/BETA/BETA PAHT-CF @BBL H2D.json" + }, + { + "name": "BETA PAHT-CF @BBL P1P", + "sub_path": "filament/BETA/BETA PAHT-CF @BBL P1P.json" + }, + { + "name": "BETA PAHT-CF @BBL X1C", + "sub_path": "filament/BETA/BETA PAHT-CF @BBL X1C.json" + }, { "name": "Bambu PA-CF @BBL A1", "sub_path": "filament/Bambu PA-CF @BBL A1.json" @@ -2337,6 +2733,14 @@ "name": "Bambu PA-CF @BBL X1E", "sub_path": "filament/Bambu PA-CF @BBL X1E.json" }, + { + "name": "Bambu PA-CF @BBL X2D", + "sub_path": "filament/Bambu PA-CF @BBL X2D.json" + }, + { + "name": "Bambu PA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PA-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PA6-CF @BBL A1", "sub_path": "filament/Bambu PA6-CF @BBL A1.json" @@ -2365,6 +2769,14 @@ "name": "Bambu PA6-CF @BBL X1E", "sub_path": "filament/Bambu PA6-CF @BBL X1E.json" }, + { + "name": "Bambu PA6-CF @BBL X2D", + "sub_path": "filament/Bambu PA6-CF @BBL X2D.json" + }, + { + "name": "Bambu PA6-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PA6-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PA6-GF @BBL A1", "sub_path": "filament/Bambu PA6-GF @BBL A1.json" @@ -2393,6 +2805,14 @@ "name": "Bambu PA6-GF @BBL X1C", "sub_path": "filament/Bambu PA6-GF @BBL X1C.json" }, + { + "name": "Bambu PA6-GF @BBL X2D", + "sub_path": "filament/Bambu PA6-GF @BBL X2D.json" + }, + { + "name": "Bambu PA6-GF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PA6-GF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PAHT-CF @BBL A1", "sub_path": "filament/Bambu PAHT-CF @BBL A1.json" @@ -2421,6 +2841,14 @@ "name": "Bambu PAHT-CF @BBL X1C", "sub_path": "filament/Bambu PAHT-CF @BBL X1C.json" }, + { + "name": "Bambu PAHT-CF @BBL X2D", + "sub_path": "filament/Bambu PAHT-CF @BBL X2D.json" + }, + { + "name": "Bambu PAHT-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PAHT-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu Support For PA/PET @BBL A1", "sub_path": "filament/Bambu Support For PA PET @BBL A1.json" @@ -2449,6 +2877,14 @@ "name": "Bambu Support For PA/PET @BBL X1C", "sub_path": "filament/Bambu Support For PA PET @BBL X1C.json" }, + { + "name": "Bambu Support For PA/PET @BBL X2D", + "sub_path": "filament/Bambu Support For PA PET @BBL X2D.json" + }, + { + "name": "Bambu Support For PA/PET @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support For PA PET @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu Support G @BBL A1", "sub_path": "filament/Bambu Support G @BBL A1.json" @@ -2481,6 +2917,14 @@ "name": "Bambu Support G @BBL X1E", "sub_path": "filament/Bambu Support G @BBL X1E.json" }, + { + "name": "Bambu Support G @BBL X2D", + "sub_path": "filament/Bambu Support G @BBL X2D.json" + }, + { + "name": "Bambu Support G @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support G @BBL X2D 0.4 nozzle.json" + }, { "name": "Fiberon PA12-CF @BBL H2D", "sub_path": "filament/Polymaker/Fiberon PA12-CF @BBL H2D.json" @@ -2489,6 +2933,10 @@ "name": "Fiberon PA12-CF @BBL X1C", "sub_path": "filament/Polymaker/Fiberon PA12-CF @BBL X1C.json" }, + { + "name": "Fiberon PA12-CF10 @BBL X1", + "sub_path": "filament/Polymaker/Fiberon PA12-CF10 @BBL X1.json" + }, { "name": "Fiberon PA6-CF @BBL H2D", "sub_path": "filament/Polymaker/Fiberon PA6-CF @BBL H2D.json" @@ -2497,6 +2945,10 @@ "name": "Fiberon PA6-CF @BBL X1C", "sub_path": "filament/Polymaker/Fiberon PA6-CF @BBL X1C.json" }, + { + "name": "Fiberon PA6-CF20 @BBL X1", + "sub_path": "filament/Polymaker/Fiberon PA6-CF20 @BBL X1.json" + }, { "name": "Fiberon PA6-GF @BBL H2D", "sub_path": "filament/Polymaker/Fiberon PA6-GF @BBL H2D.json" @@ -2505,6 +2957,10 @@ "name": "Fiberon PA6-GF @BBL X1C", "sub_path": "filament/Polymaker/Fiberon PA6-GF @BBL X1C.json" }, + { + "name": "Fiberon PA6-GF25 @BBL X1", + "sub_path": "filament/Polymaker/Fiberon PA6-GF25 @BBL X1.json" + }, { "name": "Fiberon PA612-CF @BBL H2D", "sub_path": "filament/Polymaker/Fiberon PA612-CF @BBL H2D.json" @@ -2513,6 +2969,10 @@ "name": "Fiberon PA612-CF @BBL X1C", "sub_path": "filament/Polymaker/Fiberon PA612-CF @BBL X1C.json" }, + { + "name": "Fiberon PA612-CF15 @BBL X1", + "sub_path": "filament/Polymaker/Fiberon PA612-CF15 @BBL X1.json" + }, { "name": "Generic PA", "sub_path": "filament/Generic PA.json" @@ -2537,6 +2997,14 @@ "name": "Generic PA @BBL P2S", "sub_path": "filament/Generic PA @BBL P2S.json" }, + { + "name": "Generic PA @BBL X2D", + "sub_path": "filament/Generic PA @BBL X2D.json" + }, + { + "name": "Generic PA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PA @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PA-CF", "sub_path": "filament/Generic PA-CF.json" @@ -2553,6 +3021,14 @@ "name": "Generic PA-CF @BBL P2S", "sub_path": "filament/Generic PA-CF @BBL P2S.json" }, + { + "name": "Generic PA-CF @BBL X2D", + "sub_path": "filament/Generic PA-CF @BBL X2D.json" + }, + { + "name": "Generic PA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PA-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PC @BBL A1", "sub_path": "filament/Bambu PC @BBL A1.json" @@ -2661,6 +3137,18 @@ "name": "Bambu PC @BBL X1E 0.8 nozzle", "sub_path": "filament/Bambu PC @BBL X1E 0.8 nozzle.json" }, + { + "name": "Bambu PC @BBL X2D", + "sub_path": "filament/Bambu PC @BBL X2D.json" + }, + { + "name": "Bambu PC @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PC @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PC @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PC @BBL X2D 0.8 nozzle.json" + }, { "name": "Bambu PC FR @BBL A1", "sub_path": "filament/Bambu PC FR @BBL A1.json" @@ -2777,6 +3265,18 @@ "name": "Bambu PC FR @BBL X1E 0.8 nozzle", "sub_path": "filament/Bambu PC FR @BBL X1E 0.8 nozzle.json" }, + { + "name": "Bambu PC FR @BBL X2D", + "sub_path": "filament/Bambu PC FR @BBL X2D.json" + }, + { + "name": "Bambu PC FR @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PC FR @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PC FR @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PC FR @BBL X2D 0.8 nozzle.json" + }, { "name": "Generic PC", "sub_path": "filament/Generic PC.json" @@ -2817,6 +3317,18 @@ "name": "Generic PC @BBL P1P 0.2 nozzle", "sub_path": "filament/P1P/Generic PC @BBL P1P 0.2 nozzle.json" }, + { + "name": "Generic PC @BBL X2D", + "sub_path": "filament/Generic PC @BBL X2D.json" + }, + { + "name": "Generic PC @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PC @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic PC @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PC @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PCTG @BBL A1", "sub_path": "filament/Generic PCTG @BBL A1.json" @@ -2845,6 +3357,14 @@ "name": "Generic PCTG @BBL X1C", "sub_path": "filament/Generic PCTG @BBL X1C.json" }, + { + "name": "Generic PCTG @BBL X2D", + "sub_path": "filament/Generic PCTG @BBL X2D.json" + }, + { + "name": "Generic PCTG @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PCTG @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PE @BBL A1", "sub_path": "filament/Generic PE @BBL A1.json" @@ -2873,6 +3393,14 @@ "name": "Generic PE @BBL X1C", "sub_path": "filament/Generic PE @BBL X1C.json" }, + { + "name": "Generic PE @BBL X2D", + "sub_path": "filament/Generic PE @BBL X2D.json" + }, + { + "name": "Generic PE @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PE @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PE-CF @BBL A1", "sub_path": "filament/Generic PE-CF @BBL A1.json" @@ -2901,6 +3429,246 @@ "name": "Generic PE-CF @BBL X1C", "sub_path": "filament/Generic PE-CF @BBL X1C.json" }, + { + "name": "Generic PE-CF @BBL X2D", + "sub_path": "filament/Generic PE-CF @BBL X2D.json" + }, + { + "name": "Generic PE-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PE-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG @BBL A1", + "sub_path": "filament/BETA/BETA PETG @BBL A1.json" + }, + { + "name": "BETA PETG @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG @BBL X1C", + "sub_path": "filament/BETA/BETA PETG @BBL X1C.json" + }, + { + "name": "BETA PETG Fluorescence @BBL A1", + "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL A1.json" + }, + { + "name": "BETA PETG Fluorescence @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Fluorescence @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Fluorescence @BBL X1C", + "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL X1C.json" + }, + { + "name": "BETA PETG Glitter @BBL A1", + "sub_path": "filament/BETA/BETA PETG Glitter @BBL A1.json" + }, + { + "name": "BETA PETG Glitter @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Glitter @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Glitter @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Glitter @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Glitter @BBL X1C", + "sub_path": "filament/BETA/BETA PETG Glitter @BBL X1C.json" + }, + { + "name": "BETA PETG Glow @BBL A1", + "sub_path": "filament/BETA/BETA PETG Glow @BBL A1.json" + }, + { + "name": "BETA PETG Glow @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Glow @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Glow @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Glow @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Glow @BBL X1C", + "sub_path": "filament/BETA/BETA PETG Glow @BBL X1C.json" + }, + { + "name": "BETA PETG Gradient @BBL A1", + "sub_path": "filament/BETA/BETA PETG Gradient @BBL A1.json" + }, + { + "name": "BETA PETG Gradient @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Gradient @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Gradient @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Gradient @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Gradient @BBL X1C", + "sub_path": "filament/BETA/BETA PETG Gradient @BBL X1C.json" + }, + { + "name": "BETA PETG HF @BBL A1", + "sub_path": "filament/BETA/BETA PETG HF @BBL A1.json" + }, + { + "name": "BETA PETG HF @BBL A1M", + "sub_path": "filament/BETA/BETA PETG HF @BBL A1M.json" + }, + { + "name": "BETA PETG HF @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG HF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG HF @BBL X1C", + "sub_path": "filament/BETA/BETA PETG HF @BBL X1C.json" + }, + { + "name": "BETA PETG Heat Color Change @BBL A1", + "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL A1.json" + }, + { + "name": "BETA PETG Heat Color Change @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Heat Color Change @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Heat Color Change @BBL X1C", + "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL X1C.json" + }, + { + "name": "BETA PETG Marble @BBL A1", + "sub_path": "filament/BETA/BETA PETG Marble @BBL A1.json" + }, + { + "name": "BETA PETG Marble @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Marble @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Marble @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Marble @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Marble @BBL X1C", + "sub_path": "filament/BETA/BETA PETG Marble @BBL X1C.json" + }, + { + "name": "BETA PETG Matte @BBL A1", + "sub_path": "filament/BETA/BETA PETG Matte @BBL A1.json" + }, + { + "name": "BETA PETG Matte @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Matte @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Matte @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Matte @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Matte @BBL X1C", + "sub_path": "filament/BETA/BETA PETG Matte @BBL X1C.json" + }, + { + "name": "BETA PETG Metallic @BBL A1", + "sub_path": "filament/BETA/BETA PETG Metallic @BBL A1.json" + }, + { + "name": "BETA PETG Metallic @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Metallic @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG Metallic @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Metallic @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Metallic @BBL X1C", + "sub_path": "filament/BETA/BETA PETG Metallic @BBL X1C.json" + }, + { + "name": "BETA PETG Transparent @BBL A1", + "sub_path": "filament/BETA/BETA PETG Transparent @BBL A1.json" + }, + { + "name": "BETA PETG Transparent @BBL A1M", + "sub_path": "filament/BETA/BETA PETG Transparent @BBL A1M.json" + }, + { + "name": "BETA PETG Transparent @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG Transparent @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG Transparent @BBL X1C", + "sub_path": "filament/BETA/BETA PETG Transparent @BBL X1C.json" + }, + { + "name": "BETA PETG UV Color Change @BBL A1", + "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL A1.json" + }, + { + "name": "BETA PETG UV Color Change @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG UV Color Change @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG UV Color Change @BBL X1C", + "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL X1C.json" + }, + { + "name": "BETA PETG-CF @BBL A1 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG-CF @BBL A1 0.4 nozzle.json" + }, + { + "name": "BETA PETG-CF @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG-CF @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG-CF @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG-CF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG-CF @BBL P1P 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG-CF @BBL P1P 0.4 nozzle.json" + }, + { + "name": "BETA PETG-CF @BBL X1C 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG-CF @BBL X1C 0.4 nozzle.json" + }, + { + "name": "BETA PETG-GF @BBL A1 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG-GF @BBL A1 0.4 nozzle.json" + }, + { + "name": "BETA PETG-GF @BBL A1M 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG-GF @BBL A1M 0.4 nozzle.json" + }, + { + "name": "BETA PETG-GF @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG-GF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PETG-GF @BBL P1P 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG-GF @BBL P1P 0.4 nozzle.json" + }, + { + "name": "BETA PETG-GF @BBL X1C 0.4 nozzle", + "sub_path": "filament/BETA/BETA PETG-GF @BBL X1C 0.4 nozzle.json" + }, { "name": "Bambu PET-CF @BBL A1", "sub_path": "filament/Bambu PET-CF @BBL A1.json" @@ -2933,6 +3701,14 @@ "name": "Bambu PET-CF @BBL X1E", "sub_path": "filament/Bambu PET-CF @BBL X1E.json" }, + { + "name": "Bambu PET-CF @BBL X2D", + "sub_path": "filament/Bambu PET-CF @BBL X2D.json" + }, + { + "name": "Bambu PET-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PET-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PETG Basic @BBL A1", "sub_path": "filament/Bambu PETG Basic @BBL A1.json" @@ -3013,6 +3789,18 @@ "name": "Bambu PETG Basic @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PETG Basic @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PETG Basic @BBL X2D", + "sub_path": "filament/Bambu PETG Basic @BBL X2D.json" + }, + { + "name": "Bambu PETG Basic @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Basic @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG Basic @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PETG HF @BBL A1", "sub_path": "filament/Bambu PETG HF @BBL A1.json" @@ -3109,6 +3897,18 @@ "name": "Bambu PETG HF @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PETG HF @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PETG HF @BBL X2D", + "sub_path": "filament/Bambu PETG HF @BBL X2D.json" + }, + { + "name": "Bambu PETG HF @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG HF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG HF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PETG Translucent @BBL A1", "sub_path": "filament/Bambu PETG Translucent @BBL A1.json" @@ -3189,6 +3989,22 @@ "name": "Bambu PETG Translucent @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PETG Translucent @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PETG Translucent @BBL X2D", + "sub_path": "filament/Bambu PETG Translucent @BBL X2D.json" + }, + { + "name": "Bambu PETG Translucent @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG Translucent @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.8 nozzle.json" + }, { "name": "Bambu PETG-CF @BBL A1 0.4 nozzle", "sub_path": "filament/Bambu PETG-CF @BBL A1 0.4 nozzle.json" @@ -3245,6 +4061,18 @@ "name": "Bambu PETG-CF @BBL X1C 0.4 nozzle", "sub_path": "filament/Bambu PETG-CF @BBL X1C 0.4 nozzle.json" }, + { + "name": "Bambu PETG-CF @BBL X2D", + "sub_path": "filament/Bambu PETG-CF @BBL X2D.json" + }, + { + "name": "Bambu PETG-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PETG-CF @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PETG-CF @BBL X2D 0.8 nozzle.json" + }, { "name": "Fiberon PET-CF @BBL H2D", "sub_path": "filament/Polymaker/Fiberon PET-CF @BBL H2D.json" @@ -3253,10 +4081,18 @@ "name": "Fiberon PET-CF @BBL X1C", "sub_path": "filament/Polymaker/Fiberon PET-CF @BBL X1C.json" }, + { + "name": "Fiberon PET-CF17 @BBL X1", + "sub_path": "filament/Polymaker/Fiberon PET-CF17 @BBL X1.json" + }, { "name": "Fiberon PETG-ESD @BBL H2D", "sub_path": "filament/Polymaker/Fiberon PETG-ESD @BBL H2D.json" }, + { + "name": "Fiberon PETG-ESD @BBL X1", + "sub_path": "filament/Polymaker/Fiberon PETG-ESD @BBL X1.json" + }, { "name": "Fiberon PETG-ESD @BBL X1C", "sub_path": "filament/Polymaker/Fiberon PETG-ESD @BBL X1C.json" @@ -3269,6 +4105,10 @@ "name": "Fiberon PETG-rCF @BBL X1C", "sub_path": "filament/Polymaker/Fiberon PETG-rCF @BBL X1C.json" }, + { + "name": "Fiberon PETG-rCF08 @BBL X1", + "sub_path": "filament/Polymaker/Fiberon PETG-rCF08 @BBL X1.json" + }, { "name": "Generic PETG", "sub_path": "filament/Generic PETG.json" @@ -3333,6 +4173,18 @@ "name": "Generic PETG @BBL P2S 0.2 nozzle", "sub_path": "filament/Generic PETG @BBL P2S 0.2 nozzle.json" }, + { + "name": "Generic PETG @BBL X2D", + "sub_path": "filament/Generic PETG @BBL X2D.json" + }, + { + "name": "Generic PETG @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PETG @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic PETG @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PETG @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PETG HF @BBL A1", "sub_path": "filament/Generic PETG HF @BBL A1.json" @@ -3401,6 +4253,18 @@ "name": "Generic PETG HF @BBL X1C 0.2 nozzle", "sub_path": "filament/Generic PETG HF @BBL X1C 0.2 nozzle.json" }, + { + "name": "Generic PETG HF @BBL X2D", + "sub_path": "filament/Generic PETG HF @BBL X2D.json" + }, + { + "name": "Generic PETG HF @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PETG HF @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic PETG HF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PETG HF @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PETG-CF @BBL A1", "sub_path": "filament/Generic PETG-CF @BBL A1.json" @@ -3433,6 +4297,14 @@ "name": "Generic PETG-CF @BBL X1C", "sub_path": "filament/Generic PETG-CF @BBL X1C.json" }, + { + "name": "Generic PETG-CF @BBL X2D", + "sub_path": "filament/Generic PETG-CF @BBL X2D.json" + }, + { + "name": "Generic PETG-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PETG-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "PolyLite PETG @BBL A1", "sub_path": "filament/Polymaker/PolyLite PETG @BBL A1.json" @@ -3541,6 +4413,434 @@ "name": "Generic PHA @BBL X1C", "sub_path": "filament/Generic PHA @BBL X1C.json" }, + { + "name": "Generic PHA @BBL X2D", + "sub_path": "filament/Generic PHA @BBL X2D.json" + }, + { + "name": "Generic PHA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PHA @BBL X2D 0.4 nozzle.json" + }, + { + "name": "BETA PLA Basic @BBL A1", + "sub_path": "filament/BETA/BETA PLA Basic @BBL A1.json" + }, + { + "name": "BETA PLA Basic @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Basic @BBL A1M.json" + }, + { + "name": "BETA PLA Basic @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Basic @BBL H2D.json" + }, + { + "name": "BETA PLA Basic @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Basic @BBL P1P.json" + }, + { + "name": "BETA PLA Basic @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Basic @BBL X1C.json" + }, + { + "name": "BETA PLA Chameleon @BBL A1", + "sub_path": "filament/BETA/BETA PLA Chameleon @BBL A1.json" + }, + { + "name": "BETA PLA Chameleon @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Chameleon @BBL A1M.json" + }, + { + "name": "BETA PLA Chameleon @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Chameleon @BBL H2D.json" + }, + { + "name": "BETA PLA Chameleon @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Chameleon @BBL P1P.json" + }, + { + "name": "BETA PLA Chameleon @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Chameleon @BBL X1C.json" + }, + { + "name": "BETA PLA Fluorescence @BBL A1", + "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL A1.json" + }, + { + "name": "BETA PLA Fluorescence @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL A1M.json" + }, + { + "name": "BETA PLA Fluorescence @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL H2D.json" + }, + { + "name": "BETA PLA Fluorescence @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL P1P.json" + }, + { + "name": "BETA PLA Fluorescence @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL X1C.json" + }, + { + "name": "BETA PLA Glitter @BBL A1", + "sub_path": "filament/BETA/BETA PLA Glitter @BBL A1.json" + }, + { + "name": "BETA PLA Glitter @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Glitter @BBL A1M.json" + }, + { + "name": "BETA PLA Glitter @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Glitter @BBL H2D.json" + }, + { + "name": "BETA PLA Glitter @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Glitter @BBL P1P.json" + }, + { + "name": "BETA PLA Glitter @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Glitter @BBL X1C.json" + }, + { + "name": "BETA PLA Glow @BBL A1", + "sub_path": "filament/BETA/BETA PLA Glow @BBL A1.json" + }, + { + "name": "BETA PLA Glow @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Glow @BBL A1M.json" + }, + { + "name": "BETA PLA Glow @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Glow @BBL H2D.json" + }, + { + "name": "BETA PLA Glow @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Glow @BBL P1P.json" + }, + { + "name": "BETA PLA Glow @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Glow @BBL X1C.json" + }, + { + "name": "BETA PLA Gradient @BBL A1", + "sub_path": "filament/BETA/BETA PLA Gradient @BBL A1.json" + }, + { + "name": "BETA PLA Gradient @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Gradient @BBL A1M.json" + }, + { + "name": "BETA PLA Gradient @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Gradient @BBL H2D.json" + }, + { + "name": "BETA PLA Gradient @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Gradient @BBL P1P.json" + }, + { + "name": "BETA PLA Gradient @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Gradient @BBL X1C.json" + }, + { + "name": "BETA PLA Heat Color Change @BBL A1", + "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL A1.json" + }, + { + "name": "BETA PLA Heat Color Change @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL A1M.json" + }, + { + "name": "BETA PLA Heat Color Change @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL H2D.json" + }, + { + "name": "BETA PLA Heat Color Change @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL P1P.json" + }, + { + "name": "BETA PLA Heat Color Change @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL X1C.json" + }, + { + "name": "BETA PLA High Speed @BBL A1", + "sub_path": "filament/BETA/BETA PLA High Speed @BBL A1.json" + }, + { + "name": "BETA PLA High Speed @BBL A1M", + "sub_path": "filament/BETA/BETA PLA High Speed @BBL A1M.json" + }, + { + "name": "BETA PLA High Speed @BBL H2D", + "sub_path": "filament/BETA/BETA PLA High Speed @BBL H2D.json" + }, + { + "name": "BETA PLA High Speed @BBL P1P", + "sub_path": "filament/BETA/BETA PLA High Speed @BBL P1P.json" + }, + { + "name": "BETA PLA High Speed @BBL X1C", + "sub_path": "filament/BETA/BETA PLA High Speed @BBL X1C.json" + }, + { + "name": "BETA PLA High Temp @BBL A1", + "sub_path": "filament/BETA/BETA PLA High Temp @BBL A1.json" + }, + { + "name": "BETA PLA High Temp @BBL A1M", + "sub_path": "filament/BETA/BETA PLA High Temp @BBL A1M.json" + }, + { + "name": "BETA PLA High Temp @BBL H2D", + "sub_path": "filament/BETA/BETA PLA High Temp @BBL H2D.json" + }, + { + "name": "BETA PLA High Temp @BBL P1P", + "sub_path": "filament/BETA/BETA PLA High Temp @BBL P1P.json" + }, + { + "name": "BETA PLA High Temp @BBL X1C", + "sub_path": "filament/BETA/BETA PLA High Temp @BBL X1C.json" + }, + { + "name": "BETA PLA Marble @BBL A1", + "sub_path": "filament/BETA/BETA PLA Marble @BBL A1.json" + }, + { + "name": "BETA PLA Marble @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Marble @BBL A1M.json" + }, + { + "name": "BETA PLA Marble @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Marble @BBL H2D.json" + }, + { + "name": "BETA PLA Marble @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Marble @BBL P1P.json" + }, + { + "name": "BETA PLA Marble @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Marble @BBL X1C.json" + }, + { + "name": "BETA PLA Matte @BBL A1", + "sub_path": "filament/BETA/BETA PLA Matte @BBL A1.json" + }, + { + "name": "BETA PLA Matte @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Matte @BBL A1M.json" + }, + { + "name": "BETA PLA Matte @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Matte @BBL H2D.json" + }, + { + "name": "BETA PLA Matte @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Matte @BBL P1P.json" + }, + { + "name": "BETA PLA Matte @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Matte @BBL X1C.json" + }, + { + "name": "BETA PLA Metal @BBL A1", + "sub_path": "filament/BETA/BETA PLA Metal @BBL A1.json" + }, + { + "name": "BETA PLA Metal @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Metal @BBL A1M.json" + }, + { + "name": "BETA PLA Metal @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Metal @BBL H2D.json" + }, + { + "name": "BETA PLA Metal @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Metal @BBL P1P.json" + }, + { + "name": "BETA PLA Metal @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Metal @BBL X1C.json" + }, + { + "name": "BETA PLA Metallic @BBL A1", + "sub_path": "filament/BETA/BETA PLA Metallic @BBL A1.json" + }, + { + "name": "BETA PLA Metallic @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Metallic @BBL A1M.json" + }, + { + "name": "BETA PLA Metallic @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Metallic @BBL H2D.json" + }, + { + "name": "BETA PLA Metallic @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Metallic @BBL P1P.json" + }, + { + "name": "BETA PLA Metallic @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Metallic @BBL X1C.json" + }, + { + "name": "BETA PLA PRO @BBL A1", + "sub_path": "filament/BETA/BETA PLA PRO @BBL A1.json" + }, + { + "name": "BETA PLA PRO @BBL A1M", + "sub_path": "filament/BETA/BETA PLA PRO @BBL A1M.json" + }, + { + "name": "BETA PLA PRO @BBL H2D", + "sub_path": "filament/BETA/BETA PLA PRO @BBL H2D.json" + }, + { + "name": "BETA PLA PRO @BBL P1P", + "sub_path": "filament/BETA/BETA PLA PRO @BBL P1P.json" + }, + { + "name": "BETA PLA PRO @BBL X1C", + "sub_path": "filament/BETA/BETA PLA PRO @BBL X1C.json" + }, + { + "name": "BETA PLA Silk @BBL A1", + "sub_path": "filament/BETA/BETA PLA Silk @BBL A1.json" + }, + { + "name": "BETA PLA Silk @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Silk @BBL A1M.json" + }, + { + "name": "BETA PLA Silk @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Silk @BBL H2D.json" + }, + { + "name": "BETA PLA Silk @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Silk @BBL P1P.json" + }, + { + "name": "BETA PLA Silk @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Silk @BBL X1C.json" + }, + { + "name": "BETA PLA Silk+ @BBL A1", + "sub_path": "filament/BETA/BETA PLA Silk+ @BBL A1.json" + }, + { + "name": "BETA PLA Silk+ @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Silk+ @BBL A1M.json" + }, + { + "name": "BETA PLA Silk+ @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Silk+ @BBL H2D.json" + }, + { + "name": "BETA PLA Silk+ @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Silk+ @BBL P1P.json" + }, + { + "name": "BETA PLA Silk+ @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Silk+ @BBL X1C.json" + }, + { + "name": "BETA PLA Transparent @BBL A1", + "sub_path": "filament/BETA/BETA PLA Transparent @BBL A1.json" + }, + { + "name": "BETA PLA Transparent @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Transparent @BBL A1M.json" + }, + { + "name": "BETA PLA Transparent @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Transparent @BBL H2D.json" + }, + { + "name": "BETA PLA Transparent @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Transparent @BBL P1P.json" + }, + { + "name": "BETA PLA Transparent @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Transparent @BBL X1C.json" + }, + { + "name": "BETA PLA UV Color Change @BBL A1", + "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL A1.json" + }, + { + "name": "BETA PLA UV Color Change @BBL A1M", + "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL A1M.json" + }, + { + "name": "BETA PLA UV Color Change @BBL H2D", + "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL H2D.json" + }, + { + "name": "BETA PLA UV Color Change @BBL P1P", + "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL P1P.json" + }, + { + "name": "BETA PLA UV Color Change @BBL X1C", + "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL X1C.json" + }, + { + "name": "BETA PLA Wood @BBL A1", + "sub_path": "filament/BETA/BETA PLA Wood @BBL A1.json" + }, + { + "name": "BETA PLA Wood @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Wood @BBL A1M.json" + }, + { + "name": "BETA PLA Wood @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Wood @BBL H2D.json" + }, + { + "name": "BETA PLA Wood @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Wood @BBL P1P.json" + }, + { + "name": "BETA PLA Wood @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Wood @BBL X1C.json" + }, + { + "name": "BETA PLA Youth @BBL A1", + "sub_path": "filament/BETA/BETA PLA Youth @BBL A1.json" + }, + { + "name": "BETA PLA Youth @BBL A1M", + "sub_path": "filament/BETA/BETA PLA Youth @BBL A1M.json" + }, + { + "name": "BETA PLA Youth @BBL H2D", + "sub_path": "filament/BETA/BETA PLA Youth @BBL H2D.json" + }, + { + "name": "BETA PLA Youth @BBL P1P", + "sub_path": "filament/BETA/BETA PLA Youth @BBL P1P.json" + }, + { + "name": "BETA PLA Youth @BBL X1C", + "sub_path": "filament/BETA/BETA PLA Youth @BBL X1C.json" + }, + { + "name": "BETA PLA-CF @BBL A1", + "sub_path": "filament/BETA/BETA PLA-CF @BBL A1.json" + }, + { + "name": "BETA PLA-CF @BBL A1M", + "sub_path": "filament/BETA/BETA PLA-CF @BBL A1M.json" + }, + { + "name": "BETA PLA-CF @BBL H2D 0.4 nozzle", + "sub_path": "filament/BETA/BETA PLA-CF @BBL H2D 0.4 nozzle.json" + }, + { + "name": "BETA PLA-CF @BBL P1P", + "sub_path": "filament/BETA/BETA PLA-CF @BBL P1P.json" + }, + { + "name": "BETA PLA-CF @BBL X1C", + "sub_path": "filament/BETA/BETA PLA-CF @BBL X1C.json" + }, { "name": "Bambu PLA Aero @BBL A1", "sub_path": "filament/Bambu PLA Aero @BBL A1.json" @@ -3577,6 +4877,14 @@ "name": "Bambu PLA Aero @BBL X1C", "sub_path": "filament/Bambu PLA Aero @BBL X1C.json" }, + { + "name": "Bambu PLA Aero @BBL X2D", + "sub_path": "filament/Bambu PLA Aero @BBL X2D.json" + }, + { + "name": "Bambu PLA Aero @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Aero @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Basic @BBL A1", "sub_path": "filament/Bambu PLA Basic @BBL A1.json" @@ -3681,6 +4989,18 @@ "name": "Bambu PLA Basic @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PLA Basic @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PLA Basic @BBL X2D", + "sub_path": "filament/Bambu PLA Basic @BBL X2D.json" + }, + { + "name": "Bambu PLA Basic @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Basic @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Basic @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Dynamic @BBL A1", "sub_path": "filament/Bambu PLA Dynamic @BBL A1.json" @@ -3761,6 +5081,18 @@ "name": "Bambu PLA Dynamic @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PLA Dynamic @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PLA Dynamic @BBL X2D", + "sub_path": "filament/Bambu PLA Dynamic @BBL X2D.json" + }, + { + "name": "Bambu PLA Dynamic @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Dynamic @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Dynamic @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Galaxy @BBL A1", "sub_path": "filament/Bambu PLA Galaxy @BBL A1.json" @@ -3841,6 +5173,18 @@ "name": "Bambu PLA Galaxy @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PLA Galaxy @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PLA Galaxy @BBL X2D", + "sub_path": "filament/Bambu PLA Galaxy @BBL X2D.json" + }, + { + "name": "Bambu PLA Galaxy @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Galaxy @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Galaxy @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Glow @BBL A1", "sub_path": "filament/Bambu PLA Glow @BBL A1.json" @@ -3909,6 +5253,14 @@ "name": "Bambu PLA Glow @BBL X1E", "sub_path": "filament/Bambu PLA Glow @BBL X1E.json" }, + { + "name": "Bambu PLA Glow @BBL X2D", + "sub_path": "filament/Bambu PLA Glow @BBL X2D.json" + }, + { + "name": "Bambu PLA Glow @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Lite @BBL A1", "sub_path": "filament/Bambu PLA Lite @BBL A1.json" @@ -3997,6 +5349,18 @@ "name": "Bambu PLA Lite @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PLA Lite @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PLA Lite @BBL X2D", + "sub_path": "filament/Bambu PLA Lite @BBL X2D.json" + }, + { + "name": "Bambu PLA Lite @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Lite @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Lite @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Marble @BBL A1", "sub_path": "filament/Bambu PLA Marble @BBL A1.json" @@ -4037,6 +5401,14 @@ "name": "Bambu PLA Marble @BBL X1C", "sub_path": "filament/Bambu PLA Marble @BBL X1C.json" }, + { + "name": "Bambu PLA Marble @BBL X2D", + "sub_path": "filament/Bambu PLA Marble @BBL X2D.json" + }, + { + "name": "Bambu PLA Marble @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Marble @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Matte @BBL A1", "sub_path": "filament/Bambu PLA Matte @BBL A1.json" @@ -4141,6 +5513,18 @@ "name": "Bambu PLA Matte @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PLA Matte @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PLA Matte @BBL X2D", + "sub_path": "filament/Bambu PLA Matte @BBL X2D.json" + }, + { + "name": "Bambu PLA Matte @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Matte @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Matte @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Metal @BBL A1", "sub_path": "filament/Bambu PLA Metal @BBL A1.json" @@ -4217,6 +5601,18 @@ "name": "Bambu PLA Metal @BBL X1C 0.2 nozzle", "sub_path": "filament/Bambu PLA Metal @BBL X1C 0.2 nozzle.json" }, + { + "name": "Bambu PLA Metal @BBL X2D", + "sub_path": "filament/Bambu PLA Metal @BBL X2D.json" + }, + { + "name": "Bambu PLA Metal @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Metal @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Metal @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Silk @BBL A1", "sub_path": "filament/Bambu PLA Silk @BBL A1.json" @@ -4293,6 +5689,18 @@ "name": "Bambu PLA Silk @BBL X1C 0.2 nozzle", "sub_path": "filament/Bambu PLA Silk @BBL X1C 0.2 nozzle.json" }, + { + "name": "Bambu PLA Silk @BBL X2D", + "sub_path": "filament/Bambu PLA Silk @BBL X2D.json" + }, + { + "name": "Bambu PLA Silk @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Silk @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Silk+ @BBL A1", "sub_path": "filament/Bambu PLA Silk+ @BBL A1.json" @@ -4369,6 +5777,18 @@ "name": "Bambu PLA Silk+ @BBL X1C 0.2 nozzle", "sub_path": "filament/Bambu PLA Silk+ @BBL X1C 0.2 nozzle.json" }, + { + "name": "Bambu PLA Silk+ @BBL X2D", + "sub_path": "filament/Bambu PLA Silk+ @BBL X2D.json" + }, + { + "name": "Bambu PLA Silk+ @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Silk+ @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Silk+ @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Sparkle @BBL A1", "sub_path": "filament/Bambu PLA Sparkle @BBL A1.json" @@ -4413,6 +5833,14 @@ "name": "Bambu PLA Sparkle @BBL X1C", "sub_path": "filament/Bambu PLA Sparkle @BBL X1C.json" }, + { + "name": "Bambu PLA Sparkle @BBL X2D", + "sub_path": "filament/Bambu PLA Sparkle @BBL X2D.json" + }, + { + "name": "Bambu PLA Sparkle @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Sparkle @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Tough @BBL A1", "sub_path": "filament/Bambu PLA Tough @BBL A1.json" @@ -4481,6 +5909,18 @@ "name": "Bambu PLA Tough @BBL X1C 0.2 nozzle", "sub_path": "filament/Bambu PLA Tough @BBL X1C 0.2 nozzle.json" }, + { + "name": "Bambu PLA Tough @BBL X2D", + "sub_path": "filament/Bambu PLA Tough @BBL X2D.json" + }, + { + "name": "Bambu PLA Tough @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Tough @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Tough+ @BBL A1", "sub_path": "filament/Bambu PLA Tough+ @BBL A1.json" @@ -4585,6 +6025,18 @@ "name": "Bambu PLA Tough+ @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PLA Tough+ @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PLA Tough+ @BBL X2D", + "sub_path": "filament/Bambu PLA Tough+ @BBL X2D.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Tough+ @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Tough+ @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA Translucent @BBL A1", "sub_path": "filament/Bambu PLA Translucent @BBL A1.json" @@ -4681,6 +6133,22 @@ "name": "Bambu PLA Translucent @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PLA Translucent @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PLA Translucent @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL X2D 0.6 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.6 nozzle.json" + }, + { + "name": "Bambu PLA Translucent @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.8 nozzle.json" + }, { "name": "Bambu PLA Wood @BBL A1", "sub_path": "filament/Bambu PLA Wood @BBL A1.json" @@ -4737,6 +6205,14 @@ "name": "Bambu PLA Wood @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PLA Wood @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PLA Wood @BBL X2D", + "sub_path": "filament/Bambu PLA Wood @BBL X2D.json" + }, + { + "name": "Bambu PLA Wood @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA Wood @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PLA-CF @BBL A1", "sub_path": "filament/Bambu PLA-CF @BBL A1.json" @@ -4797,6 +6273,14 @@ "name": "Bambu PLA-CF @BBL X1C 0.8 nozzle", "sub_path": "filament/Bambu PLA-CF @BBL X1C 0.8 nozzle.json" }, + { + "name": "Bambu PLA-CF @BBL X2D", + "sub_path": "filament/Bambu PLA-CF @BBL X2D.json" + }, + { + "name": "Bambu PLA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PLA-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu Support For PLA @BBL A1", "sub_path": "filament/Bambu Support For PLA @BBL A1.json" @@ -4861,6 +6345,18 @@ "name": "Bambu Support For PLA @BBL X1C 0.2 nozzle", "sub_path": "filament/Bambu Support For PLA @BBL X1C 0.2 nozzle.json" }, + { + "name": "Bambu Support For PLA @BBL X2D", + "sub_path": "filament/Bambu Support For PLA @BBL X2D.json" + }, + { + "name": "Bambu Support For PLA @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support For PLA @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu Support For PLA/PETG @BBL A1", "sub_path": "filament/Bambu Support For PLA-PETG @BBL A1.json" @@ -4925,6 +6421,18 @@ "name": "Bambu Support For PLA/PETG @BBL X1C 0.2 nozzle", "sub_path": "filament/Bambu Support For PLA-PETG @BBL X1C 0.2 nozzle.json" }, + { + "name": "Bambu Support For PLA/PETG @BBL X2D", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu Support For PLA/PETG @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu Support W @BBL A1", "sub_path": "filament/Bambu Support W @BBL A1.json" @@ -4993,6 +6501,18 @@ "name": "Bambu Support W @BBL X1C 0.2 nozzle", "sub_path": "filament/Bambu Support W @BBL X1C 0.2 nozzle.json" }, + { + "name": "Bambu Support W @BBL X2D", + "sub_path": "filament/Bambu Support W @BBL X2D.json" + }, + { + "name": "Bambu Support W @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu Support W @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Bambu Support W @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu Support W @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PLA", "sub_path": "filament/Generic PLA.json" @@ -5057,6 +6577,18 @@ "name": "Generic PLA @BBL P2S 0.2 nozzle", "sub_path": "filament/Generic PLA @BBL P2S 0.2 nozzle.json" }, + { + "name": "Generic PLA @BBL X2D", + "sub_path": "filament/Generic PLA @BBL X2D.json" + }, + { + "name": "Generic PLA @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PLA @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic PLA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PLA @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PLA High Speed @BBL A1", "sub_path": "filament/Generic PLA High Speed @BBL A1.json" @@ -5109,6 +6641,14 @@ "name": "Generic PLA High Speed @BBL X1C", "sub_path": "filament/Generic PLA High Speed @BBL X1C.json" }, + { + "name": "Generic PLA High Speed @BBL X2D", + "sub_path": "filament/Generic PLA High Speed @BBL X2D.json" + }, + { + "name": "Generic PLA High Speed @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PLA Silk", "sub_path": "filament/Generic PLA Silk.json" @@ -5141,6 +6681,14 @@ "name": "Generic PLA Silk @BBL P2S", "sub_path": "filament/Generic PLA Silk @BBL P2S.json" }, + { + "name": "Generic PLA Silk @BBL X2D", + "sub_path": "filament/Generic PLA Silk @BBL X2D.json" + }, + { + "name": "Generic PLA Silk @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PLA Silk @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PLA-CF", "sub_path": "filament/Generic PLA-CF.json" @@ -5173,6 +6721,14 @@ "name": "Generic PLA-CF @BBL P2S", "sub_path": "filament/Generic PLA-CF @BBL P2S.json" }, + { + "name": "Generic PLA-CF @BBL X2D", + "sub_path": "filament/Generic PLA-CF @BBL X2D.json" + }, + { + "name": "Generic PLA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PLA-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Numakers PLA+ @BBL A1", "sub_path": "filament/Numakers/Numakers PLA+ @BBL A1.json" @@ -5985,6 +7541,22 @@ "name": "Panchroma PLA UV Shift @BBL X1C 0.2 nozzle", "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @BBL X1C 0.2 nozzle.json" }, + { + "name": "PolyLite CosPLA @BBL A1", + "sub_path": "filament/Polymaker/PolyLite CosPLA @BBL A1.json" + }, + { + "name": "PolyLite CosPLA @BBL A1M", + "sub_path": "filament/Polymaker/PolyLite CosPLA @BBL A1M.json" + }, + { + "name": "PolyLite CosPLA @BBL P1P", + "sub_path": "filament/Polymaker/PolyLite CosPLA @BBL P1P.json" + }, + { + "name": "PolyLite CosPLA @BBL X1", + "sub_path": "filament/Polymaker/PolyLite CosPLA @BBL X1.json" + }, { "name": "PolyLite PLA @BBL A1", "sub_path": "filament/Polymaker/PolyLite PLA @BBL A1.json" @@ -6037,6 +7609,70 @@ "name": "PolyLite PLA @BBL X1C", "sub_path": "filament/Polymaker/PolyLite PLA @BBL X1C.json" }, + { + "name": "PolyLite PLA Galaxy @BBL A1", + "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @BBL A1.json" + }, + { + "name": "PolyLite PLA Galaxy @BBL A1M", + "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @BBL A1M.json" + }, + { + "name": "PolyLite PLA Galaxy @BBL P1P", + "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @BBL P1P.json" + }, + { + "name": "PolyLite PLA Galaxy @BBL X1", + "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @BBL X1.json" + }, + { + "name": "PolyLite PLA Glow @BBL A1", + "sub_path": "filament/Polymaker/PolyLite PLA Glow @BBL A1.json" + }, + { + "name": "PolyLite PLA Glow @BBL A1M", + "sub_path": "filament/Polymaker/PolyLite PLA Glow @BBL A1M.json" + }, + { + "name": "PolyLite PLA Glow @BBL P1P", + "sub_path": "filament/Polymaker/PolyLite PLA Glow @BBL P1P.json" + }, + { + "name": "PolyLite PLA Glow @BBL X1", + "sub_path": "filament/Polymaker/PolyLite PLA Glow @BBL X1.json" + }, + { + "name": "PolyLite PLA Luminous @BBL A1", + "sub_path": "filament/Polymaker/PolyLite PLA Luminous @BBL A1.json" + }, + { + "name": "PolyLite PLA Luminous @BBL A1M", + "sub_path": "filament/Polymaker/PolyLite PLA Luminous @BBL A1M.json" + }, + { + "name": "PolyLite PLA Luminous @BBL P1P", + "sub_path": "filament/Polymaker/PolyLite PLA Luminous @BBL P1P.json" + }, + { + "name": "PolyLite PLA Luminous @BBL X1", + "sub_path": "filament/Polymaker/PolyLite PLA Luminous @BBL X1.json" + }, + { + "name": "PolyLite PLA Neon @BBL A1", + "sub_path": "filament/Polymaker/PolyLite PLA Neon @BBL A1.json" + }, + { + "name": "PolyLite PLA Neon @BBL A1M", + "sub_path": "filament/Polymaker/PolyLite PLA Neon @BBL A1M.json" + }, + { + "name": "PolyLite PLA Neon @BBL P1P", + "sub_path": "filament/Polymaker/PolyLite PLA Neon @BBL P1P.json" + }, + { + "name": "PolyLite PLA Neon @BBL X1", + "sub_path": "filament/Polymaker/PolyLite PLA Neon @BBL X1.json" + }, { "name": "PolyLite PLA Pro @BBL A1", "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL A1.json" @@ -6077,6 +7713,38 @@ "name": "PolyLite PLA Pro @BBL X1C 0.2 nozzle", "sub_path": "filament/Polymaker/PolyLite PLA Pro @BBL X1C 0.2 nozzle.json" }, + { + "name": "PolyLite PLA Starlight @BBL A1", + "sub_path": "filament/Polymaker/PolyLite PLA Starlight @BBL A1.json" + }, + { + "name": "PolyLite PLA Starlight @BBL A1M", + "sub_path": "filament/Polymaker/PolyLite PLA Starlight @BBL A1M.json" + }, + { + "name": "PolyLite PLA Starlight @BBL P1P", + "sub_path": "filament/Polymaker/PolyLite PLA Starlight @BBL P1P.json" + }, + { + "name": "PolyLite PLA Starlight @BBL X1", + "sub_path": "filament/Polymaker/PolyLite PLA Starlight @BBL X1.json" + }, + { + "name": "PolyLite PLA Translucent @BBL A1", + "sub_path": "filament/Polymaker/PolyLite PLA Translucent @BBL A1.json" + }, + { + "name": "PolyLite PLA Translucent @BBL A1M", + "sub_path": "filament/Polymaker/PolyLite PLA Translucent @BBL A1M.json" + }, + { + "name": "PolyLite PLA Translucent @BBL P1P", + "sub_path": "filament/Polymaker/PolyLite PLA Translucent @BBL P1P.json" + }, + { + "name": "PolyLite PLA Translucent @BBL X1", + "sub_path": "filament/Polymaker/PolyLite PLA Translucent @BBL X1.json" + }, { "name": "PolyTerra PLA @BBL A1", "sub_path": "filament/Polymaker/PolyTerra PLA @BBL A1.json" @@ -6129,6 +7797,38 @@ "name": "PolyTerra PLA @BBL X1C", "sub_path": "filament/Polymaker/PolyTerra PLA @BBL X1C.json" }, + { + "name": "PolyTerra PLA Marble @BBL A1", + "sub_path": "filament/Polymaker/PolyTerra PLA Marble @BBL A1.json" + }, + { + "name": "PolyTerra PLA Marble @BBL A1M", + "sub_path": "filament/Polymaker/PolyTerra PLA Marble @BBL A1M.json" + }, + { + "name": "PolyTerra PLA Marble @BBL P1P", + "sub_path": "filament/Polymaker/PolyTerra PLA Marble @BBL P1P.json" + }, + { + "name": "PolyTerra PLA Marble @BBL X1", + "sub_path": "filament/Polymaker/PolyTerra PLA Marble @BBL X1.json" + }, + { + "name": "PolyTerra PLA+ @BBL A1", + "sub_path": "filament/Polymaker/PolyTerra PLA+ @BBL A1.json" + }, + { + "name": "PolyTerra PLA+ @BBL A1M", + "sub_path": "filament/Polymaker/PolyTerra PLA+ @BBL A1M.json" + }, + { + "name": "PolyTerra PLA+ @BBL P1P", + "sub_path": "filament/Polymaker/PolyTerra PLA+ @BBL P1P.json" + }, + { + "name": "PolyTerra PLA+ @BBL X1", + "sub_path": "filament/Polymaker/PolyTerra PLA+ @BBL X1.json" + }, { "name": "Polymaker HT-PLA @BBL A1", "sub_path": "filament/Polymaker/Polymaker HT-PLA @BBL A1.json" @@ -6481,6 +8181,14 @@ "name": "Generic PP @BBL X1C", "sub_path": "filament/Generic PP @BBL X1C.json" }, + { + "name": "Generic PP @BBL X2D", + "sub_path": "filament/Generic PP @BBL X2D.json" + }, + { + "name": "Generic PP @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PP @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PP-CF @BBL A1", "sub_path": "filament/Generic PP-CF @BBL A1.json" @@ -6505,6 +8213,14 @@ "name": "Generic PP-CF @BBL X1C", "sub_path": "filament/Generic PP-CF @BBL X1C.json" }, + { + "name": "Generic PP-CF @BBL X2D", + "sub_path": "filament/Generic PP-CF @BBL X2D.json" + }, + { + "name": "Generic PP-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PP-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PP-GF @BBL A1", "sub_path": "filament/Generic PP-GF @BBL A1.json" @@ -6529,6 +8245,14 @@ "name": "Generic PP-GF @BBL X1C", "sub_path": "filament/Generic PP-GF @BBL X1C.json" }, + { + "name": "Generic PP-GF @BBL X2D", + "sub_path": "filament/Generic PP-GF @BBL X2D.json" + }, + { + "name": "Generic PP-GF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PP-GF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PPA-CF @BBL H2D", "sub_path": "filament/Bambu PPA-CF @BBL H2D.json" @@ -6553,6 +8277,14 @@ "name": "Bambu PPA-CF @BBL X1E", "sub_path": "filament/Bambu PPA-CF @BBL X1E.json" }, + { + "name": "Bambu PPA-CF @BBL X2D", + "sub_path": "filament/Bambu PPA-CF @BBL X2D.json" + }, + { + "name": "Bambu PPA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PPA-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PPA-CF @BBL H2D", "sub_path": "filament/Generic PPA-CF @BBL H2D.json" @@ -6577,6 +8309,14 @@ "name": "Generic PPA-CF @BBL X1E", "sub_path": "filament/Generic PPA-CF @BBL X1E.json" }, + { + "name": "Generic PPA-CF @BBL X2D", + "sub_path": "filament/Generic PPA-CF @BBL X2D.json" + }, + { + "name": "Generic PPA-CF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PPA-CF @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PPA-GF @BBL H2D", "sub_path": "filament/Generic PPA-GF @BBL H2D.json" @@ -6601,6 +8341,14 @@ "name": "Generic PPA-GF @BBL X1E", "sub_path": "filament/Generic PPA-GF @BBL X1E.json" }, + { + "name": "Generic PPA-GF @BBL X2D", + "sub_path": "filament/Generic PPA-GF @BBL X2D.json" + }, + { + "name": "Generic PPA-GF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PPA-GF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu PPS-CF @BBL H2D", "sub_path": "filament/Bambu PPS-CF @BBL H2D.json" @@ -6697,6 +8445,14 @@ "name": "Bambu PVA @BBL X1C 0.2 nozzle", "sub_path": "filament/Bambu PVA @BBL X1C 0.2 nozzle.json" }, + { + "name": "Bambu PVA @BBL X2D", + "sub_path": "filament/Bambu PVA @BBL X2D.json" + }, + { + "name": "Bambu PVA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu PVA @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic PVA", "sub_path": "filament/Generic PVA.json" @@ -6749,10 +8505,122 @@ "name": "Generic PVA @BBL P2S 0.2 nozzle", "sub_path": "filament/Generic PVA @BBL P2S 0.2 nozzle.json" }, + { + "name": "Generic PVA @BBL X2D", + "sub_path": "filament/Generic PVA @BBL X2D.json" + }, + { + "name": "Generic PVA @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PVA @BBL X2D 0.2 nozzle.json" + }, + { + "name": "Generic PVA @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic PVA @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic SBS", "sub_path": "filament/Generic SBS.json" }, + { + "name": "BETA PEBA 90A @BBL A1", + "sub_path": "filament/BETA/BETA PEBA 90A @BBL A1.json" + }, + { + "name": "BETA PEBA 90A @BBL A1M", + "sub_path": "filament/BETA/BETA PEBA 90A @BBL A1M.json" + }, + { + "name": "BETA PEBA 90A @BBL H2D", + "sub_path": "filament/BETA/BETA PEBA 90A @BBL H2D.json" + }, + { + "name": "BETA PEBA 90A @BBL P1P", + "sub_path": "filament/BETA/BETA PEBA 90A @BBL P1P.json" + }, + { + "name": "BETA PEBA 90A @BBL X1C", + "sub_path": "filament/BETA/BETA PEBA 90A @BBL X1C.json" + }, + { + "name": "BETA TPU 90A @BBL A1", + "sub_path": "filament/BETA/BETA TPU 90A @BBL A1.json" + }, + { + "name": "BETA TPU 90A @BBL A1M", + "sub_path": "filament/BETA/BETA TPU 90A @BBL A1M.json" + }, + { + "name": "BETA TPU 90A @BBL H2D", + "sub_path": "filament/BETA/BETA TPU 90A @BBL H2D.json" + }, + { + "name": "BETA TPU 90A @BBL P1P", + "sub_path": "filament/BETA/BETA TPU 90A @BBL P1P.json" + }, + { + "name": "BETA TPU 90A @BBL X1C", + "sub_path": "filament/BETA/BETA TPU 90A @BBL X1C.json" + }, + { + "name": "BETA TPU 95A @BBL A1", + "sub_path": "filament/BETA/BETA TPU 95A @BBL A1.json" + }, + { + "name": "BETA TPU 95A @BBL A1M", + "sub_path": "filament/BETA/BETA TPU 95A @BBL A1M.json" + }, + { + "name": "BETA TPU 95A @BBL H2D", + "sub_path": "filament/BETA/BETA TPU 95A @BBL H2D.json" + }, + { + "name": "BETA TPU 95A @BBL P1P", + "sub_path": "filament/BETA/BETA TPU 95A @BBL P1P.json" + }, + { + "name": "BETA TPU 95A @BBL X1C", + "sub_path": "filament/BETA/BETA TPU 95A @BBL X1C.json" + }, + { + "name": "BETA TPU 98A @BBL A1", + "sub_path": "filament/BETA/BETA TPU 98A @BBL A1.json" + }, + { + "name": "BETA TPU 98A @BBL A1M", + "sub_path": "filament/BETA/BETA TPU 98A @BBL A1M.json" + }, + { + "name": "BETA TPU 98A @BBL H2D", + "sub_path": "filament/BETA/BETA TPU 98A @BBL H2D.json" + }, + { + "name": "BETA TPU 98A @BBL P1P", + "sub_path": "filament/BETA/BETA TPU 98A @BBL P1P.json" + }, + { + "name": "BETA TPU 98A @BBL X1C", + "sub_path": "filament/BETA/BETA TPU 98A @BBL X1C.json" + }, + { + "name": "BETA TPU Matte @BBL A1", + "sub_path": "filament/BETA/BETA TPU Matte @BBL A1.json" + }, + { + "name": "BETA TPU Matte @BBL A1M", + "sub_path": "filament/BETA/BETA TPU Matte @BBL A1M.json" + }, + { + "name": "BETA TPU Matte @BBL H2D", + "sub_path": "filament/BETA/BETA TPU Matte @BBL H2D.json" + }, + { + "name": "BETA TPU Matte @BBL P1P", + "sub_path": "filament/BETA/BETA TPU Matte @BBL P1P.json" + }, + { + "name": "BETA TPU Matte @BBL X1C", + "sub_path": "filament/BETA/BETA TPU Matte @BBL X1C.json" + }, { "name": "Bambu TPU 85A @BBL H2D", "sub_path": "filament/Bambu TPU 85A @BBL H2D.json" @@ -6789,6 +8657,14 @@ "name": "Bambu TPU 85A @BBL X1C", "sub_path": "filament/Bambu TPU 85A @BBL X1C.json" }, + { + "name": "Bambu TPU 85A @BBL X2D", + "sub_path": "filament/Bambu TPU 85A @BBL X2D.json" + }, + { + "name": "Bambu TPU 85A @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu TPU 85A @BBL X2D 0.8 nozzle.json" + }, { "name": "Bambu TPU 90A @BBL A1", "sub_path": "filament/Bambu TPU 90A @BBL A1.json" @@ -6837,6 +8713,18 @@ "name": "Bambu TPU 90A @BBL X1C", "sub_path": "filament/Bambu TPU 90A @BBL X1C.json" }, + { + "name": "Bambu TPU 90A @BBL X2D", + "sub_path": "filament/Bambu TPU 90A @BBL X2D.json" + }, + { + "name": "Bambu TPU 90A @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL X2D 0.4 nozzle.json" + }, + { + "name": "Bambu TPU 90A @BBL X2D 0.8 nozzle", + "sub_path": "filament/Bambu TPU 90A @BBL X2D 0.8 nozzle.json" + }, { "name": "Bambu TPU 95A @BBL A1", "sub_path": "filament/Bambu TPU 95A @BBL A1.json" @@ -6873,6 +8761,14 @@ "name": "Bambu TPU 95A @BBL X1C", "sub_path": "filament/Bambu TPU 95A @BBL X1C.json" }, + { + "name": "Bambu TPU 95A @BBL X2D", + "sub_path": "filament/Bambu TPU 95A @BBL X2D.json" + }, + { + "name": "Bambu TPU 95A @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu TPU 95A @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu TPU 95A HF @BBL A1", "sub_path": "filament/Bambu TPU 95A HF @BBL A1.json" @@ -6917,6 +8813,14 @@ "name": "Bambu TPU 95A HF @BBL X1E", "sub_path": "filament/Bambu TPU 95A HF @BBL X1E.json" }, + { + "name": "Bambu TPU 95A HF @BBL X2D", + "sub_path": "filament/Bambu TPU 95A HF @BBL X2D.json" + }, + { + "name": "Bambu TPU 95A HF @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu TPU 95A HF @BBL X2D 0.4 nozzle.json" + }, { "name": "Bambu TPU for AMS @BBL A1", "sub_path": "filament/Bambu TPU for AMS @BBL A1.json" @@ -6949,6 +8853,14 @@ "name": "Bambu TPU for AMS @BBL X1C", "sub_path": "filament/Bambu TPU for AMS @BBL X1C.json" }, + { + "name": "Bambu TPU for AMS @BBL X2D", + "sub_path": "filament/Bambu TPU for AMS @BBL X2D.json" + }, + { + "name": "Bambu TPU for AMS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Bambu TPU for AMS @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic TPU", "sub_path": "filament/Generic TPU.json" @@ -6969,6 +8881,14 @@ "name": "Generic TPU @BBL P2S", "sub_path": "filament/Generic TPU @BBL P2S.json" }, + { + "name": "Generic TPU @BBL X2D", + "sub_path": "filament/Generic TPU @BBL X2D.json" + }, + { + "name": "Generic TPU @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic TPU @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic TPU for AMS @BBL A1", "sub_path": "filament/Generic TPU for AMS @BBL A1.json" @@ -7001,6 +8921,14 @@ "name": "Generic TPU for AMS @BBL X1C", "sub_path": "filament/Generic TPU for AMS @BBL X1C.json" }, + { + "name": "Generic TPU for AMS @BBL X2D", + "sub_path": "filament/Generic TPU for AMS @BBL X2D.json" + }, + { + "name": "Generic TPU for AMS @BBL X2D 0.4 nozzle", + "sub_path": "filament/Generic TPU for AMS @BBL X2D 0.4 nozzle.json" + }, { "name": "Generic ABS @BBL H2DP", "sub_path": "filament/Generic ABS @BBL H2DP.json" @@ -7149,6 +9077,10 @@ "name": "Bambu PLA Glow @BBL X1C 0.2 nozzle", "sub_path": "filament/Bambu PLA Glow @BBL X1C 0.2 nozzle.json" }, + { + "name": "Bambu PLA Glow @BBL X2D 0.2 nozzle", + "sub_path": "filament/Bambu PLA Glow @BBL X2D 0.2 nozzle.json" + }, { "name": "Bambu PLA Glow @BBL X1E 0.2 nozzle", "sub_path": "filament/Bambu PLA Glow @BBL X1E 0.2 nozzle.json" @@ -7165,6 +9097,10 @@ "name": "Generic PLA High Speed @BBL X1C 0.2 nozzle", "sub_path": "filament/Generic PLA High Speed @BBL X1C 0.2 nozzle.json" }, + { + "name": "Generic PLA High Speed @BBL X2D 0.2 nozzle", + "sub_path": "filament/Generic PLA High Speed @BBL X2D 0.2 nozzle.json" + }, { "name": "Overture Matte PLA @BBL A1M 0.2 nozzle", "sub_path": "filament/Overture/Overture Matte PLA @BBL A1M 0.2 nozzle.json" @@ -7772,1710 +9708,6 @@ { "name": "fdm_filament_dual_common", "sub_path": "filament/fdm_filament_dual_common.json" - }, - { - "name": "BETA ABS @base", - "sub_path": "filament/BETA/BETA ABS @base.json" - }, - { - "name": "BETA ABS @BBL P1P", - "sub_path": "filament/BETA/BETA ABS @BBL P1P.json" - }, - { - "name": "BETA ABS @BBL A1", - "sub_path": "filament/BETA/BETA ABS @BBL A1.json" - }, - { - "name": "BETA ABS @BBL H2D", - "sub_path": "filament/BETA/BETA ABS @BBL H2D.json" - }, - { - "name": "BETA ABS @BBL X1C", - "sub_path": "filament/BETA/BETA ABS @BBL X1C.json" - }, - { - "name": "BETA ASA @base", - "sub_path": "filament/BETA/BETA ASA @base.json" - }, - { - "name": "BETA ASA @BBL A1 0.4 nozzle", - "sub_path": "filament/BETA/BETA ASA @BBL A1 0.4 nozzle.json" - }, - { - "name": "BETA ASA @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA ASA @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA ASA @BBL X1C 0.4 nozzle", - "sub_path": "filament/BETA/BETA ASA @BBL X1C 0.4 nozzle.json" - }, - { - "name": "BETA PLA Silk+ @base", - "sub_path": "filament/BETA/BETA PLA Silk+ @base.json" - }, - { - "name": "BETA PLA Silk+ @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Silk+ @BBL P1P.json" - }, - { - "name": "BETA PLA Silk+ @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Silk+ @BBL X1C.json" - }, - { - "name": "BETA PLA Silk+ @BBL A1", - "sub_path": "filament/BETA/BETA PLA Silk+ @BBL A1.json" - }, - { - "name": "BETA PLA Silk+ @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Silk+ @BBL A1M.json" - }, - { - "name": "BETA PLA Silk+ @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Silk+ @BBL H2D.json" - }, - { - "name": "BETA PAHT-CF @base", - "sub_path": "filament/BETA/BETA PAHT-CF @base.json" - }, - { - "name": "BETA PAHT-CF @BBL P1P", - "sub_path": "filament/BETA/BETA PAHT-CF @BBL P1P.json" - }, - { - "name": "BETA PAHT-CF @BBL H2D", - "sub_path": "filament/BETA/BETA PAHT-CF @BBL H2D.json" - }, - { - "name": "BETA PAHT-CF @BBL X1C", - "sub_path": "filament/BETA/BETA PAHT-CF @BBL X1C.json" - }, - { - "name": "BETA PEBA 90A @base", - "sub_path": "filament/BETA/BETA PEBA 90A @base.json" - }, - { - "name": "BETA PEBA 90A @BBL A1", - "sub_path": "filament/BETA/BETA PEBA 90A @BBL A1.json" - }, - { - "name": "BETA PEBA 90A @BBL A1M", - "sub_path": "filament/BETA/BETA PEBA 90A @BBL A1M.json" - }, - { - "name": "BETA PEBA 90A @BBL H2D", - "sub_path": "filament/BETA/BETA PEBA 90A @BBL H2D.json" - }, - { - "name": "BETA PEBA 90A @BBL P1P", - "sub_path": "filament/BETA/BETA PEBA 90A @BBL P1P.json" - }, - { - "name": "BETA PEBA 90A @BBL X1C", - "sub_path": "filament/BETA/BETA PEBA 90A @BBL X1C.json" - }, - { - "name": "BETA PETG Heat Color Change @base", - "sub_path": "filament/BETA/BETA PETG Heat Color Change @base.json" - }, - { - "name": "BETA PETG Heat Color Change @BBL A1", - "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL A1.json" - }, - { - "name": "BETA PETG Heat Color Change @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Heat Color Change @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Heat Color Change @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Heat Color Change @BBL X1C.json" - }, - { - "name": "BETA PETG Fluorescence @base", - "sub_path": "filament/BETA/BETA PETG Fluorescence @base.json" - }, - { - "name": "BETA PETG Fluorescence @BBL A1", - "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL A1.json" - }, - { - "name": "BETA PETG Fluorescence @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Fluorescence @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Fluorescence @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Fluorescence @BBL X1C.json" - }, - { - "name": "BETA PETG Glitter @base", - "sub_path": "filament/BETA/BETA PETG Glitter @base.json" - }, - { - "name": "BETA PETG Glitter @BBL A1", - "sub_path": "filament/BETA/BETA PETG Glitter @BBL A1.json" - }, - { - "name": "BETA PETG Glitter @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Glitter @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Glitter @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Glitter @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Glitter @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Glitter @BBL X1C.json" - }, - { - "name": "BETA PETG Glow @base", - "sub_path": "filament/BETA/BETA PETG Glow @base.json" - }, - { - "name": "BETA PETG Glow @BBL A1", - "sub_path": "filament/BETA/BETA PETG Glow @BBL A1.json" - }, - { - "name": "BETA PETG Glow @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Glow @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Glow @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Glow @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Glow @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Glow @BBL X1C.json" - }, - { - "name": "BETA PETG Gradient @base", - "sub_path": "filament/BETA/BETA PETG Gradient @base.json" - }, - { - "name": "BETA PETG Gradient @BBL A1", - "sub_path": "filament/BETA/BETA PETG Gradient @BBL A1.json" - }, - { - "name": "BETA PETG Gradient @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Gradient @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Gradient @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Gradient @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Gradient @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Gradient @BBL X1C.json" - }, - { - "name": "BETA PETG HF @base", - "sub_path": "filament/BETA/BETA PETG HF @base.json" - }, - { - "name": "BETA PETG HF @BBL A1", - "sub_path": "filament/BETA/BETA PETG HF @BBL A1.json" - }, - { - "name": "BETA PETG HF @BBL A1M", - "sub_path": "filament/BETA/BETA PETG HF @BBL A1M.json" - }, - { - "name": "BETA PETG HF @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG HF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG HF @BBL X1C", - "sub_path": "filament/BETA/BETA PETG HF @BBL X1C.json" - }, - { - "name": "BETA PETG Marble @base", - "sub_path": "filament/BETA/BETA PETG Marble @base.json" - }, - { - "name": "BETA PETG Marble @BBL A1", - "sub_path": "filament/BETA/BETA PETG Marble @BBL A1.json" - }, - { - "name": "BETA PETG Marble @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Marble @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Marble @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Marble @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Marble @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Marble @BBL X1C.json" - }, - { - "name": "BETA PETG Matte @base", - "sub_path": "filament/BETA/BETA PETG Matte @base.json" - }, - { - "name": "BETA PETG Matte @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Matte @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Matte @BBL A1", - "sub_path": "filament/BETA/BETA PETG Matte @BBL A1.json" - }, - { - "name": "BETA PETG Matte @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Matte @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Matte @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Matte @BBL X1C.json" - }, - { - "name": "BETA PETG Metallic @base", - "sub_path": "filament/BETA/BETA PETG Metallic @base.json" - }, - { - "name": "BETA PETG Metallic @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Metallic @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Metallic @BBL A1", - "sub_path": "filament/BETA/BETA PETG Metallic @BBL A1.json" - }, - { - "name": "BETA PETG Metallic @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Metallic @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG Metallic @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Metallic @BBL X1C.json" - }, - { - "name": "BETA PETG Transparent @base", - "sub_path": "filament/BETA/BETA PETG Transparent @base.json" - }, - { - "name": "BETA PETG Transparent @BBL A1", - "sub_path": "filament/BETA/BETA PETG Transparent @BBL A1.json" - }, - { - "name": "BETA PETG Transparent @BBL A1M", - "sub_path": "filament/BETA/BETA PETG Transparent @BBL A1M.json" - }, - { - "name": "BETA PETG Transparent @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG Transparent @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG Transparent @BBL X1C", - "sub_path": "filament/BETA/BETA PETG Transparent @BBL X1C.json" - }, - { - "name": "BETA PETG UV Color Change @base", - "sub_path": "filament/BETA/BETA PETG UV Color Change @base.json" - }, - { - "name": "BETA PETG UV Color Change @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG UV Color Change @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG UV Color Change @BBL A1", - "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL A1.json" - }, - { - "name": "BETA PETG UV Color Change @BBL X1C", - "sub_path": "filament/BETA/BETA PETG UV Color Change @BBL X1C.json" - }, - { - "name": "BETA PETG-CF @base", - "sub_path": "filament/BETA/BETA PETG-CF @base.json" - }, - { - "name": "BETA PETG-CF @BBL P1P 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-CF @BBL P1P 0.4 nozzle.json" - }, - { - "name": "BETA PETG-CF @BBL A1 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-CF @BBL A1 0.4 nozzle.json" - }, - { - "name": "BETA PETG-CF @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-CF @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG-CF @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-CF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG-CF @BBL X1C 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-CF @BBL X1C 0.4 nozzle.json" - }, - { - "name": "BETA PETG-GF @base", - "sub_path": "filament/BETA/BETA PETG-GF @base.json" - }, - { - "name": "BETA PETG-GF @BBL P1P 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-GF @BBL P1P 0.4 nozzle.json" - }, - { - "name": "BETA PETG-GF @BBL A1 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-GF @BBL A1 0.4 nozzle.json" - }, - { - "name": "BETA PETG-GF @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-GF @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG-GF @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-GF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG-GF @BBL X1C 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG-GF @BBL X1C 0.4 nozzle.json" - }, - { - "name": "BETA PETG @base", - "sub_path": "filament/BETA/BETA PETG @base.json" - }, - { - "name": "BETA PETG @BBL A1M 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG @BBL A1M 0.4 nozzle.json" - }, - { - "name": "BETA PETG @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PETG @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PETG @BBL A1", - "sub_path": "filament/BETA/BETA PETG @BBL A1.json" - }, - { - "name": "BETA PETG @BBL X1C", - "sub_path": "filament/BETA/BETA PETG @BBL X1C.json" - }, - { - "name": "BETA PLA Basic @base", - "sub_path": "filament/BETA/BETA PLA Basic @base.json" - }, - { - "name": "BETA PLA Basic @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Basic @BBL P1P.json" - }, - { - "name": "BETA PLA Basic @BBL A1", - "sub_path": "filament/BETA/BETA PLA Basic @BBL A1.json" - }, - { - "name": "BETA PLA Basic @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Basic @BBL A1M.json" - }, - { - "name": "BETA PLA Basic @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Basic @BBL H2D.json" - }, - { - "name": "BETA PLA Basic @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Basic @BBL X1C.json" - }, - { - "name": "BETA PLA Chameleon @base", - "sub_path": "filament/BETA/BETA PLA Chameleon @base.json" - }, - { - "name": "BETA PLA Chameleon @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Chameleon @BBL P1P.json" - }, - { - "name": "BETA PLA Chameleon @BBL A1", - "sub_path": "filament/BETA/BETA PLA Chameleon @BBL A1.json" - }, - { - "name": "BETA PLA Chameleon @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Chameleon @BBL A1M.json" - }, - { - "name": "BETA PLA Chameleon @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Chameleon @BBL H2D.json" - }, - { - "name": "BETA PLA Chameleon @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Chameleon @BBL X1C.json" - }, - { - "name": "BETA PLA Heat Color Change @base", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @base.json" - }, - { - "name": "BETA PLA Heat Color Change @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL P1P.json" - }, - { - "name": "BETA PLA Heat Color Change @BBL A1", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL A1.json" - }, - { - "name": "BETA PLA Heat Color Change @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL A1M.json" - }, - { - "name": "BETA PLA Heat Color Change @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL H2D.json" - }, - { - "name": "BETA PLA Heat Color Change @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Heat Color Change @BBL X1C.json" - }, - { - "name": "BETA PLA Fluorescence @base", - "sub_path": "filament/BETA/BETA PLA Fluorescence @base.json" - }, - { - "name": "BETA PLA Fluorescence @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL P1P.json" - }, - { - "name": "BETA PLA Fluorescence @BBL A1", - "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL A1.json" - }, - { - "name": "BETA PLA Fluorescence @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL A1M.json" - }, - { - "name": "BETA PLA Fluorescence @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL H2D.json" - }, - { - "name": "BETA PLA Fluorescence @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Fluorescence @BBL X1C.json" - }, - { - "name": "BETA PLA Glitter @base", - "sub_path": "filament/BETA/BETA PLA Glitter @base.json" - }, - { - "name": "BETA PLA Glitter @BBL A1", - "sub_path": "filament/BETA/BETA PLA Glitter @BBL A1.json" - }, - { - "name": "BETA PLA Glitter @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Glitter @BBL A1M.json" - }, - { - "name": "BETA PLA Glitter @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Glitter @BBL H2D.json" - }, - { - "name": "BETA PLA Glitter @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Glitter @BBL P1P.json" - }, - { - "name": "BETA PLA Glitter @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Glitter @BBL X1C.json" - }, - { - "name": "BETA PLA Glow @base", - "sub_path": "filament/BETA/BETA PLA Glow @base.json" - }, - { - "name": "BETA PLA Glow @BBL A1", - "sub_path": "filament/BETA/BETA PLA Glow @BBL A1.json" - }, - { - "name": "BETA PLA Glow @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Glow @BBL A1M.json" - }, - { - "name": "BETA PLA Glow @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Glow @BBL H2D.json" - }, - { - "name": "BETA PLA Glow @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Glow @BBL P1P.json" - }, - { - "name": "BETA PLA Glow @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Glow @BBL X1C.json" - }, - { - "name": "BETA PLA Gradient @base", - "sub_path": "filament/BETA/BETA PLA Gradient @base.json" - }, - { - "name": "BETA PLA Gradient @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Gradient @BBL H2D.json" - }, - { - "name": "BETA PLA Gradient @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Gradient @BBL P1P.json" - }, - { - "name": "BETA PLA Gradient @BBL A1", - "sub_path": "filament/BETA/BETA PLA Gradient @BBL A1.json" - }, - { - "name": "BETA PLA Gradient @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Gradient @BBL A1M.json" - }, - { - "name": "BETA PLA Gradient @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Gradient @BBL X1C.json" - }, - { - "name": "BETA PLA Marble @base", - "sub_path": "filament/BETA/BETA PLA Marble @base.json" - }, - { - "name": "BETA PLA Marble @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Marble @BBL H2D.json" - }, - { - "name": "BETA PLA Marble @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Marble @BBL P1P.json" - }, - { - "name": "BETA PLA Marble @BBL A1", - "sub_path": "filament/BETA/BETA PLA Marble @BBL A1.json" - }, - { - "name": "BETA PLA Marble @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Marble @BBL A1M.json" - }, - { - "name": "BETA PLA Marble @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Marble @BBL X1C.json" - }, - { - "name": "BETA PLA Matte @base", - "sub_path": "filament/BETA/BETA PLA Matte @base.json" - }, - { - "name": "BETA PLA Matte @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Matte @BBL P1P.json" - }, - { - "name": "BETA PLA Matte @BBL A1", - "sub_path": "filament/BETA/BETA PLA Matte @BBL A1.json" - }, - { - "name": "BETA PLA Matte @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Matte @BBL A1M.json" - }, - { - "name": "BETA PLA Matte @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Matte @BBL H2D.json" - }, - { - "name": "BETA PLA Matte @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Matte @BBL X1C.json" - }, - { - "name": "BETA PLA Metal @base", - "sub_path": "filament/BETA/BETA PLA Metal @base.json" - }, - { - "name": "BETA PLA Metal @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Metal @BBL P1P.json" - }, - { - "name": "BETA PLA Metal @BBL A1", - "sub_path": "filament/BETA/BETA PLA Metal @BBL A1.json" - }, - { - "name": "BETA PLA Metal @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Metal @BBL A1M.json" - }, - { - "name": "BETA PLA Metal @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Metal @BBL H2D.json" - }, - { - "name": "BETA PLA Metal @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Metal @BBL X1C.json" - }, - { - "name": "BETA PLA Metallic @base", - "sub_path": "filament/BETA/BETA PLA Metallic @base.json" - }, - { - "name": "BETA PLA Metallic @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Metallic @BBL H2D.json" - }, - { - "name": "BETA PLA Metallic @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Metallic @BBL P1P.json" - }, - { - "name": "BETA PLA Metallic @BBL A1", - "sub_path": "filament/BETA/BETA PLA Metallic @BBL A1.json" - }, - { - "name": "BETA PLA Metallic @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Metallic @BBL A1M.json" - }, - { - "name": "BETA PLA Metallic @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Metallic @BBL X1C.json" - }, - { - "name": "BETA PLA PRO @base", - "sub_path": "filament/BETA/BETA PLA PRO @base.json" - }, - { - "name": "BETA PLA PRO @BBL P1P", - "sub_path": "filament/BETA/BETA PLA PRO @BBL P1P.json" - }, - { - "name": "BETA PLA PRO @BBL A1", - "sub_path": "filament/BETA/BETA PLA PRO @BBL A1.json" - }, - { - "name": "BETA PLA PRO @BBL A1M", - "sub_path": "filament/BETA/BETA PLA PRO @BBL A1M.json" - }, - { - "name": "BETA PLA PRO @BBL H2D", - "sub_path": "filament/BETA/BETA PLA PRO @BBL H2D.json" - }, - { - "name": "BETA PLA PRO @BBL X1C", - "sub_path": "filament/BETA/BETA PLA PRO @BBL X1C.json" - }, - { - "name": "BETA PLA Silk @base", - "sub_path": "filament/BETA/BETA PLA Silk @base.json" - }, - { - "name": "BETA PLA Silk @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Silk @BBL P1P.json" - }, - { - "name": "BETA PLA Silk @BBL A1", - "sub_path": "filament/BETA/BETA PLA Silk @BBL A1.json" - }, - { - "name": "BETA PLA Silk @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Silk @BBL A1M.json" - }, - { - "name": "BETA PLA Silk @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Silk @BBL H2D.json" - }, - { - "name": "BETA PLA Silk @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Silk @BBL X1C.json" - }, - { - "name": "BETA PLA Transparent @base", - "sub_path": "filament/BETA/BETA PLA Transparent @base.json" - }, - { - "name": "BETA PLA Transparent @BBL A1", - "sub_path": "filament/BETA/BETA PLA Transparent @BBL A1.json" - }, - { - "name": "BETA PLA Transparent @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Transparent @BBL A1M.json" - }, - { - "name": "BETA PLA Transparent @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Transparent @BBL H2D.json" - }, - { - "name": "BETA PLA Transparent @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Transparent @BBL P1P.json" - }, - { - "name": "BETA PLA Transparent @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Transparent @BBL X1C.json" - }, - { - "name": "BETA PLA UV Color Change @base", - "sub_path": "filament/BETA/BETA PLA UV Color Change @base.json" - }, - { - "name": "BETA PLA UV Color Change @BBL P1P", - "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL P1P.json" - }, - { - "name": "BETA PLA UV Color Change @BBL A1", - "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL A1.json" - }, - { - "name": "BETA PLA UV Color Change @BBL A1M", - "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL A1M.json" - }, - { - "name": "BETA PLA UV Color Change @BBL H2D", - "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL H2D.json" - }, - { - "name": "BETA PLA UV Color Change @BBL X1C", - "sub_path": "filament/BETA/BETA PLA UV Color Change @BBL X1C.json" - }, - { - "name": "BETA PLA Youth @base", - "sub_path": "filament/BETA/BETA PLA Youth @base.json" - }, - { - "name": "BETA PLA Youth @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Youth @BBL X1C.json" - }, - { - "name": "BETA PLA Youth @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Youth @BBL A1M.json" - }, - { - "name": "BETA PLA Youth @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Youth @BBL P1P.json" - }, - { - "name": "BETA PLA Youth @BBL A1", - "sub_path": "filament/BETA/BETA PLA Youth @BBL A1.json" - }, - { - "name": "BETA PLA Youth @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Youth @BBL H2D.json" - }, - { - "name": "BETA PLA-CF @base", - "sub_path": "filament/BETA/BETA PLA-CF @base.json" - }, - { - "name": "BETA PLA-CF @BBL A1", - "sub_path": "filament/BETA/BETA PLA-CF @BBL A1.json" - }, - { - "name": "BETA PLA-CF @BBL A1M", - "sub_path": "filament/BETA/BETA PLA-CF @BBL A1M.json" - }, - { - "name": "BETA PLA-CF @BBL H2D 0.4 nozzle", - "sub_path": "filament/BETA/BETA PLA-CF @BBL H2D 0.4 nozzle.json" - }, - { - "name": "BETA PLA-CF @BBL P1P", - "sub_path": "filament/BETA/BETA PLA-CF @BBL P1P.json" - }, - { - "name": "BETA PLA-CF @BBL X1C", - "sub_path": "filament/BETA/BETA PLA-CF @BBL X1C.json" - }, - { - "name": "BETA PLA High Temp @base", - "sub_path": "filament/BETA/BETA PLA High Temp @base.json" - }, - { - "name": "BETA PLA High Temp @BBL P1P", - "sub_path": "filament/BETA/BETA PLA High Temp @BBL P1P.json" - }, - { - "name": "BETA PLA High Temp @BBL X1C", - "sub_path": "filament/BETA/BETA PLA High Temp @BBL X1C.json" - }, - { - "name": "BETA PLA High Temp @BBL A1", - "sub_path": "filament/BETA/BETA PLA High Temp @BBL A1.json" - }, - { - "name": "BETA PLA High Temp @BBL A1M", - "sub_path": "filament/BETA/BETA PLA High Temp @BBL A1M.json" - }, - { - "name": "BETA PLA High Temp @BBL H2D", - "sub_path": "filament/BETA/BETA PLA High Temp @BBL H2D.json" - }, - { - "name": "BETA PLA Wood @base", - "sub_path": "filament/BETA/BETA PLA Wood @base.json" - }, - { - "name": "BETA PLA Wood @BBL A1", - "sub_path": "filament/BETA/BETA PLA Wood @BBL A1.json" - }, - { - "name": "BETA PLA Wood @BBL A1M", - "sub_path": "filament/BETA/BETA PLA Wood @BBL A1M.json" - }, - { - "name": "BETA PLA Wood @BBL H2D", - "sub_path": "filament/BETA/BETA PLA Wood @BBL H2D.json" - }, - { - "name": "BETA PLA Wood @BBL P1P", - "sub_path": "filament/BETA/BETA PLA Wood @BBL P1P.json" - }, - { - "name": "BETA PLA Wood @BBL X1C", - "sub_path": "filament/BETA/BETA PLA Wood @BBL X1C.json" - }, - { - "name": "BETA TPU Matte @base", - "sub_path": "filament/BETA/BETA TPU Matte @base.json" - }, - { - "name": "BETA TPU Matte @BBL A1", - "sub_path": "filament/BETA/BETA TPU Matte @BBL A1.json" - }, - { - "name": "BETA TPU Matte @BBL A1M", - "sub_path": "filament/BETA/BETA TPU Matte @BBL A1M.json" - }, - { - "name": "BETA TPU Matte @BBL H2D", - "sub_path": "filament/BETA/BETA TPU Matte @BBL H2D.json" - }, - { - "name": "BETA TPU Matte @BBL P1P", - "sub_path": "filament/BETA/BETA TPU Matte @BBL P1P.json" - }, - { - "name": "BETA TPU Matte @BBL X1C", - "sub_path": "filament/BETA/BETA TPU Matte @BBL X1C.json" - }, - { - "name": "BETA TPU 95A @base", - "sub_path": "filament/BETA/BETA TPU 95A @base.json" - }, - { - "name": "BETA TPU 95A @BBL A1", - "sub_path": "filament/BETA/BETA TPU 95A @BBL A1.json" - }, - { - "name": "BETA TPU 95A @BBL A1M", - "sub_path": "filament/BETA/BETA TPU 95A @BBL A1M.json" - }, - { - "name": "BETA TPU 95A @BBL H2D", - "sub_path": "filament/BETA/BETA TPU 95A @BBL H2D.json" - }, - { - "name": "BETA TPU 95A @BBL P1P", - "sub_path": "filament/BETA/BETA TPU 95A @BBL P1P.json" - }, - { - "name": "BETA TPU 95A @BBL X1C", - "sub_path": "filament/BETA/BETA TPU 95A @BBL X1C.json" - }, - { - "name": "BETA TPU 98A @base", - "sub_path": "filament/BETA/BETA TPU 98A @base.json" - }, - { - "name": "BETA TPU 98A @BBL A1", - "sub_path": "filament/BETA/BETA TPU 98A @BBL A1.json" - }, - { - "name": "BETA TPU 98A @BBL A1M", - "sub_path": "filament/BETA/BETA TPU 98A @BBL A1M.json" - }, - { - "name": "BETA TPU 98A @BBL H2D", - "sub_path": "filament/BETA/BETA TPU 98A @BBL H2D.json" - }, - { - "name": "BETA TPU 98A @BBL P1P", - "sub_path": "filament/BETA/BETA TPU 98A @BBL P1P.json" - }, - { - "name": "BETA TPU 98A @BBL X1C", - "sub_path": "filament/BETA/BETA TPU 98A @BBL X1C.json" - }, - { - "name": "BETA TPU 90A @base", - "sub_path": "filament/BETA/BETA TPU 90A @base.json" - }, - { - "name": "BETA TPU 90A @BBL A1", - "sub_path": "filament/BETA/BETA TPU 90A @BBL A1.json" - }, - { - "name": "BETA TPU 90A @BBL A1M", - "sub_path": "filament/BETA/BETA TPU 90A @BBL A1M.json" - }, - { - "name": "BETA TPU 90A @BBL H2D", - "sub_path": "filament/BETA/BETA TPU 90A @BBL H2D.json" - }, - { - "name": "BETA TPU 90A @BBL P1P", - "sub_path": "filament/BETA/BETA TPU 90A @BBL P1P.json" - }, - { - "name": "BETA TPU 90A @BBL X1C", - "sub_path": "filament/BETA/BETA TPU 90A @BBL X1C.json" - }, - { - "name": "BETA PLA High Speed @base", - "sub_path": "filament/BETA/BETA PLA High Speed @base.json" - }, - { - "name": "BETA PLA High Speed @BBL A1", - "sub_path": "filament/BETA/BETA PLA High Speed @BBL A1.json" - }, - { - "name": "BETA PLA High Speed @BBL A1M", - "sub_path": "filament/BETA/BETA PLA High Speed @BBL A1M.json" - }, - { - "name": "BETA PLA High Speed @BBL H2D", - "sub_path": "filament/BETA/BETA PLA High Speed @BBL H2D.json" - }, - { - "name": "BETA PLA High Speed @BBL P1P", - "sub_path": "filament/BETA/BETA PLA High Speed @BBL P1P.json" - }, - { - "name": "BETA PLA High Speed @BBL X1C", - "sub_path": "filament/BETA/BETA PLA High Speed @BBL X1C.json" - }, - { - "name": "BETA HIPS @base", - "sub_path": "filament/BETA/BETA HIPS @base.json" - }, - { - "name": "BETA HIPS @BBL H2D", - "sub_path": "filament/BETA/BETA HIPS @BBL H2D.json" - }, - { - "name": "BETA HIPS @BBL X1C", - "sub_path": "filament/BETA/BETA HIPS @BBL X1C.json" - }, - { - "name": "Bambu ABS @BBL X2D", - "sub_path": "filament/Bambu ABS @BBL X2D.json" - }, - { - "name": "Bambu ABS @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu ABS @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu ABS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu ABS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu ABS @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu ABS @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu ABS-GF @BBL X2D", - "sub_path": "filament/Bambu ABS-GF @BBL X2D.json" - }, - { - "name": "Bambu ABS-GF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu ABS-GF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support for ABS @BBL X2D", - "sub_path": "filament/Bambu Support for ABS @BBL X2D.json" - }, - { - "name": "Bambu Support for ABS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support for ABS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic ABS @BBL X2D", - "sub_path": "filament/Generic ABS @BBL X2D.json" - }, - { - "name": "Generic ABS @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic ABS @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic ABS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic ABS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu ASA @BBL X2D", - "sub_path": "filament/Bambu ASA @BBL X2D.json" - }, - { - "name": "Bambu ASA @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu ASA @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu ASA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu ASA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu ASA-Aero @BBL X2D", - "sub_path": "filament/Bambu ASA-Aero @BBL X2D.json" - }, - { - "name": "Bambu ASA-Aero @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu ASA-Aero @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu ASA-CF @BBL X2D", - "sub_path": "filament/Bambu ASA-CF @BBL X2D.json" - }, - { - "name": "Bambu ASA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu ASA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic ASA @BBL X2D", - "sub_path": "filament/Generic ASA @BBL X2D.json" - }, - { - "name": "Generic ASA @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic ASA @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic ASA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic ASA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic BVOH @BBL X2D", - "sub_path": "filament/Generic BVOH @BBL X2D.json" - }, - { - "name": "Generic BVOH @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic BVOH @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic EVA @BBL X2D", - "sub_path": "filament/Generic EVA @BBL X2D.json" - }, - { - "name": "Generic EVA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic EVA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic HIPS @BBL X2D", - "sub_path": "filament/Generic HIPS @BBL X2D.json" - }, - { - "name": "Generic HIPS @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic HIPS @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic HIPS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic HIPS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PA-CF @BBL X2D", - "sub_path": "filament/Bambu PA-CF @BBL X2D.json" - }, - { - "name": "Bambu PA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PA6-CF @BBL X2D", - "sub_path": "filament/Bambu PA6-CF @BBL X2D.json" - }, - { - "name": "Bambu PA6-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PA6-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PA6-GF @BBL X2D", - "sub_path": "filament/Bambu PA6-GF @BBL X2D.json" - }, - { - "name": "Bambu PA6-GF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PA6-GF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PAHT-CF @BBL X2D", - "sub_path": "filament/Bambu PAHT-CF @BBL X2D.json" - }, - { - "name": "Bambu PAHT-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PAHT-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support For PA/PET @BBL X2D", - "sub_path": "filament/Bambu Support For PA PET @BBL X2D.json" - }, - { - "name": "Bambu Support For PA/PET @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support For PA PET @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support G @BBL X2D", - "sub_path": "filament/Bambu Support G @BBL X2D.json" - }, - { - "name": "Bambu Support G @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support G @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PA @BBL X2D", - "sub_path": "filament/Generic PA @BBL X2D.json" - }, - { - "name": "Generic PA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PA-CF @BBL X2D", - "sub_path": "filament/Generic PA-CF @BBL X2D.json" - }, - { - "name": "Generic PA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PC @BBL X2D", - "sub_path": "filament/Bambu PC @BBL X2D.json" - }, - { - "name": "Bambu PC @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PC @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PC @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu PC @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL X2D", - "sub_path": "filament/Bambu PC FR @BBL X2D.json" - }, - { - "name": "Bambu PC FR @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PC FR @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PC FR @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu PC FR @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Generic PC @BBL X2D", - "sub_path": "filament/Generic PC @BBL X2D.json" - }, - { - "name": "Generic PC @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PC @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PC @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PC @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PCTG @BBL X2D", - "sub_path": "filament/Generic PCTG @BBL X2D.json" - }, - { - "name": "Generic PCTG @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PCTG @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PE @BBL X2D", - "sub_path": "filament/Generic PE @BBL X2D.json" - }, - { - "name": "Generic PE @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PE @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PE-CF @BBL X2D", - "sub_path": "filament/Generic PE-CF @BBL X2D.json" - }, - { - "name": "Generic PE-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PE-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PET-CF @BBL X2D", - "sub_path": "filament/Bambu PET-CF @BBL X2D.json" - }, - { - "name": "Bambu PET-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PET-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL X2D", - "sub_path": "filament/Bambu PETG Basic @BBL X2D.json" - }, - { - "name": "Bambu PETG Basic @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Basic @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG Basic @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL X2D", - "sub_path": "filament/Bambu PETG HF @BBL X2D.json" - }, - { - "name": "Bambu PETG HF @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PETG HF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG HF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL X2D", - "sub_path": "filament/Bambu PETG Translucent @BBL X2D.json" - }, - { - "name": "Bambu PETG Translucent @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG Translucent @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu PETG Translucent @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL X2D", - "sub_path": "filament/Bambu PETG-CF @BBL X2D.json" - }, - { - "name": "Bambu PETG-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PETG-CF @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu PETG-CF @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Generic PETG @BBL X2D", - "sub_path": "filament/Generic PETG @BBL X2D.json" - }, - { - "name": "Generic PETG @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PETG @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PETG @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PETG @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL X2D", - "sub_path": "filament/Generic PETG HF @BBL X2D.json" - }, - { - "name": "Generic PETG HF @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PETG HF @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PETG HF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PETG HF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PETG-CF @BBL X2D", - "sub_path": "filament/Generic PETG-CF @BBL X2D.json" - }, - { - "name": "Generic PETG-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PETG-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PHA @BBL X2D", - "sub_path": "filament/Generic PHA @BBL X2D.json" - }, - { - "name": "Generic PHA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PHA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Aero @BBL X2D", - "sub_path": "filament/Bambu PLA Aero @BBL X2D.json" - }, - { - "name": "Bambu PLA Aero @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Aero @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL X2D", - "sub_path": "filament/Bambu PLA Basic @BBL X2D.json" - }, - { - "name": "Bambu PLA Basic @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Basic @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Basic @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL X2D", - "sub_path": "filament/Bambu PLA Dynamic @BBL X2D.json" - }, - { - "name": "Bambu PLA Dynamic @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Dynamic @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Dynamic @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL X2D", - "sub_path": "filament/Bambu PLA Galaxy @BBL X2D.json" - }, - { - "name": "Bambu PLA Galaxy @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Galaxy @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Galaxy @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Glow @BBL X2D", - "sub_path": "filament/Bambu PLA Glow @BBL X2D.json" - }, - { - "name": "Bambu PLA Glow @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Glow @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL X2D", - "sub_path": "filament/Bambu PLA Lite @BBL X2D.json" - }, - { - "name": "Bambu PLA Lite @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Lite @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Lite @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Marble @BBL X2D", - "sub_path": "filament/Bambu PLA Marble @BBL X2D.json" - }, - { - "name": "Bambu PLA Marble @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Marble @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL X2D", - "sub_path": "filament/Bambu PLA Matte @BBL X2D.json" - }, - { - "name": "Bambu PLA Matte @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Matte @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Matte @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL X2D", - "sub_path": "filament/Bambu PLA Metal @BBL X2D.json" - }, - { - "name": "Bambu PLA Metal @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Metal @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Metal @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL X2D", - "sub_path": "filament/Bambu PLA Silk @BBL X2D.json" - }, - { - "name": "Bambu PLA Silk @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Silk @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL X2D", - "sub_path": "filament/Bambu PLA Silk+ @BBL X2D.json" - }, - { - "name": "Bambu PLA Silk+ @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Silk+ @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Silk+ @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Sparkle @BBL X2D", - "sub_path": "filament/Bambu PLA Sparkle @BBL X2D.json" - }, - { - "name": "Bambu PLA Sparkle @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Sparkle @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL X2D", - "sub_path": "filament/Bambu PLA Tough @BBL X2D.json" - }, - { - "name": "Bambu PLA Tough @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Tough @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL X2D", - "sub_path": "filament/Bambu PLA Tough+ @BBL X2D.json" - }, - { - "name": "Bambu PLA Tough+ @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Tough+ @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Tough+ @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL X2D 0.6 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.6 nozzle.json" - }, - { - "name": "Bambu PLA Translucent @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu PLA Translucent @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu PLA Wood @BBL X2D", - "sub_path": "filament/Bambu PLA Wood @BBL X2D.json" - }, - { - "name": "Bambu PLA Wood @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA Wood @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PLA-CF @BBL X2D", - "sub_path": "filament/Bambu PLA-CF @BBL X2D.json" - }, - { - "name": "Bambu PLA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PLA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL X2D", - "sub_path": "filament/Bambu Support For PLA @BBL X2D.json" - }, - { - "name": "Bambu Support For PLA @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support For PLA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL X2D", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu Support For PLA/PETG @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support For PLA-PETG @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu Support W @BBL X2D", - "sub_path": "filament/Bambu Support W @BBL X2D.json" - }, - { - "name": "Bambu Support W @BBL X2D 0.2 nozzle", - "sub_path": "filament/Bambu Support W @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Bambu Support W @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu Support W @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PLA @BBL X2D", - "sub_path": "filament/Generic PLA @BBL X2D.json" - }, - { - "name": "Generic PLA @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PLA @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PLA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PLA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PLA High Speed @BBL X2D", - "sub_path": "filament/Generic PLA High Speed @BBL X2D.json" - }, - { - "name": "Generic PLA High Speed @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PLA High Speed @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PLA Silk @BBL X2D", - "sub_path": "filament/Generic PLA Silk @BBL X2D.json" - }, - { - "name": "Generic PLA Silk @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PLA Silk @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PLA-CF @BBL X2D", - "sub_path": "filament/Generic PLA-CF @BBL X2D.json" - }, - { - "name": "Generic PLA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PLA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PP @BBL X2D", - "sub_path": "filament/Generic PP @BBL X2D.json" - }, - { - "name": "Generic PP @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PP @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PP-CF @BBL X2D", - "sub_path": "filament/Generic PP-CF @BBL X2D.json" - }, - { - "name": "Generic PP-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PP-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PP-GF @BBL X2D", - "sub_path": "filament/Generic PP-GF @BBL X2D.json" - }, - { - "name": "Generic PP-GF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PP-GF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PPA-CF @BBL X2D", - "sub_path": "filament/Bambu PPA-CF @BBL X2D.json" - }, - { - "name": "Bambu PPA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PPA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PPA-CF @BBL X2D", - "sub_path": "filament/Generic PPA-CF @BBL X2D.json" - }, - { - "name": "Generic PPA-CF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PPA-CF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PPA-GF @BBL X2D", - "sub_path": "filament/Generic PPA-GF @BBL X2D.json" - }, - { - "name": "Generic PPA-GF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PPA-GF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu PVA @BBL X2D", - "sub_path": "filament/Bambu PVA @BBL X2D.json" - }, - { - "name": "Bambu PVA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu PVA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic PVA @BBL X2D", - "sub_path": "filament/Generic PVA @BBL X2D.json" - }, - { - "name": "Generic PVA @BBL X2D 0.2 nozzle", - "sub_path": "filament/Generic PVA @BBL X2D 0.2 nozzle.json" - }, - { - "name": "Generic PVA @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic PVA @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 85A @BBL X2D", - "sub_path": "filament/Bambu TPU 85A @BBL X2D.json" - }, - { - "name": "Bambu TPU 85A @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu TPU 85A @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL X2D", - "sub_path": "filament/Bambu TPU 90A @BBL X2D.json" - }, - { - "name": "Bambu TPU 90A @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 90A @BBL X2D 0.8 nozzle", - "sub_path": "filament/Bambu TPU 90A @BBL X2D 0.8 nozzle.json" - }, - { - "name": "Bambu TPU 95A @BBL X2D", - "sub_path": "filament/Bambu TPU 95A @BBL X2D.json" - }, - { - "name": "Bambu TPU 95A @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu TPU 95A @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu TPU 95A HF @BBL X2D", - "sub_path": "filament/Bambu TPU 95A HF @BBL X2D.json" - }, - { - "name": "Bambu TPU 95A HF @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu TPU 95A HF @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Bambu TPU for AMS @BBL X2D", - "sub_path": "filament/Bambu TPU for AMS @BBL X2D.json" - }, - { - "name": "Bambu TPU for AMS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Bambu TPU for AMS @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic TPU @BBL X2D", - "sub_path": "filament/Generic TPU @BBL X2D.json" - }, - { - "name": "Generic TPU @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic TPU @BBL X2D 0.4 nozzle.json" - }, - { - "name": "Generic TPU for AMS @BBL X2D", - "sub_path": "filament/Generic TPU for AMS @BBL X2D.json" - }, - { - "name": "Generic TPU for AMS @BBL X2D 0.4 nozzle", - "sub_path": "filament/Generic TPU for AMS @BBL X2D 0.4 nozzle.json" } ], "machine_list": [ @@ -9535,6 +9767,10 @@ "name": "Bambu Lab H2D Pro 0.4 nozzle", "sub_path": "machine/Bambu Lab H2D Pro 0.4 nozzle.json" }, + { + "name": "Bambu Lab X2D 0.4 nozzle", + "sub_path": "machine/Bambu Lab X2D 0.4 nozzle.json" + }, { "name": "Bambu Lab A1 0.2 nozzle", "sub_path": "machine/Bambu Lab A1 0.2 nozzle.json" @@ -9667,10 +9903,6 @@ "name": "Bambu Lab H2D Pro 0.8 nozzle", "sub_path": "machine/Bambu Lab H2D Pro 0.8 nozzle.json" }, - { - "name": "Bambu Lab X2D 0.4 nozzle", - "sub_path": "machine/Bambu Lab X2D 0.4 nozzle.json" - }, { "name": "Bambu Lab X2D 0.2 nozzle", "sub_path": "machine/Bambu Lab X2D 0.2 nozzle.json" diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @BBL X1.json new file mode 100644 index 0000000000..225e12d539 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @BBL X1.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Fiberon PA12-CF10 @BBL X1", + "inherits": "Fiberon PA12-CF10 @base", + "from": "system", + "setting_id": "GFSL56_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @base.json new file mode 100644 index 0000000000..368abf5570 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA12-CF10 @base.json @@ -0,0 +1,77 @@ +{ + "type": "filament", + "name": "Fiberon PA12-CF10 @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "GFL56", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "eng_plate_temp": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "100" + ], + "filament_cost": [ + "99.99" + ], + "filament_density": [ + "1.06" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "55" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @BBL X1.json new file mode 100644 index 0000000000..ce552a17e6 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @BBL X1.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Fiberon PA6-CF20 @BBL X1", + "inherits": "Fiberon PA6-CF20 @base", + "from": "system", + "setting_id": "GFSL57_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @base.json new file mode 100644 index 0000000000..65fee6a5bb --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-CF20 @base.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Fiberon PA6-CF20 @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "GFL57", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "eng_plate_temp": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "100" + ], + "filament_cost": [ + "83.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "74.2" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @BBL X1.json new file mode 100644 index 0000000000..7c03b332b7 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @BBL X1.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Fiberon PA6-GF25 @BBL X1", + "inherits": "Fiberon PA6-GF25 @base", + "from": "system", + "setting_id": "GFSL58_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @base.json new file mode 100644 index 0000000000..af2b6d92e1 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA6-GF25 @base.json @@ -0,0 +1,77 @@ +{ + "type": "filament", + "name": "Fiberon PA6-GF25 @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "GFL58", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "eng_plate_temp": [ + "40" + ], + "eng_plate_temp_initial_layer": [ + "40" + ], + "fan_cooling_layer_time": [ + "15" + ], + "fan_max_speed": [ + "100" + ], + "filament_cost": [ + "63.99" + ], + "filament_density": [ + "1.2" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PA-GF" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "40" + ], + "hot_plate_temp_initial_layer": [ + "40" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "100" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "70.4" + ], + "textured_plate_temp": [ + "40" + ], + "textured_plate_temp_initial_layer": [ + "40" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @BBL X1.json new file mode 100644 index 0000000000..a33b87e835 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @BBL X1.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Fiberon PA612-CF15 @BBL X1", + "inherits": "Fiberon PA612-CF15 @base", + "from": "system", + "setting_id": "GFSL59_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @base.json new file mode 100644 index 0000000000..dc7194aad0 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PA612-CF15 @base.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "Fiberon PA612-CF15 @base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "GFL59", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "fan_cooling_layer_time": [ + "5" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "10" + ], + "filament_cost": [ + "94.99" + ], + "filament_density": [ + "1.03" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_type": [ + "PA-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "2" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "40" + ], + "overhang_fan_threshold": [ + "0%" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "206.2" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @BBL X1.json new file mode 100644 index 0000000000..4661fc9dfc --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @BBL X1.json @@ -0,0 +1,33 @@ +{ + "type": "filament", + "name": "Fiberon PET-CF17 @BBL X1", + "inherits": "Fiberon PET-CF17 @base", + "from": "system", + "setting_id": "GFSL60_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "required_nozzle_HRC": [ + "40" + ], + "supertack_plate_temp": [ + "80" + ], + "supertack_plate_temp_initial_layer": [ + "80" + ], + "filament_adhesiveness_category": [ + "800" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @base.json new file mode 100644 index 0000000000..adcbf5c9ef --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PET-CF17 @base.json @@ -0,0 +1,86 @@ +{ + "type": "filament", + "name": "Fiberon PET-CF17 @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "GFL60", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "242" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "89.99" + ], + "filament_density": [ + "1.34" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PET-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature_range_low": [ + "270" + ], + "overhang_fan_speed": [ + "70" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "79.3" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1.json new file mode 100644 index 0000000000..e348b1e22f --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-ESD @BBL X1.json @@ -0,0 +1,33 @@ +{ + "type": "filament", + "name": "Fiberon PETG-ESD @BBL X1", + "inherits": "Fiberon PETG-ESD @base", + "from": "system", + "setting_id": "GFSL06_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 Carbon 0.4 nozzle", + "Bambu Lab P1S 0.4 nozzle", + "Bambu Lab X1E 0.4 nozzle" + ], + "overhang_fan_speed": [ + "70" + ], + "filament_cost": [ + "29.99" + ], + "bed_type": [ + "Cool Plate" + ], + "fan_max_speed": [ + "80" + ], + "temperature_vitrification": [ + "77" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @BBL X1.json new file mode 100644 index 0000000000..264472679c --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @BBL X1.json @@ -0,0 +1,92 @@ +{ + "type": "filament", + "name": "Fiberon PETG-rCF08 @BBL X1", + "inherits": "Fiberon PETG-rCF08 @base", + "from": "system", + "setting_id": "GFSL61_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >80)||(bed_temperature_initial_layer[current_extruder] >80)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >60)||(bed_temperature_initial_layer[current_extruder] >60)}M106 P3 S180\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "required_nozzle_HRC": [ + "40" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_volumetric_speed": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_ramming_volumetric_speed": [ + "-1" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_extruder_variant": [ + "Direct Drive Standard", + "Direct Drive High Flow" + ], + "filament_pre_cooling_temperature": [ + "0" + ], + "filament_ramming_travel_time": [ + "0" + ], + "filament_adaptive_volumetric_speed": [ + "0" + ], + "long_retractions_when_ec": [ + "0" + ], + "retraction_distances_when_ec": [ + "0" + ], + "volumetric_speed_coefficients": [ + "0 0 0 0 0 0" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @base.json b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @base.json new file mode 100644 index 0000000000..da9cdeb43c --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/Fiberon PETG-rCF08 @base.json @@ -0,0 +1,101 @@ +{ + "type": "filament", + "name": "Fiberon PETG-rCF08 @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "GFL61", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "0" + ], + "cool_plate_temp_initial_layer": [ + "0" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "12" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "39.99" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PETG-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "70" + ], + "overhang_fan_threshold": [ + "95%" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "20" + ], + "temperature_vitrification": [ + "69.7" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1.json index 45b9f9383a..ec927bbc52 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1.json @@ -10,19 +10,49 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "24" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "temperature_vitrification": [ + "58.2" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1M.json index 20846325aa..4857f27375 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL A1M.json @@ -10,19 +10,49 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "24" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "temperature_vitrification": [ + "58.2" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL P1P.json index 1585bcdd58..a33f7058de 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL P1P.json @@ -10,19 +10,46 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "24" + "textured_plate_temp": [ + "60" ], - "slow_down_layer_time": [ - "4" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "58.2" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1.json index 00b2549c8d..2251c3a170 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma CoPE @BBL X1.json @@ -10,19 +10,46 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "24" + "textured_plate_temp": [ + "60" ], - "slow_down_layer_time": [ - "4" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "58.2" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1.json index d740f1ff81..8460996ce9 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1.json @@ -10,19 +10,46 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.95" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "16" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "temperature_vitrification": [ + "62.5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1M.json index 6918273b71..c592bdd1da 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL A1M.json @@ -10,19 +10,46 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.95" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "16" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "temperature_vitrification": [ + "62.5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL P1P.json index efa40c4fa2..4f802b2f28 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL P1P.json @@ -10,19 +10,43 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.95" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "16" + "textured_plate_temp": [ + "60" ], - "slow_down_layer_time": [ - "4" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "62.5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1.json index 0ba00b78e0..836f8c4cc7 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA @BBL X1.json @@ -10,16 +10,43 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.95" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "16" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "62.5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1.json index fdd3244d62..6a34b19049 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1.json @@ -10,19 +10,43 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1M.json index 137b7fa824..74aa730a03 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL A1M.json @@ -10,19 +10,43 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL P1P.json index f34dc3c5a3..97c3558b2c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL P1P.json @@ -10,19 +10,43 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "10" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1.json index f5cd673597..ef1c0886e7 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Celestial @BBL X1.json @@ -10,19 +10,40 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "textured_plate_temp": [ + "60" ], - "slow_down_layer_time": [ - "4" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1.json index fc959a4a0b..2201897336 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1.json @@ -10,19 +10,43 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1M.json index c0c3e66bc9..29a115d824 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL A1M.json @@ -10,19 +10,43 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL P1P.json index fc9b18c88d..a5bda6970b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL P1P.json @@ -10,19 +10,43 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "10" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1.json index a8a66ff293..c36bf6bf63 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Galaxy @BBL X1.json @@ -10,19 +10,40 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_max_speed": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "textured_plate_temp": [ + "60" ], - "slow_down_layer_time": [ - "4" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1.json index 1d100eb6be..29aa7205ee 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1.json @@ -10,22 +10,43 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1M.json index 90b6d1971f..d07309eef6 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL A1M.json @@ -10,22 +10,43 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL P1P.json index 2df18dc7f6..c81ef58f9c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL P1P.json @@ -10,22 +10,43 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "10" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1.json index 7c551dcbb1..10701cfc01 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Glow @BBL X1.json @@ -10,22 +10,40 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" ], - "slow_down_layer_time": [ - "4" + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1.json index 01098145c8..4da92b5a04 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1.json @@ -10,22 +10,43 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1M.json index f24b5317d3..e121d53f7d 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL A1M.json @@ -10,22 +10,43 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL P1P.json index dbaf7101e5..f15189902b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL P1P.json @@ -10,22 +10,43 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "10" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1.json index 174dd27290..db9dcf9269 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Luminous @BBL X1.json @@ -10,22 +10,40 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" ], - "slow_down_layer_time": [ - "4" + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1.json index d68af37d9b..e18cf6058f 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1.json @@ -10,19 +10,52 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], "fan_cooling_layer_time": [ "80" ], + "filament_density": [ + "1.37" + ], + "bed_type": [ + "Cool Plate" + ], "fan_max_speed": [ "80" ], "fan_min_speed": [ "60" ], - "filament_max_volumetric_speed": [ - "22" + "slow_down_min_speed": [ + "5" ], - "slow_down_layer_time": [ - "8" + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1M.json index 32742ece66..0cddd47a22 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL A1M.json @@ -10,19 +10,52 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], "fan_cooling_layer_time": [ "80" ], + "filament_density": [ + "1.37" + ], + "bed_type": [ + "Cool Plate" + ], "fan_max_speed": [ "80" ], "fan_min_speed": [ "60" ], - "filament_max_volumetric_speed": [ - "22" + "slow_down_min_speed": [ + "5" ], - "slow_down_layer_time": [ - "8" + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL P1P.json index 4dfe9f2b9e..e67d08514c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL P1P.json @@ -10,19 +10,49 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], "fan_cooling_layer_time": [ "80" ], - "fan_max_speed": [ - "100" + "filament_density": [ + "1.37" + ], + "bed_type": [ + "Cool Plate" ], "fan_min_speed": [ "50" ], - "filament_max_volumetric_speed": [ - "22" + "slow_down_min_speed": [ + "5" ], - "slow_down_layer_time": [ - "8" + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1.json index cf9888f0df..8f85dff8df 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Marble @BBL X1.json @@ -10,19 +10,43 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "22" + "textured_plate_temp": [ + "60" ], - "slow_down_layer_time": [ - "8" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_density": [ + "1.37" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1.json index 7f19ee82f2..905b6e8624 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1.json @@ -10,19 +10,55 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], "fan_cooling_layer_time": [ "80" ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "bed_type": [ + "Cool Plate" + ], "fan_max_speed": [ "80" ], "fan_min_speed": [ "60" ], - "filament_max_volumetric_speed": [ - "22" + "slow_down_min_speed": [ + "5" ], - "slow_down_layer_time": [ - "8" + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1M.json index f309b02f40..2bd26f4411 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL A1M.json @@ -10,19 +10,55 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], "fan_cooling_layer_time": [ "80" ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "bed_type": [ + "Cool Plate" + ], "fan_max_speed": [ "80" ], "fan_min_speed": [ "60" ], - "filament_max_volumetric_speed": [ - "22" + "slow_down_min_speed": [ + "5" ], - "slow_down_layer_time": [ - "8" + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL P1P.json index ec2e229bdd..4100fe84ab 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL P1P.json @@ -10,19 +10,52 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], "fan_cooling_layer_time": [ "80" ], - "fan_max_speed": [ - "100" + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "bed_type": [ + "Cool Plate" ], "fan_min_speed": [ "50" ], - "filament_max_volumetric_speed": [ - "22" + "slow_down_min_speed": [ + "5" ], - "slow_down_layer_time": [ - "8" + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1.json index c4e665c830..6901a33b60 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Matte @BBL X1.json @@ -10,19 +10,46 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "22" + "textured_plate_temp": [ + "60" ], - "slow_down_layer_time": [ - "8" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1.json index ba006ef5a9..546e7c323c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1.json @@ -10,22 +10,43 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1M.json index 8607acfa81..f96e849799 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL A1M.json @@ -10,22 +10,43 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL P1P.json index ec17b37810..a386ec3306 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL P1P.json @@ -10,22 +10,43 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "10" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1.json index 6240fd7950..ca62255017 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Metallic @BBL X1.json @@ -10,22 +10,40 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" ], - "slow_down_layer_time": [ - "4" + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1.json index 6bf4327c1d..cfb6c3f3d3 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1.json @@ -10,22 +10,46 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_cost": [ + "29.99" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1M.json index 492b1efa54..d970f6b468 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL A1M.json @@ -10,22 +10,46 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_cost": [ + "29.99" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL P1P.json index c8f8b61654..c09699ecd7 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL P1P.json @@ -10,22 +10,46 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_cost": [ + "29.99" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "10" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1.json index 8b20da2c25..4a08ef9ec7 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Neon @BBL X1.json @@ -10,22 +10,43 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" ], - "slow_down_layer_time": [ - "4" + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_cost": [ + "29.99" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1.json index 7d6e25c3ca..057f04d232 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1.json @@ -1,7 +1,6 @@ { "type": "filament", "name": "Panchroma PLA Satin @BBL A1", - "renamed_from": "Panchroma PLA Stain @BBL A1", "inherits": "Panchroma PLA Satin @base", "from": "system", "setting_id": "GFSPM005_00", @@ -11,22 +10,40 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.95" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "16" + "cool_plate_temp_initial_layer": [ + "60" ], - "slow_down_layer_time": [ + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1M.json index bdcfca5d99..4492871b7c 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL A1M.json @@ -1,7 +1,6 @@ { "type": "filament", "name": "Panchroma PLA Satin @BBL A1M", - "renamed_from": "Panchroma PLA Stain @BBL A1M", "inherits": "Panchroma PLA Satin @base", "from": "system", "setting_id": "GFSPM005_02", @@ -11,22 +10,40 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.95" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "16" + "cool_plate_temp_initial_layer": [ + "60" ], - "slow_down_layer_time": [ + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL P1P.json index 2e7a11004a..39c5f418f0 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL P1P.json @@ -1,7 +1,6 @@ { "type": "filament", "name": "Panchroma PLA Satin @BBL P1P", - "renamed_from": "Panchroma PLA Stain @BBL P1P", "inherits": "Panchroma PLA Satin @base", "from": "system", "setting_id": "GFSPM005_04", @@ -11,22 +10,43 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.95" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "16" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "15" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1.json index 955e6d572e..c5720db9ae 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @BBL X1.json @@ -1,7 +1,6 @@ { "type": "filament", "name": "Panchroma PLA Satin @BBL X1", - "renamed_from": "Panchroma PLA Stain @BBL X1", "inherits": "Panchroma PLA Satin @base", "from": "system", "setting_id": "GFSPM005_06", @@ -11,22 +10,43 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.95" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "16" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "15" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @base.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @base.json index 3c998b7c45..6af2ad1bbe 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @base.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Satin @base.json @@ -1,7 +1,6 @@ { "type": "filament", "name": "Panchroma PLA Satin @base", - "renamed_from": "Panchroma PLA Stain @base", "inherits": "fdm_filament_pla", "from": "system", "filament_id": "GFPM005", diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1.json index 2ec6e35e74..964735c284 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1.json @@ -10,22 +10,55 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], "fan_cooling_layer_time": [ "80" ], + "filament_density": [ + "1.34" + ], + "bed_type": [ + "Cool Plate" + ], "fan_max_speed": [ "80" ], "fan_min_speed": [ "60" ], - "filament_flow_ratio": [ - "0.98" + "slow_down_min_speed": [ + "5" ], - "filament_max_volumetric_speed": [ - "16" + "temperature_vitrification": [ + "58.2" ], - "slow_down_layer_time": [ - "8" + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1M.json index 21fd5e2100..ea303d2dcf 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL A1M.json @@ -10,22 +10,55 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], "fan_cooling_layer_time": [ "80" ], + "filament_density": [ + "1.34" + ], + "bed_type": [ + "Cool Plate" + ], "fan_max_speed": [ "80" ], "fan_min_speed": [ "60" ], - "filament_flow_ratio": [ - "0.98" + "slow_down_min_speed": [ + "5" ], - "filament_max_volumetric_speed": [ - "16" + "temperature_vitrification": [ + "58.2" ], - "slow_down_layer_time": [ - "8" + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL P1P.json index 4b69b6f390..8523bbb0cc 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL P1P.json @@ -10,22 +10,46 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "16" + "cool_plate_temp_initial_layer": [ + "60" ], - "slow_down_layer_time": [ - "8" + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_density": [ + "1.34" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "58.2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1.json index 16d7947087..8bb1c8a001 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Silk @BBL X1.json @@ -10,22 +10,46 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "16" + "cool_plate_temp_initial_layer": [ + "60" ], - "slow_down_layer_time": [ - "8" + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_density": [ + "1.34" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "58.2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1.json index 5991483aa9..7195ee8aee 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1.json @@ -10,22 +10,43 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1M.json index 198d6be0c0..86702002c9 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL A1M.json @@ -10,22 +10,43 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL P1P.json index cec63cf699..5a814b235b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL P1P.json @@ -10,22 +10,43 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "10" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1.json index 79b868b884..6d22d51867 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Starlight @BBL X1.json @@ -10,22 +10,40 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" ], - "slow_down_layer_time": [ - "4" + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1.json index 2b94f78786..aaa1caeb72 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1.json @@ -10,22 +10,49 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_cost": [ + "29.99" ], "filament_max_volumetric_speed": [ - "16" + "20" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1M.json index 4864a558a7..af56eb9d0b 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL A1M.json @@ -10,22 +10,49 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_cost": [ + "29.99" ], "filament_max_volumetric_speed": [ - "16" + "20" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL P1P.json index 3a4d9e64f5..7c6352f796 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL P1P.json @@ -10,22 +10,49 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_cost": [ + "29.99" ], "filament_max_volumetric_speed": [ - "16" + "20" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "10" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1.json index d07c761e6a..e4c5264897 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA Translucent @BBL X1.json @@ -10,22 +10,46 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_cost": [ + "29.99" ], "filament_max_volumetric_speed": [ - "16" + "20" ], - "slow_down_layer_time": [ - "4" + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1.json index c998b6c002..ebc5d11ea1 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1.json @@ -10,22 +10,43 @@ "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1M.json index 161b31f8ea..2d62c7b9bd 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL A1M.json @@ -10,22 +10,43 @@ "Bambu Lab A1 mini 0.6 nozzle", "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "2" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL P1P.json index e39b37c12c..795fa3ded8 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL P1P.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL P1P.json @@ -10,22 +10,43 @@ "Bambu Lab P1P 0.6 nozzle", "Bambu Lab P1P 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "10" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1.json index 9ac498c983..c2bc0b9eda 100644 --- a/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/Panchroma PLA UV Shift @BBL X1.json @@ -10,22 +10,40 @@ "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "fan_cooling_layer_time": [ - "100" + "cool_plate_temp": [ + "60" ], - "fan_max_speed": [ - "100" + "eng_plate_temp": [ + "60" ], - "fan_min_speed": [ - "100" + "hot_plate_temp": [ + "60" ], - "filament_flow_ratio": [ - "0.98" + "textured_plate_temp": [ + "60" ], - "filament_max_volumetric_speed": [ - "20" + "cool_plate_temp_initial_layer": [ + "60" ], - "slow_down_layer_time": [ - "4" + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1.json new file mode 100644 index 0000000000..b45a5cbad4 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite CosPLA @BBL A1", + "inherits": "PolyLite CosPLA @base", + "from": "system", + "setting_id": "GFSL62_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1M.json new file mode 100644 index 0000000000..679b39ff18 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL A1M.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite CosPLA @BBL A1M", + "inherits": "PolyLite CosPLA @base", + "from": "system", + "setting_id": "GFSL62_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL P1P.json new file mode 100644 index 0000000000..ef0e9ae3a6 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL P1P.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite CosPLA @BBL P1P", + "inherits": "PolyLite CosPLA @base", + "from": "system", + "setting_id": "GFSL62_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "slow_down_layer_time": [ + "15" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL X1.json new file mode 100644 index 0000000000..7442729e32 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @BBL X1.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite CosPLA @BBL X1", + "inherits": "PolyLite CosPLA @base", + "from": "system", + "setting_id": "GFSL62_03", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "slow_down_layer_time": [ + "15" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @base.json new file mode 100644 index 0000000000..18f38f0c68 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite CosPLA @base.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "PolyLite CosPLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL62", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "20.99" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "59" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1.json index ab5335b2f9..f52c8e2011 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1.json @@ -5,36 +5,63 @@ "from": "system", "setting_id": "GFSL00_02", "instantiation": "true", - "fan_cooling_layer_time": [ - "80" - ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ - "60" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "65" - ], "compatible_printers": [ "Bambu Lab A1 0.4 nozzle", "Bambu Lab A1 0.6 nozzle", "Bambu Lab A1 0.8 nozzle" + ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "slow_down_layer_time": [ + "2" + ], + "temperature_vitrification": [ + "61" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1M.json index 38db40aced..57b3ab4e56 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL A1M.json @@ -5,36 +5,63 @@ "from": "system", "setting_id": "GFSL00_00", "instantiation": "true", - "fan_cooling_layer_time": [ - "80" + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" ], - "fan_max_speed": [ - "80" - ], - "fan_min_speed": [ + "cool_plate_temp": [ "60" ], - "filament_max_volumetric_speed": [ - "15" + "eng_plate_temp": [ + "60" ], "hot_plate_temp": [ "60" ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], "hot_plate_temp_initial_layer": [ "60" ], - "slow_down_layer_time": [ - "8" - ], - "textured_plate_temp": [ - "65" - ], "textured_plate_temp_initial_layer": [ - "65" + "60" ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" + "overhang_fan_speed": [ + "75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "slow_down_layer_time": [ + "2" + ], + "temperature_vitrification": [ + "61" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1.json index dbacedc4be..08bdd474a4 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA @BBL X1.json @@ -5,123 +5,60 @@ "from": "system", "setting_id": "GFSL23", "instantiation": "true", - "filament_max_volumetric_speed": [ - "15", - "15" - ], - "filament_flow_ratio": [ - "0.95", - "0.95" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1.json new file mode 100644 index 0000000000..feee6effdb --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Galaxy @BBL A1", + "inherits": "PolyLite PLA Galaxy @base", + "from": "system", + "setting_id": "GFSL63_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1M.json new file mode 100644 index 0000000000..e7e4f70f23 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL A1M.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Galaxy @BBL A1M", + "inherits": "PolyLite PLA Galaxy @base", + "from": "system", + "setting_id": "GFSL63_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL P1P.json new file mode 100644 index 0000000000..5c29bee1f3 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL P1P.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Galaxy @BBL P1P", + "inherits": "PolyLite PLA Galaxy @base", + "from": "system", + "setting_id": "GFSL63_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "slow_down_layer_time": [ + "10" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL X1.json new file mode 100644 index 0000000000..5442a29906 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @BBL X1.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Galaxy @BBL X1", + "inherits": "PolyLite PLA Galaxy @base", + "from": "system", + "setting_id": "GFSL63_03", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "slow_down_layer_time": [ + "4" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @base.json new file mode 100644 index 0000000000..9480b33392 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Galaxy @base.json @@ -0,0 +1,68 @@ +{ + "type": "filament", + "name": "PolyLite PLA Galaxy @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL63", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1.json new file mode 100644 index 0000000000..3c9a455cae --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Glow @BBL A1", + "inherits": "PolyLite PLA Glow @base", + "from": "system", + "setting_id": "GFSL64_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1M.json new file mode 100644 index 0000000000..205722c3d2 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL A1M.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Glow @BBL A1M", + "inherits": "PolyLite PLA Glow @base", + "from": "system", + "setting_id": "GFSL64_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL P1P.json new file mode 100644 index 0000000000..2c67c2098b --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL P1P.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Glow @BBL P1P", + "inherits": "PolyLite PLA Glow @base", + "from": "system", + "setting_id": "GFSL64_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "slow_down_layer_time": [ + "10" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL X1.json new file mode 100644 index 0000000000..932e217ee5 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @BBL X1.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Glow @BBL X1", + "inherits": "PolyLite PLA Glow @base", + "from": "system", + "setting_id": "GFSL64_03", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "slow_down_layer_time": [ + "4" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @base.json new file mode 100644 index 0000000000..ab4b717dbb --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Glow @base.json @@ -0,0 +1,68 @@ +{ + "type": "filament", + "name": "PolyLite PLA Glow @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL64", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1.json new file mode 100644 index 0000000000..7b9b747ad1 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Luminous @BBL A1", + "inherits": "PolyLite PLA Luminous @base", + "from": "system", + "setting_id": "GFSL65_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1M.json new file mode 100644 index 0000000000..f6a84a52cb --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL A1M.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Luminous @BBL A1M", + "inherits": "PolyLite PLA Luminous @base", + "from": "system", + "setting_id": "GFSL65_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL P1P.json new file mode 100644 index 0000000000..c89622dd47 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL P1P.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Luminous @BBL P1P", + "inherits": "PolyLite PLA Luminous @base", + "from": "system", + "setting_id": "GFSL65_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "slow_down_layer_time": [ + "10" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL X1.json new file mode 100644 index 0000000000..d9cca17665 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @BBL X1.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Luminous @BBL X1", + "inherits": "PolyLite PLA Luminous @base", + "from": "system", + "setting_id": "GFSL65_03", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "slow_down_layer_time": [ + "4" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @base.json new file mode 100644 index 0000000000..a6bb2746c1 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Luminous @base.json @@ -0,0 +1,68 @@ +{ + "type": "filament", + "name": "PolyLite PLA Luminous @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL65", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1.json new file mode 100644 index 0000000000..c54ed61ca9 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Neon @BBL A1", + "inherits": "PolyLite PLA Neon @base", + "from": "system", + "setting_id": "GFSL66_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1M.json new file mode 100644 index 0000000000..b324cfd9bf --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL A1M.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Neon @BBL A1M", + "inherits": "PolyLite PLA Neon @base", + "from": "system", + "setting_id": "GFSL66_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL P1P.json new file mode 100644 index 0000000000..79e994ecc4 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL P1P.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Neon @BBL P1P", + "inherits": "PolyLite PLA Neon @base", + "from": "system", + "setting_id": "GFSL66_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "slow_down_layer_time": [ + "10" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL X1.json new file mode 100644 index 0000000000..6cc2023b3b --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @BBL X1.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Neon @BBL X1", + "inherits": "PolyLite PLA Neon @base", + "from": "system", + "setting_id": "GFSL66_03", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "slow_down_layer_time": [ + "4" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @base.json new file mode 100644 index 0000000000..5a0ec60465 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Neon @base.json @@ -0,0 +1,68 @@ +{ + "type": "filament", + "name": "PolyLite PLA Neon @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL66", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1.json new file mode 100644 index 0000000000..8e1425278b --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Starlight @BBL A1", + "inherits": "PolyLite PLA Starlight @base", + "from": "system", + "setting_id": "GFSL67_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1M.json new file mode 100644 index 0000000000..ecb482cdcb --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL A1M.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Starlight @BBL A1M", + "inherits": "PolyLite PLA Starlight @base", + "from": "system", + "setting_id": "GFSL67_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL P1P.json new file mode 100644 index 0000000000..0f7210a5cc --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL P1P.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Starlight @BBL P1P", + "inherits": "PolyLite PLA Starlight @base", + "from": "system", + "setting_id": "GFSL67_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "slow_down_layer_time": [ + "10" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL X1.json new file mode 100644 index 0000000000..88d436c526 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @BBL X1.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Starlight @BBL X1", + "inherits": "PolyLite PLA Starlight @base", + "from": "system", + "setting_id": "GFSL67_03", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "slow_down_layer_time": [ + "4" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @base.json new file mode 100644 index 0000000000..ecc73602c3 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Starlight @base.json @@ -0,0 +1,68 @@ +{ + "type": "filament", + "name": "PolyLite PLA Starlight @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL67", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1.json new file mode 100644 index 0000000000..6664212a43 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Translucent @BBL A1", + "inherits": "PolyLite PLA Translucent @base", + "from": "system", + "setting_id": "GFSL68_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1M.json new file mode 100644 index 0000000000..7b20e40ce1 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL A1M.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyLite PLA Translucent @BBL A1M", + "inherits": "PolyLite PLA Translucent @base", + "from": "system", + "setting_id": "GFSL68_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL P1P.json new file mode 100644 index 0000000000..f3f3198158 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL P1P.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Translucent @BBL P1P", + "inherits": "PolyLite PLA Translucent @base", + "from": "system", + "setting_id": "GFSL68_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "slow_down_layer_time": [ + "10" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL X1.json new file mode 100644 index 0000000000..f67db0a271 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @BBL X1.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyLite PLA Translucent @BBL X1", + "inherits": "PolyLite PLA Translucent @base", + "from": "system", + "setting_id": "GFSL68_03", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "slow_down_layer_time": [ + "4" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @base.json b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @base.json new file mode 100644 index 0000000000..f5f9c89720 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyLite PLA Translucent @base.json @@ -0,0 +1,68 @@ +{ + "type": "filament", + "name": "PolyLite PLA Translucent @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL68", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "2" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1.json index a9929a1b81..d10f958597 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1.json +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1.json @@ -5,36 +5,69 @@ "from": "system", "setting_id": "GFSL01_02", "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], "fan_cooling_layer_time": [ "80" ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "bed_type": [ + "Cool Plate" + ], "fan_max_speed": [ "80" ], "fan_min_speed": [ "60" ], - "filament_max_volumetric_speed": [ - "22" - ], - "hot_plate_temp": [ - "65" - ], - "hot_plate_temp_initial_layer": [ - "65" + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "8" ], - "textured_plate_temp": [ - "65" + "temperature_vitrification": [ + "61" ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 0.4 nozzle", - "Bambu Lab A1 0.6 nozzle", - "Bambu Lab A1 0.8 nozzle" + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1M.json index cf8d706e55..ca09a47935 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1M.json +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL A1M.json @@ -5,36 +5,69 @@ "from": "system", "setting_id": "GFSL01_00", "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ], + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], "fan_cooling_layer_time": [ "80" ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "bed_type": [ + "Cool Plate" + ], "fan_max_speed": [ "80" ], "fan_min_speed": [ "60" ], - "filament_max_volumetric_speed": [ - "22" - ], - "hot_plate_temp": [ - "60" - ], - "hot_plate_temp_initial_layer": [ - "60" + "slow_down_min_speed": [ + "5" ], "slow_down_layer_time": [ "8" ], - "textured_plate_temp": [ - "65" + "temperature_vitrification": [ + "61" ], - "textured_plate_temp_initial_layer": [ - "65" - ], - "compatible_printers": [ - "Bambu Lab A1 mini 0.4 nozzle", - "Bambu Lab A1 mini 0.6 nozzle", - "Bambu Lab A1 mini 0.8 nozzle" + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1.json index bb143728a7..d3f601395b 100644 --- a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1.json +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA @BBL X1.json @@ -5,123 +5,60 @@ "from": "system", "setting_id": "GFSL22", "instantiation": "true", - "filament_max_volumetric_speed": [ - "22", - "22" - ], - "filament_flow_ratio": [ - "0.98", - "0.98" - ], - "filament_deretraction_speed": [ - "nil", - "nil" - ], - "filament_flush_temp": [ - "0", - "0" - ], - "filament_flush_volumetric_speed": [ - "0", - "0" - ], - "filament_long_retractions_when_cut": [ - "nil", - "nil" - ], - "filament_ramming_volumetric_speed": [ - "-1", - "-1" - ], - "filament_retract_before_wipe": [ - "nil", - "nil" - ], - "filament_retract_restart_extra": [ - "nil", - "nil" - ], - "filament_retract_when_changing_layer": [ - "nil", - "nil" - ], - "filament_retraction_distances_when_cut": [ - "nil", - "nil" - ], - "filament_retraction_length": [ - "nil", - "nil" - ], - "filament_retraction_minimum_travel": [ - "nil", - "nil" - ], - "filament_retraction_speed": [ - "nil", - "nil" - ], - "filament_wipe": [ - "nil", - "nil" - ], - "filament_wipe_distance": [ - "nil", - "nil" - ], - "filament_z_hop": [ - "nil", - "nil" - ], - "filament_z_hop_types": [ - "nil", - "nil" - ], - "filament_extruder_variant": [ - "Direct Drive Standard", - "Direct Drive High Flow" - ], - "filament_pre_cooling_temperature": [ - "0", - "0" - ], - "filament_ramming_travel_time": [ - "0", - "0" - ], - "filament_adaptive_volumetric_speed": [ - "0", - "0" - ], - "long_retractions_when_ec": [ - "0", - "0" - ], - "nozzle_temperature": [ - "220", - "220" - ], - "nozzle_temperature_initial_layer": [ - "220", - "220" - ], - "retraction_distances_when_ec": [ - "0", - "0" - ], - "slow_down_layer_time": [ - "8" - ], - "volumetric_speed_coefficients": [ - "0 0 0 0 0 0", - "0 0 0 0 0 0" - ], "compatible_printers": [ "Bambu Lab X1 0.4 nozzle", "Bambu Lab X1 0.6 nozzle", "Bambu Lab X1 0.8 nozzle" ], - "filament_start_gcode": [ - "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + "cool_plate_temp": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "overhang_fan_speed": [ + "75" + ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "bed_type": [ + "Cool Plate" + ], + "slow_down_min_speed": [ + "5" + ], + "slow_down_layer_time": [ + "8" + ], + "temperature_vitrification": [ + "61" + ], + "nozzle_temperature_range_high": [ + "230" ] } diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1.json new file mode 100644 index 0000000000..9bda6808d9 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyTerra PLA Marble @BBL A1", + "inherits": "PolyTerra PLA Marble @base", + "from": "system", + "setting_id": "GFSL69_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1M.json new file mode 100644 index 0000000000..721e0b3d3d --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL A1M.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyTerra PLA Marble @BBL A1M", + "inherits": "PolyTerra PLA Marble @base", + "from": "system", + "setting_id": "GFSL69_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL P1P.json new file mode 100644 index 0000000000..5dedafd5ff --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL P1P.json @@ -0,0 +1,19 @@ +{ + "type": "filament", + "name": "PolyTerra PLA Marble @BBL P1P", + "inherits": "PolyTerra PLA Marble @base", + "from": "system", + "setting_id": "GFSL69_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "50" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL X1.json new file mode 100644 index 0000000000..8a47922219 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @BBL X1.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "name": "PolyTerra PLA Marble @BBL X1", + "inherits": "PolyTerra PLA Marble @base", + "from": "system", + "setting_id": "GFSL69_03", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @base.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @base.json new file mode 100644 index 0000000000..2b64adc51c --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA Marble @base.json @@ -0,0 +1,77 @@ +{ + "type": "filament", + "name": "PolyTerra PLA Marble @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL69", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "60" + ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "22" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1.json new file mode 100644 index 0000000000..08ace4c6a5 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyTerra PLA+ @BBL A1", + "inherits": "PolyTerra PLA+ @base", + "from": "system", + "setting_id": "GFSL70_00", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 0.4 nozzle", + "Bambu Lab A1 0.6 nozzle", + "Bambu Lab A1 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1M.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1M.json new file mode 100644 index 0000000000..86f3ab3ffb --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL A1M.json @@ -0,0 +1,13 @@ +{ + "type": "filament", + "name": "PolyTerra PLA+ @BBL A1M", + "inherits": "PolyTerra PLA+ @base", + "from": "system", + "setting_id": "GFSL70_01", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab A1 mini 0.4 nozzle", + "Bambu Lab A1 mini 0.6 nozzle", + "Bambu Lab A1 mini 0.8 nozzle" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL P1P.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL P1P.json new file mode 100644 index 0000000000..dd09d09637 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL P1P.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyTerra PLA+ @BBL P1P", + "inherits": "PolyTerra PLA+ @base", + "from": "system", + "setting_id": "GFSL70_02", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab P1P 0.4 nozzle", + "Bambu Lab P1P 0.6 nozzle", + "Bambu Lab P1P 0.8 nozzle" + ], + "slow_down_layer_time": [ + "15" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL X1.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL X1.json new file mode 100644 index 0000000000..a28a8d30d8 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @BBL X1.json @@ -0,0 +1,16 @@ +{ + "type": "filament", + "name": "PolyTerra PLA+ @BBL X1", + "inherits": "PolyTerra PLA+ @base", + "from": "system", + "setting_id": "GFSL70_03", + "instantiation": "true", + "compatible_printers": [ + "Bambu Lab X1 0.4 nozzle", + "Bambu Lab X1 0.6 nozzle", + "Bambu Lab X1 0.8 nozzle" + ], + "slow_down_layer_time": [ + "15" + ] +} diff --git a/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @base.json b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @base.json new file mode 100644 index 0000000000..15fccef9e3 --- /dev/null +++ b/resources/profiles/BBL/filament/Polymaker/PolyTerra PLA+ @base.json @@ -0,0 +1,71 @@ +{ + "type": "filament", + "name": "PolyTerra PLA+ @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL70", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "20.99" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "59" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Custom.json b/resources/profiles/Custom.json index a2dae74cab..2f9eeefd34 100644 --- a/resources/profiles/Custom.json +++ b/resources/profiles/Custom.json @@ -38,15 +38,14 @@ "name": "fdm_process_marlin_common", "sub_path": "process/fdm_process_marlin_common.json" }, - { - "name": "fdm_process_rrf_common", - "sub_path": "process/fdm_process_rrf_common.json" - }, { "name": "fdm_process_repetier_common", "sub_path": "process/fdm_process_repetier_common.json" }, - + { + "name": "fdm_process_rrf_common", + "sub_path": "process/fdm_process_rrf_common.json" + }, { "name": "0.08mm Extra Fine @MyKlipper", "sub_path": "process/0.08mm Extra Fine @MyKlipper.json" @@ -115,6 +114,10 @@ "name": "0.28mm Extra Draft @MyMarlin", "sub_path": "process/0.28mm Extra Draft @MyMarlin.json" }, + { + "name": "0.20mm Standard @MyRepetier", + "sub_path": "process/0.20mm Standard @MyRepetier.json" + }, { "name": "0.08mm Extra Fine @MyRRF", "sub_path": "process/0.08mm Extra Fine @MyRRF.json" @@ -139,10 +142,6 @@ "name": "0.28mm Extra Draft @MyRRF", "sub_path": "process/0.28mm Extra Draft @MyRRF.json" }, - { - "name": "0.20mm Standard @MyRepetier", - "sub_path": "process/0.20mm Standard @MyRepetier.json" - }, { "name": "0.08mm Extra Fine @MyToolChanger", "sub_path": "process/0.08mm Extra Fine @MyToolChanger.json" @@ -239,14 +238,14 @@ "name": "fdm_klipper_common", "sub_path": "machine/fdm_klipper_common.json" }, - { - "name": "fdm_rrf_common", - "sub_path": "machine/fdm_rrf_common.json" - }, { "name": "fdm_repetier_common", "sub_path": "machine/fdm_repetier_common.json" }, + { + "name": "fdm_rrf_common", + "sub_path": "machine/fdm_rrf_common.json" + }, { "name": "MyKlipper 0.2 nozzle", "sub_path": "machine/MyKlipper 0.2 nozzle.json" @@ -267,14 +266,14 @@ "name": "fdm_toolchanger_common", "sub_path": "machine/fdm_toolchanger_common.json" }, - { - "name": "MyRRF 0.4 nozzle", - "sub_path": "machine/MyRRF 0.4 nozzle.json" - }, { "name": "MyRepetier 0.4 nozzle", "sub_path": "machine/MyRepetier 0.4 nozzle.json" }, + { + "name": "MyRRF 0.4 nozzle", + "sub_path": "machine/MyRRF 0.4 nozzle.json" + }, { "name": "MyToolChanger 0.2 nozzle", "sub_path": "machine/MyToolChanger 0.2 nozzle.json" diff --git a/resources/profiles/Elegoo.json b/resources/profiles/Elegoo.json index 9d3dea98c3..d22fb9f0f0 100644 --- a/resources/profiles/Elegoo.json +++ b/resources/profiles/Elegoo.json @@ -5,36 +5,36 @@ "description": "Elegoo configurations", "machine_model_list": [ { - "name": "Elegoo Centauri Carbon 2", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2.json" + "name": "Elegoo Centauri", + "sub_path": "machine/EC/Elegoo Centauri.json" }, { "name": "Elegoo Centauri Carbon", "sub_path": "machine/ECC/Elegoo Centauri Carbon.json" }, { - "name": "Elegoo Centauri", - "sub_path": "machine/EC/Elegoo Centauri.json" + "name": "Elegoo Centauri Carbon 2", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2.json" }, { - "name": "Elegoo OrangeStorm Giga", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga.json" + "name": "Elegoo Neptune", + "sub_path": "machine/EN2SERIES/Elegoo Neptune.json" }, { - "name": "Elegoo Neptune 4 Max", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max.json" + "name": "Elegoo Neptune 2", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2.json" }, { - "name": "Elegoo Neptune 4 Plus", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus.json" + "name": "Elegoo Neptune 2D", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D.json" }, { - "name": "Elegoo Neptune 4 Pro", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro.json" + "name": "Elegoo Neptune 2S", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S.json" }, { - "name": "Elegoo Neptune 4", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4.json" + "name": "Elegoo Neptune 3", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3.json" }, { "name": "Elegoo Neptune 3 Max", @@ -49,28 +49,28 @@ "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro.json" }, { - "name": "Elegoo Neptune 3", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 3.json" + "name": "Elegoo Neptune 4", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4.json" + }, + { + "name": "Elegoo Neptune 4 Max", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max.json" + }, + { + "name": "Elegoo Neptune 4 Plus", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus.json" + }, + { + "name": "Elegoo Neptune 4 Pro", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro.json" }, { "name": "Elegoo Neptune X", "sub_path": "machine/EN2SERIES/Elegoo Neptune X.json" }, { - "name": "Elegoo Neptune 2S", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S.json" - }, - { - "name": "Elegoo Neptune 2D", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D.json" - }, - { - "name": "Elegoo Neptune 2", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2.json" - }, - { - "name": "Elegoo Neptune", - "sub_path": "machine/EN2SERIES/Elegoo Neptune.json" + "name": "Elegoo OrangeStorm Giga", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga.json" } ], "process_list": [ @@ -103,788 +103,216 @@ "sub_path": "process/fdm_process_elegoo_10050.json" }, { - "name": "0.20mm Standard @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo CC2 0.2 nozzle", - "sub_path": "process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo CC2 0.6 nozzle", - "sub_path": "process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.16mm Extra Fine @Elegoo CC2 0.8 nozzle", - "sub_path": "process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json" - }, - { - "name": "0.14mm Extra Draft @Elegoo CC2 0.2 nozzle", - "sub_path": "process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo CC2 0.4 nozzle", - "sub_path": "process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo CC2 0.2 nozzle", - "sub_path": "process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo CC2 0.2 nozzle", - "sub_path": "process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.20mm Standard @Elegoo CC 0.4 nozzle.json" + "name": "0.10mm Standard @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.10mm Standard @Elegoo C 0.2 nozzle.json" }, { "name": "0.10mm Standard @Elegoo CC 0.2 nozzle", "sub_path": "process/ECC/0.10mm Standard @Elegoo CC 0.2 nozzle.json" }, { - "name": "0.30mm Standard @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.30mm Standard @Elegoo CC 0.6 nozzle.json" + "name": "0.10mm Standard @Elegoo CC2 0.2 nozzle", + "sub_path": "process/ECC2/0.10mm Standard @Elegoo CC2 0.2 nozzle.json" }, { - "name": "0.40mm Standard @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.40mm Standard @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.48mm Draft @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.42mm Extra Draft @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.36mm Draft @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.32mm Optimal @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.30mm Strength @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.28mm Extra Draft @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.24mm Optimal @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.24mm Fine @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.24mm Draft @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.20mm Strength @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo CC 0.6 nozzle", - "sub_path": "process/ECC/0.18mm Fine @Elegoo CC 0.6 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.16mm Optimal @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.16mm Extra Fine @Elegoo CC 0.8 nozzle", - "sub_path": "process/ECC/0.16mm Extra Fine @Elegoo CC 0.8 nozzle.json" - }, - { - "name": "0.14mm Extra Draft @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.14mm Extra Draft @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo CC 0.4 nozzle", - "sub_path": "process/ECC/0.12mm Fine @Elegoo CC 0.4 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.12mm Draft @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo CC 0.2 nozzle", - "sub_path": "process/ECC/0.08mm Optimal @Elegoo CC 0.2 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.20mm Standard @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.10mm Standard @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.30mm Standard @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.40mm Standard @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.48mm Draft @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.42mm Extra Draft @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.36mm Draft @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.32mm Optimal @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.30mm Strength @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.28mm Extra Draft @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.24mm Optimal @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.24mm Fine @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.24mm Draft @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.20mm Strength @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo C 0.6 nozzle", - "sub_path": "process/EC/0.18mm Fine @Elegoo C 0.6 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.16mm Optimal @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.16mm Extra Fine @Elegoo C 0.8 nozzle", - "sub_path": "process/EC/0.16mm Extra Fine @Elegoo C 0.8 nozzle.json" - }, - { - "name": "0.14mm Extra Draft @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.14mm Extra Draft @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo C 0.4 nozzle", - "sub_path": "process/EC/0.12mm Fine @Elegoo C 0.4 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.12mm Draft @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo C 0.2 nozzle", - "sub_path": "process/EC/0.08mm Optimal @Elegoo C 0.2 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N4 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N4 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N4 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N4 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N4 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N4 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N4 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N4 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N4 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N4 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N4 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N4 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N4 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N4 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N4 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N4 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N4Pro 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Pro 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N4Pro 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Pro 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N4Pro 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N4Pro 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Pro 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N4Pro 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Pro 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N4Pro 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Pro 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N4Pro 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Pro 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N4Pro 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Pro 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N4Pro 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Pro 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N4Pro 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Pro 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N4Pro 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Pro 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N4Pro 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Pro 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N4Pro 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Pro 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N4Plus 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Plus 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N4Plus 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Plus 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N4Plus 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Plus 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N4Plus 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Plus 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N4Plus 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Plus 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N4Plus 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Plus 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N4Plus 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Plus 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N4Plus 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Plus 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N4Plus 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Plus 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N4Plus 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Plus 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N4Plus 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Plus 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N4Plus 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Plus 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N4Plus 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Plus 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N4Plus 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Plus 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle", - "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N4Max 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Max 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N4Max 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Max 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N4Max 0.2 nozzle", - "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Max 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N4Max 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Max 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N4Max 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Max 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N4Max 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Max 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle", - "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N4Max 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Max 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N4Max 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Max 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N4Max 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Max 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N4Max 0.8 nozzle", - "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Max 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N4Max 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Max 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N4Max 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Max 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N4Max 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Max 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N4Max 1.0 nozzle", - "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Max 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle.json" - }, - { - "name": "0.10mm Standard @Elegoo N3Pro 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Pro 0.2 nozzle.json" - }, - { - "name": "0.08mm Optimal @Elegoo N3Pro 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Pro 0.2 nozzle.json" - }, - { - "name": "0.12mm Draft @Elegoo N3Pro 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Pro 0.2 nozzle.json" - }, - { - "name": "0.30mm Standard @Elegoo N3Pro 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Pro 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo N3Pro 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Pro 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo N3Pro 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Pro 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle.json" - }, - { - "name": "0.40mm Standard @Elegoo N3Pro 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Pro 0.8 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo N3Pro 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Pro 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo N3Pro 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Pro 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N3Pro 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Pro 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N3Pro 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Pro 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N3Pro 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Pro 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N3Pro 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Pro 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N3Pro 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Pro 1.0 nozzle.json" - }, - { - "name": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.12mm Fine @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.20mm Strength @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Plus 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle.json" + "name": "0.10mm Standard @Elegoo N3Max 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Max 0.2 nozzle.json" }, { "name": "0.10mm Standard @Elegoo N3Plus 0.2 nozzle", "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Plus 0.2 nozzle.json" }, { - "name": "0.08mm Optimal @Elegoo N3Plus 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Plus 0.2 nozzle.json" + "name": "0.10mm Standard @Elegoo N3Pro 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Pro 0.2 nozzle.json" }, { - "name": "0.12mm Draft @Elegoo N3Plus 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Plus 0.2 nozzle.json" + "name": "0.10mm Standard @Elegoo N4 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4 0.2 nozzle.json" }, { - "name": "0.30mm Standard @Elegoo N3Plus 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Plus 0.6 nozzle.json" + "name": "0.10mm Standard @Elegoo N4Max 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Max 0.2 nozzle.json" }, { - "name": "0.24mm Optimal @Elegoo N3Plus 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Plus 0.6 nozzle.json" + "name": "0.10mm Standard @Elegoo N4Plus 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Plus 0.2 nozzle.json" }, { - "name": "0.36mm Draft @Elegoo N3Plus 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Plus 0.6 nozzle.json" + "name": "0.10mm Standard @Elegoo N4Pro 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.10mm Standard @Elegoo N4Pro 0.2 nozzle.json" }, { - "name": "0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle.json" + "name": "0.20mm Standard @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.20mm Standard @Elegoo C 0.4 nozzle.json" }, { - "name": "0.40mm Standard @Elegoo N3Plus 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Plus 0.8 nozzle.json" + "name": "0.20mm Standard @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.20mm Standard @Elegoo CC 0.4 nozzle.json" }, { - "name": "0.24mm Fine @Elegoo N3Plus 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Plus 0.8 nozzle.json" + "name": "0.20mm Standard @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json" }, { - "name": "0.32mm Optimal @Elegoo N3Plus 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Plus 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo N3Plus 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Plus 0.8 nozzle.json" - }, - { - "name": "0.50mm Standard @Elegoo N3Plus 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Plus 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo N3Plus 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Plus 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo N3Plus 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Plus 1.0 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo N3Plus 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Plus 1.0 nozzle.json" + "name": "0.20mm Standard @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json" }, { "name": "0.20mm Standard @Elegoo N3Max 0.4 nozzle", "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Max 0.4 nozzle.json" }, { - "name": "0.12mm Fine @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Max 0.4 nozzle.json" + "name": "0.20mm Standard @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Plus 0.4 nozzle.json" }, { - "name": "0.16mm Optimal @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Max 0.4 nozzle.json" + "name": "0.20mm Standard @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Standard @Elegoo N3Pro 0.4 nozzle.json" }, { - "name": "0.20mm Strength @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Max 0.4 nozzle.json" + "name": "0.20mm Standard @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4 0.4 nozzle.json" }, { - "name": "0.24mm Draft @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Max 0.4 nozzle.json" + "name": "0.20mm Standard @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Max 0.4 nozzle.json" }, { - "name": "0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle", - "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle.json" + "name": "0.20mm Standard @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Plus 0.4 nozzle.json" }, { - "name": "0.10mm Standard @Elegoo N3Max 0.2 nozzle", - "sub_path": "process/EN3SERIES/0.10mm Standard @Elegoo N3Max 0.2 nozzle.json" + "name": "0.20mm Standard @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Standard @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.30mm Standard @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.30mm Standard @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.30mm Standard @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N3Max 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Max 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Standard @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.30mm Standard @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.40mm Standard @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.40mm Standard @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N3Max 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Max 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Standard @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", + "sub_path": "process/EN2SERIES/0.40mm Standard @Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Max 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Plus 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Pro 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Max 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Plus 1.0 nozzle.json" + }, + { + "name": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Pro 1.0 nozzle.json" }, { "name": "0.08mm Optimal @Elegoo N3Max 0.2 nozzle", @@ -895,8 +323,52 @@ "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Max 0.2 nozzle.json" }, { - "name": "0.30mm Standard @Elegoo N3Max 0.6 nozzle", - "sub_path": "process/EN3SERIES/0.30mm Standard @Elegoo N3Max 0.6 nozzle.json" + "name": "0.08mm Optimal @Elegoo N3Plus 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Plus 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N3Plus 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Plus 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N3Pro 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Pro 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N3Pro 0.2 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Draft @Elegoo N3Pro 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4Max 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Max 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4Max 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Max 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4Plus 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Plus 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4Plus 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Plus 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo N4Pro 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.08mm Optimal @Elegoo N4Pro 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo N4Pro 0.2 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json" }, { "name": "0.24mm Optimal @Elegoo N3Max 0.6 nozzle", @@ -911,8 +383,76 @@ "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Max 0.6 nozzle.json" }, { - "name": "0.40mm Standard @Elegoo N3Max 0.8 nozzle", - "sub_path": "process/EN3SERIES/0.40mm Standard @Elegoo N3Max 0.8 nozzle.json" + "name": "0.24mm Optimal @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Plus 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.36mm Draft @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle", + "sub_path": "process/EN3SERIES/0.42mm Extra Draft @Elegoo N3Pro 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Max 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Plus 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Optimal @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.36mm Draft @Elegoo N4Pro 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle", + "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle.json" }, { "name": "0.24mm Fine @Elegoo N3Max 0.8 nozzle", @@ -927,8 +467,76 @@ "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Max 0.8 nozzle.json" }, { - "name": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", - "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Max 1.0 nozzle.json" + "name": "0.24mm Fine @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N3Plus 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Plus 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.32mm Optimal @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N3Pro 0.8 nozzle", + "sub_path": "process/EN3SERIES/0.48mm Draft @Elegoo N3Pro 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4Max 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Max 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4Plus 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Plus 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Fine @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.32mm Optimal @Elegoo N4Pro 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo N4Pro 0.8 nozzle", + "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json" }, { "name": "0.30mm Fine @Elegoo N3Max 1.0 nozzle", @@ -943,136 +551,76 @@ "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Max 1.0 nozzle.json" }, { - "name": "0.20mm Standard @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.20mm Standard @Elegoo Neptune 0.4 nozzle.json" + "name": "0.30mm Fine @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Plus 1.0 nozzle.json" }, { - "name": "0.12mm Fine @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo Neptune 0.4 nozzle.json" + "name": "0.40mm Optimal @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Plus 1.0 nozzle.json" }, { - "name": "0.16mm Optimal @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo Neptune 0.4 nozzle.json" + "name": "0.60mm Draft @Elegoo N3Plus 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Plus 1.0 nozzle.json" }, { - "name": "0.20mm Strength @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.20mm Strength @Elegoo Neptune 0.4 nozzle.json" + "name": "0.30mm Fine @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Pro 1.0 nozzle.json" }, { - "name": "0.24mm Draft @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo Neptune 0.4 nozzle.json" + "name": "0.40mm Optimal @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.40mm Optimal @Elegoo N3Pro 1.0 nozzle.json" }, { - "name": "0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle", - "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle.json" + "name": "0.60mm Draft @Elegoo N3Pro 1.0 nozzle", + "sub_path": "process/EN3SERIES/0.60mm Draft @Elegoo N3Pro 1.0 nozzle.json" }, { - "name": "0.30mm Standard @Elegoo Neptune 0.6 nozzle", - "sub_path": "process/EN2SERIES/0.30mm Standard @Elegoo Neptune 0.6 nozzle.json" + "name": "0.30mm Fine @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4 1.0 nozzle.json" }, { - "name": "0.24mm Optimal @Elegoo Neptune 0.6 nozzle", - "sub_path": "process/EN2SERIES/0.24mm Optimal @Elegoo Neptune 0.6 nozzle.json" + "name": "0.40mm Optimal @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4 1.0 nozzle.json" }, { - "name": "0.36mm Draft @Elegoo Neptune 0.6 nozzle", - "sub_path": "process/EN2SERIES/0.36mm Draft @Elegoo Neptune 0.6 nozzle.json" + "name": "0.60mm Draft @Elegoo N4 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4 1.0 nozzle.json" }, { - "name": "0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle", - "sub_path": "process/EN2SERIES/0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle.json" + "name": "0.30mm Fine @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Max 1.0 nozzle.json" }, { - "name": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", - "sub_path": "process/EN2SERIES/0.40mm Standard @Elegoo Neptune 0.8 nozzle.json" + "name": "0.40mm Optimal @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Max 1.0 nozzle.json" }, { - "name": "0.24mm Fine @Elegoo Neptune 0.8 nozzle", - "sub_path": "process/EN2SERIES/0.24mm Fine @Elegoo Neptune 0.8 nozzle.json" + "name": "0.60mm Draft @Elegoo N4Max 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Max 1.0 nozzle.json" }, { - "name": "0.32mm Optimal @Elegoo Neptune 0.8 nozzle", - "sub_path": "process/EN2SERIES/0.32mm Optimal @Elegoo Neptune 0.8 nozzle.json" + "name": "0.30mm Fine @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Plus 1.0 nozzle.json" }, { - "name": "0.20mm Standard @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json" + "name": "0.40mm Optimal @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Plus 1.0 nozzle.json" }, { - "name": "0.30mm Standard @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json" + "name": "0.60mm Draft @Elegoo N4Plus 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Plus 1.0 nozzle.json" }, { - "name": "0.40mm Standard @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json" + "name": "0.30mm Fine @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.30mm Fine @Elegoo N4Pro 1.0 nozzle.json" }, { - "name": "0.50mm Standard @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json" + "name": "0.40mm Optimal @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.40mm Optimal @Elegoo N4Pro 1.0 nozzle.json" }, { - "name": "0.20mm Strength @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json" - }, - { - "name": "0.16mm Optimal @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json" - }, - { - "name": "0.24mm Draft @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json" - }, - { - "name": "0.28mm Extra Draft @Elegoo Giga 0.4 nozzle", - "sub_path": "process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json" - }, - { - "name": "0.30mm Strength @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.18mm Fine @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.24mm Optimal @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.36mm Draft @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.42mm Extra Draft @Elegoo Giga 0.6 nozzle", - "sub_path": "process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json" - }, - { - "name": "0.24mm Fine @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json" - }, - { - "name": "0.32mm Optimal @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json" - }, - { - "name": "0.48mm Draft @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json" - }, - { - "name": "0.56mm Extra Draft @Elegoo Giga 0.8 nozzle", - "sub_path": "process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json" - }, - { - "name": "0.60mm Draft @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json" - }, - { - "name": "0.40mm Optimal @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json" - }, - { - "name": "0.30mm Fine @Elegoo Giga 1.0 nozzle", - "sub_path": "process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json" + "name": "0.60mm Draft @Elegoo N4Pro 1.0 nozzle", + "sub_path": "process/EN4SERIES/0.60mm Draft @Elegoo N4Pro 1.0 nozzle.json" } ], "filament_list": [ @@ -1080,806 +628,174 @@ "name": "fdm_filament_common", "sub_path": "filament/fdm_filament_common.json" }, - { - "name": "fdm_filament_pla", - "sub_path": "filament/fdm_filament_pla.json" - }, - { - "name": "fdm_filament_tpu", - "sub_path": "filament/fdm_filament_tpu.json" - }, - { - "name": "fdm_filament_pet", - "sub_path": "filament/fdm_filament_pet.json" - }, { "name": "fdm_filament_abs", "sub_path": "filament/fdm_filament_abs.json" }, - { - "name": "fdm_filament_pc", - "sub_path": "filament/fdm_filament_pc.json" - }, { "name": "fdm_filament_asa", "sub_path": "filament/fdm_filament_asa.json" }, { - "name": "fdm_filament_pva", - "sub_path": "filament/fdm_filament_pva.json" + "name": "fdm_filament_hips", + "sub_path": "filament/fdm_filament_hips.json" }, { "name": "fdm_filament_pa", "sub_path": "filament/fdm_filament_pa.json" }, { - "name": "fdm_filament_hips", - "sub_path": "filament/fdm_filament_hips.json" + "name": "fdm_filament_paht", + "sub_path": "filament/fdm_filament_paht.json" }, { - "name": "fdm_filament_pps", - "sub_path": "filament/fdm_filament_pps.json" + "name": "fdm_filament_pc", + "sub_path": "filament/fdm_filament_pc.json" + }, + { + "name": "fdm_filament_pet", + "sub_path": "filament/fdm_filament_pet.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" }, { "name": "fdm_filament_ppa", "sub_path": "filament/fdm_filament_ppa.json" }, { - "name": "Generic ABS @base", - "sub_path": "filament/BASE/Generic ABS @base.json" + "name": "fdm_filament_pps", + "sub_path": "filament/fdm_filament_pps.json" }, { - "name": "Generic PA @base", - "sub_path": "filament/BASE/Generic PA @base.json" + "name": "fdm_filament_pva", + "sub_path": "filament/fdm_filament_pva.json" }, { - "name": "Generic PETG @base", - "sub_path": "filament/BASE/Generic PETG @base.json" - }, - { - "name": "Generic PET @base", - "sub_path": "filament/BASE/Generic PET @base.json" - }, - { - "name": "Generic PLA @base", - "sub_path": "filament/BASE/Generic PLA @base.json" - }, - { - "name": "Generic PC @base", - "sub_path": "filament/BASE/Generic PC @base.json" - }, - { - "name": "Generic ASA @base", - "sub_path": "filament/BASE/Generic ASA @base.json" - }, - { - "name": "Elegoo TPU @base", - "sub_path": "filament/BASE/Elegoo TPU @base.json" - }, - { - "name": "Elegoo PETG @base", - "sub_path": "filament/BASE/Elegoo PETG @base.json" - }, - { - "name": "Elegoo PLA @base", - "sub_path": "filament/BASE/Elegoo PLA @base.json" - }, - { - "name": "Elegoo ASA @base", - "sub_path": "filament/BASE/Elegoo ASA @base.json" + "name": "fdm_filament_tpu", + "sub_path": "filament/fdm_filament_tpu.json" }, { "name": "Elegoo ABS @base", "sub_path": "filament/BASE/Elegoo ABS @base.json" }, + { + "name": "Generic ABS @base", + "sub_path": "filament/BASE/Generic ABS @base.json" + }, + { + "name": "Elegoo ASA @base", + "sub_path": "filament/BASE/Elegoo ASA @base.json" + }, + { + "name": "Generic ASA @base", + "sub_path": "filament/BASE/Generic ASA @base.json" + }, { "name": "Elegoo PAHT @base", "sub_path": "filament/BASE/Elegoo PAHT @base.json" }, + { + "name": "Generic PA @base", + "sub_path": "filament/BASE/Generic PA @base.json" + }, { "name": "Elegoo PC @base", "sub_path": "filament/BASE/Elegoo PC @base.json" }, { - "name": "Elegoo ASA @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo ASA @0.2 nozzle.json" + "name": "Generic PC @base", + "sub_path": "filament/BASE/Generic PC @base.json" }, { - "name": "Elegoo PETG @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG @0.2 nozzle.json" + "name": "Elegoo PETG @base", + "sub_path": "filament/BASE/Elegoo PETG @base.json" }, { - "name": "Elegoo PETG PRO @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG PRO @0.2 nozzle.json" + "name": "Generic PET @base", + "sub_path": "filament/BASE/Generic PET @base.json" }, { - "name": "Elegoo PLA @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA @0.2 nozzle.json" + "name": "Generic PETG @base", + "sub_path": "filament/BASE/Generic PETG @base.json" }, { - "name": "Elegoo PLA Matte @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Matte @0.2 nozzle.json" + "name": "Elegoo PLA @base", + "sub_path": "filament/BASE/Elegoo PLA @base.json" }, { - "name": "Elegoo PLA PRO @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA PRO @0.2 nozzle.json" + "name": "Generic PLA @base", + "sub_path": "filament/BASE/Generic PLA @base.json" }, { - "name": "Elegoo PLA Silk @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Silk @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA+ @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA+ @0.2 nozzle.json" - }, - { - "name": "Elegoo Rapid PLA+ @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo Rapid PLA+ @0.2 nozzle.json" - }, - { - "name": "Elegoo Rapid PETG @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo Rapid PETG @0.2 nozzle.json" + "name": "Elegoo TPU @base", + "sub_path": "filament/BASE/Elegoo TPU @base.json" }, { "name": "Elegoo ABS @0.2 nozzle", "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo ABS @0.2 nozzle.json" }, { - "name": "Elegoo PC @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PC @0.2 nozzle.json" - }, - { - "name": "Elegoo PC-FR @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PC-FR @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA Basic @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Basic @0.2 nozzle.json" - }, - { - "name": "Elegoo PETG Translucent @0.2 nozzle", - "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG Translucent @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA @ECC", - "sub_path": "filament/ECC/Elegoo PLA @ECC.json" - }, - { - "name": "Elegoo PLA PRO @ECC", - "sub_path": "filament/ECC/Elegoo PLA PRO @ECC.json" - }, - { - "name": "Elegoo PLA+ @ECC", - "sub_path": "filament/ECC/Elegoo PLA+ @ECC.json" - }, - { - "name": "Elegoo Rapid PLA+ @ECC", - "sub_path": "filament/ECC/Elegoo Rapid PLA+ @ECC.json" - }, - { - "name": "Elegoo PLA Silk @ECC", - "sub_path": "filament/ECC/Elegoo PLA Silk @ECC.json" - }, - { - "name": "Elegoo PLA Matte @ECC", - "sub_path": "filament/ECC/Elegoo PLA Matte @ECC.json" - }, - { - "name": "Elegoo PLA-CF @ECC", - "sub_path": "filament/ECC/Elegoo PLA-CF @ECC.json" - }, - { - "name": "Elegoo PETG @ECC", - "sub_path": "filament/ECC/Elegoo PETG @ECC.json" - }, - { - "name": "Elegoo PETG PRO @ECC", - "sub_path": "filament/ECC/Elegoo PETG PRO @ECC.json" - }, - { - "name": "Elegoo Rapid PETG @ECC", - "sub_path": "filament/ECC/Elegoo Rapid PETG @ECC.json" - }, - { - "name": "Elegoo TPU 95A @ECC", - "sub_path": "filament/ECC/Elegoo TPU 95A @ECC.json" - }, - { - "name": "Elegoo ASA @ECC", - "sub_path": "filament/ECC/Elegoo ASA @ECC.json" + "name": "Elegoo ABS @EC", + "sub_path": "filament/EC/Elegoo ABS @EC.json" }, { "name": "Elegoo ABS @ECC", "sub_path": "filament/ECC/Elegoo ABS @ECC.json" }, - { - "name": "Elegoo PLA Galaxy @ECC", - "sub_path": "filament/ECC/Elegoo PLA Galaxy @ECC.json" - }, - { - "name": "Elegoo PLA Basic @ECC", - "sub_path": "filament/ECC/Elegoo PLA Basic @ECC.json" - }, - { - "name": "Elegoo PLA Marble @ECC", - "sub_path": "filament/ECC/Elegoo PLA Marble @ECC.json" - }, - { - "name": "Elegoo PLA Sparkle @ECC", - "sub_path": "filament/ECC/Elegoo PLA Sparkle @ECC.json" - }, - { - "name": "Elegoo PLA Wood @ECC", - "sub_path": "filament/ECC/Elegoo PLA Wood @ECC.json" - }, - { - "name": "Elegoo PAHT-CF @ECC", - "sub_path": "filament/ECC/Elegoo PAHT-CF @ECC.json" - }, - { - "name": "Elegoo PC @ECC", - "sub_path": "filament/ECC/Elegoo PC @ECC.json" - }, - { - "name": "Elegoo PC-FR @ECC", - "sub_path": "filament/ECC/Elegoo PC-FR @ECC.json" - }, - { - "name": "Elegoo PETG-CF @ECC", - "sub_path": "filament/ECC/Elegoo PETG-CF @ECC.json" - }, - { - "name": "Elegoo PETG-GF @ECC", - "sub_path": "filament/ECC/Elegoo PETG-GF @ECC.json" - }, - { - "name": "Elegoo PETG Translucent @ECC", - "sub_path": "filament/ECC/Elegoo PETG Translucent @ECC.json" - }, - { - "name": "Elegoo Rapid TPU 95A @ECC", - "sub_path": "filament/ECC/Elegoo Rapid TPU 95A @ECC.json" - }, - { - "name": "Elegoo PLA @EC", - "sub_path": "filament/EC/Elegoo PLA @EC.json" - }, - { - "name": "Elegoo PLA PRO @EC", - "sub_path": "filament/EC/Elegoo PLA PRO @EC.json" - }, - { - "name": "Elegoo PLA+ @EC", - "sub_path": "filament/EC/Elegoo PLA+ @EC.json" - }, - { - "name": "Elegoo Rapid PLA+ @EC", - "sub_path": "filament/EC/Elegoo Rapid PLA+ @EC.json" - }, - { - "name": "Elegoo PLA Silk @EC", - "sub_path": "filament/EC/Elegoo PLA Silk @EC.json" - }, - { - "name": "Elegoo PLA Matte @EC", - "sub_path": "filament/EC/Elegoo PLA Matte @EC.json" - }, - { - "name": "Elegoo PETG @EC", - "sub_path": "filament/EC/Elegoo PETG @EC.json" - }, - { - "name": "Elegoo PETG PRO @EC", - "sub_path": "filament/EC/Elegoo PETG PRO @EC.json" - }, - { - "name": "Elegoo Rapid PETG @EC", - "sub_path": "filament/EC/Elegoo Rapid PETG @EC.json" - }, - { - "name": "Elegoo TPU 95A @EC", - "sub_path": "filament/EC/Elegoo TPU 95A @EC.json" - }, - { - "name": "Elegoo ASA @EC", - "sub_path": "filament/EC/Elegoo ASA @EC.json" - }, - { - "name": "Elegoo ABS @EC", - "sub_path": "filament/EC/Elegoo ABS @EC.json" - }, - { - "name": "Elegoo PLA Galaxy @EC", - "sub_path": "filament/EC/Elegoo PLA Galaxy @EC.json" - }, - { - "name": "Elegoo PLA Basic @EC", - "sub_path": "filament/EC/Elegoo PLA Basic @EC.json" - }, - { - "name": "Elegoo PLA Marble @EC", - "sub_path": "filament/EC/Elegoo PLA Marble @EC.json" - }, - { - "name": "Elegoo PLA Sparkle @EC", - "sub_path": "filament/EC/Elegoo PLA Sparkle @EC.json" - }, - { - "name": "Elegoo PLA Wood @EC", - "sub_path": "filament/EC/Elegoo PLA Wood @EC.json" - }, - { - "name": "Elegoo PAHT-CF @EC", - "sub_path": "filament/EC/Elegoo PAHT-CF @EC.json" - }, - { - "name": "Elegoo PC @EC", - "sub_path": "filament/EC/Elegoo PC @EC.json" - }, - { - "name": "Elegoo PC-FR @EC", - "sub_path": "filament/EC/Elegoo PC-FR @EC.json" - }, - { - "name": "Elegoo PETG-CF @EC", - "sub_path": "filament/EC/Elegoo PETG-CF @EC.json" - }, - { - "name": "Elegoo PETG-GF @EC", - "sub_path": "filament/EC/Elegoo PETG-GF @EC.json" - }, - { - "name": "Elegoo PETG Translucent @EC", - "sub_path": "filament/EC/Elegoo PETG Translucent @EC.json" - }, - { - "name": "Elegoo Rapid TPU 95A @EC", - "sub_path": "filament/EC/Elegoo Rapid TPU 95A @EC.json" - }, - { - "name": "Elegoo PLA @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA @ECC2.json" - }, - { - "name": "Elegoo PLA PRO @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA PRO @ECC2.json" - }, - { - "name": "Elegoo PLA+ @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA+ @ECC2.json" - }, - { - "name": "Elegoo Rapid PLA+ @ECC2", - "sub_path": "filament/ECC2/Elegoo Rapid PLA+ @ECC2.json" - }, - { - "name": "Elegoo PLA Silk @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Silk @ECC2.json" - }, - { - "name": "Elegoo PLA Matte @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Matte @ECC2.json" - }, - { - "name": "Elegoo PLA-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA-CF @ECC2.json" - }, - { - "name": "Elegoo PETG @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG @ECC2.json" - }, - { - "name": "Elegoo PETG PRO @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG PRO @ECC2.json" - }, - { - "name": "Elegoo Rapid PETG @ECC2", - "sub_path": "filament/ECC2/Elegoo Rapid PETG @ECC2.json" - }, - { - "name": "Elegoo TPU 95A @ECC2", - "sub_path": "filament/ECC2/Elegoo TPU 95A @ECC2.json" - }, - { - "name": "Elegoo ASA @ECC2", - "sub_path": "filament/ECC2/Elegoo ASA @ECC2.json" - }, { "name": "Elegoo ABS @ECC2", "sub_path": "filament/ECC2/Elegoo ABS @ECC2.json" }, - { - "name": "Elegoo PLA Galaxy @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Galaxy @ECC2.json" - }, - { - "name": "Elegoo PLA Basic @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Basic @ECC2.json" - }, - { - "name": "Elegoo PLA Marble @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Marble @ECC2.json" - }, - { - "name": "Elegoo PLA Sparkle @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Sparkle @ECC2.json" - }, - { - "name": "Elegoo PLA Wood @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Wood @ECC2.json" - }, - { - "name": "Elegoo PAHT-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PAHT-CF @ECC2.json" - }, - { - "name": "Elegoo PC @ECC2", - "sub_path": "filament/ECC2/Elegoo PC @ECC2.json" - }, - { - "name": "Elegoo PC-FR @ECC2", - "sub_path": "filament/ECC2/Elegoo PC-FR @ECC2.json" - }, - { - "name": "Elegoo PETG-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG-CF @ECC2.json" - }, - { - "name": "Elegoo PETG-GF @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG-GF @ECC2.json" - }, - { - "name": "Elegoo PETG Translucent @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG Translucent @ECC2.json" - }, - { - "name": "Elegoo ASA-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo ASA-CF @ECC2.json" - }, - { - "name": "Elegoo PET-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PET-CF @ECC2.json" - }, - { - "name": "Elegoo PETG HF @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG HF @ECC2.json" - }, - { - "name": "Elegoo PLA Glow @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Glow @ECC2.json" - }, - { - "name": "Elegoo PLA Translucent2 @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA Translucent2 @ECC2.json" - }, - { - "name": "Elegoo Rapid TPU 95A @ECC2", - "sub_path": "filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json" - }, - { - "name": "Elegoo PLA @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA @EN4 Series.json" - }, - { - "name": "Elegoo PLA PRO @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA PRO @EN4 Series.json" - }, - { - "name": "Elegoo PLA+ @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA+ @EN4 Series.json" - }, - { - "name": "Elegoo Rapid PLA+ @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo Rapid PLA+ @EN4 Series.json" - }, - { - "name": "Elegoo PLA Silk @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Silk @EN4 Series.json" - }, - { - "name": "Elegoo PLA Matte @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Matte @EN4 Series.json" - }, - { - "name": "Elegoo PLA-CF @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA-CF @EN4 Series.json" - }, - { - "name": "Elegoo PETG @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PETG @EN4 Series.json" - }, - { - "name": "Elegoo PETG PRO @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PETG PRO @EN4 Series.json" - }, - { - "name": "Elegoo Rapid PETG @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo Rapid PETG @EN4 Series.json" - }, - { - "name": "Elegoo TPU 95A @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo TPU 95A @EN4 Series.json" - }, - { - "name": "Elegoo ASA @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo ASA @EN4 Series.json" - }, - { - "name": "Elegoo PLA Galaxy @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Galaxy @EN4 Series.json" - }, - { - "name": "Elegoo PLA Basic @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Basic @EN4 Series.json" - }, - { - "name": "Elegoo PLA Marble @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Marble @EN4 Series.json" - }, - { - "name": "Elegoo PLA Sparkle @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Sparkle @EN4 Series.json" - }, - { - "name": "Elegoo PLA Wood @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PLA Wood @EN4 Series.json" - }, - { - "name": "Elegoo PETG-CF @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PETG-CF @EN4 Series.json" - }, - { - "name": "Elegoo PETG-GF @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PETG-GF @EN4 Series.json" - }, - { - "name": "Elegoo PETG Translucent @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo PETG Translucent @EN4 Series.json" - }, - { - "name": "Elegoo Rapid TPU 95A @EN4 Series", - "sub_path": "filament/EN4SERIES/Elegoo Rapid TPU 95A @EN4 Series.json" - }, - { - "name": "Elegoo PLA @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA @EN3 Series.json" - }, - { - "name": "Elegoo PLA PRO @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA PRO @EN3 Series.json" - }, - { - "name": "Elegoo PLA+ @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA+ @EN3 Series.json" - }, - { - "name": "Elegoo Rapid PLA+ @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo Rapid PLA+ @EN3 Series.json" - }, - { - "name": "Elegoo PLA Silk @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Silk @EN3 Series.json" - }, - { - "name": "Elegoo PLA Matte @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Matte @EN3 Series.json" - }, - { - "name": "Elegoo PLA-CF @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA-CF @EN3 Series.json" - }, - { - "name": "Elegoo PETG @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PETG @EN3 Series.json" - }, - { - "name": "Elegoo PETG PRO @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PETG PRO @EN3 Series.json" - }, - { - "name": "Elegoo Rapid PETG @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo Rapid PETG @EN3 Series.json" - }, - { - "name": "Elegoo TPU 95A @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo TPU 95A @EN3 Series.json" - }, - { - "name": "Elegoo ASA @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo ASA @EN3 Series.json" - }, - { - "name": "Elegoo PLA Galaxy @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Galaxy @EN3 Series.json" - }, - { - "name": "Elegoo PLA Basic @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Basic @EN3 Series.json" - }, - { - "name": "Elegoo PLA Marble @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Marble @EN3 Series.json" - }, - { - "name": "Elegoo PLA Sparkle @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Sparkle @EN3 Series.json" - }, - { - "name": "Elegoo PLA Wood @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PLA Wood @EN3 Series.json" - }, - { - "name": "Elegoo PETG-CF @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PETG-CF @EN3 Series.json" - }, - { - "name": "Elegoo PETG-GF @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PETG-GF @EN3 Series.json" - }, - { - "name": "Elegoo PETG Translucent @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo PETG Translucent @EN3 Series.json" - }, - { - "name": "Elegoo Rapid TPU 95A @EN3 Series", - "sub_path": "filament/EN3SERIES/Elegoo Rapid TPU 95A @EN3 Series.json" - }, - { - "name": "Elegoo PLA @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA @EN2 Series.json" - }, - { - "name": "Elegoo PLA PRO @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA PRO @EN2 Series.json" - }, - { - "name": "Elegoo PLA+ @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA+ @EN2 Series.json" - }, - { - "name": "Elegoo Rapid PLA+ @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo Rapid PLA+ @EN2 Series.json" - }, - { - "name": "Elegoo PLA Silk @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Silk @EN2 Series.json" - }, - { - "name": "Elegoo PLA Matte @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Matte @EN2 Series.json" - }, - { - "name": "Elegoo PLA-CF @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA-CF @EN2 Series.json" - }, - { - "name": "Elegoo PETG @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PETG @EN2 Series.json" - }, - { - "name": "Elegoo PETG PRO @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PETG PRO @EN2 Series.json" - }, - { - "name": "Elegoo Rapid PETG @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo Rapid PETG @EN2 Series.json" - }, - { - "name": "Elegoo ASA @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo ASA @EN2 Series.json" - }, - { - "name": "Elegoo PLA Galaxy @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Galaxy @EN2 Series.json" - }, - { - "name": "Elegoo PLA Basic @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Basic @EN2 Series.json" - }, - { - "name": "Elegoo PLA Marble @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Marble @EN2 Series.json" - }, - { - "name": "Elegoo PLA Sparkle @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Sparkle @EN2 Series.json" - }, - { - "name": "Elegoo PLA Wood @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PLA Wood @EN2 Series.json" - }, - { - "name": "Elegoo PETG-CF @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PETG-CF @EN2 Series.json" - }, - { - "name": "Elegoo PETG-GF @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PETG-GF @EN2 Series.json" - }, - { - "name": "Elegoo PETG Translucent @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo PETG Translucent @EN2 Series.json" - }, - { - "name": "Elegoo Rapid TPU 95A @EN2 Series", - "sub_path": "filament/EN2SERIES/Elegoo Rapid TPU 95A @EN2 Series.json" - }, - { - "name": "Elegoo ASA @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json" - }, - { - "name": "Elegoo PETG @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG @Elegoo Giga.json" - }, - { - "name": "Elegoo PETG PRO @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Matte @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json" - }, - { - "name": "Elegoo Rapid PETG @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo Rapid PETG @Elegoo Giga.json" - }, - { - "name": "Elegoo Rapid PLA+ @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo Rapid PLA+ @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Galaxy @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Galaxy @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Basic @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Basic @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Marble @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Marble @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Sparkle @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Sparkle @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Wood @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Wood @Elegoo Giga.json" - }, - { - "name": "Elegoo PETG-CF @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG-CF @Elegoo Giga.json" - }, - { - "name": "Elegoo PETG-GF @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG-GF @Elegoo Giga.json" - }, - { - "name": "Elegoo PETG Translucent @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG Translucent @Elegoo Giga.json" - }, - { - "name": "Elegoo Rapid TPU 95A @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo Rapid TPU 95A @Elegoo Giga.json" - }, - { - "name": "Generic ABS @Elegoo Centauri", - "sub_path": "filament/Generic/Generic ABS @Elegoo Centauri.json" - }, { "name": "Generic ABS @Elegoo", "sub_path": "filament/Generic/Generic ABS @Elegoo.json" }, + { + "name": "Generic ABS @Elegoo Centauri", + "sub_path": "filament/Generic/Generic ABS @Elegoo Centauri.json" + }, { "name": "Generic ABS-CF @Elegoo Centauri", "sub_path": "filament/Generic/Generic ABS-CF @Elegoo Centauri.json" }, + { + "name": "Elegoo ASA @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo ASA @0.2 nozzle.json" + }, + { + "name": "Elegoo ASA @EC", + "sub_path": "filament/EC/Elegoo ASA @EC.json" + }, + { + "name": "Elegoo ASA @ECC", + "sub_path": "filament/ECC/Elegoo ASA @ECC.json" + }, + { + "name": "Elegoo ASA @ECC2", + "sub_path": "filament/ECC2/Elegoo ASA @ECC2.json" + }, + { + "name": "Elegoo ASA @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo ASA @EN2 Series.json" + }, + { + "name": "Elegoo ASA @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo ASA @EN3 Series.json" + }, + { + "name": "Elegoo ASA @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo ASA @EN4 Series.json" + }, + { + "name": "Elegoo ASA @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json" + }, + { + "name": "Elegoo ASA-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo ASA-CF @ECC2.json" + }, { "name": "Generic ASA @Elegoo", "sub_path": "filament/Generic/Generic ASA @Elegoo.json" @@ -1888,6 +804,18 @@ "name": "Generic ASA-CF @Elegoo Centauri", "sub_path": "filament/Generic/Generic ASA-CF @Elegoo Centauri.json" }, + { + "name": "Elegoo PAHT-CF @EC", + "sub_path": "filament/EC/Elegoo PAHT-CF @EC.json" + }, + { + "name": "Elegoo PAHT-CF @ECC", + "sub_path": "filament/ECC/Elegoo PAHT-CF @ECC.json" + }, + { + "name": "Elegoo PAHT-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PAHT-CF @ECC2.json" + }, { "name": "Generic PA @Elegoo", "sub_path": "filament/Generic/Generic PA @Elegoo.json" @@ -1896,6 +824,38 @@ "name": "Generic PA6-CF @Elegoo", "sub_path": "filament/Generic/Generic PA6-CF @Elegoo.json" }, + { + "name": "Elegoo PC @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PC @0.2 nozzle.json" + }, + { + "name": "Elegoo PC @EC", + "sub_path": "filament/EC/Elegoo PC @EC.json" + }, + { + "name": "Elegoo PC @ECC", + "sub_path": "filament/ECC/Elegoo PC @ECC.json" + }, + { + "name": "Elegoo PC @ECC2", + "sub_path": "filament/ECC2/Elegoo PC @ECC2.json" + }, + { + "name": "Elegoo PC-FR @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PC-FR @0.2 nozzle.json" + }, + { + "name": "Elegoo PC-FR @EC", + "sub_path": "filament/EC/Elegoo PC-FR @EC.json" + }, + { + "name": "Elegoo PC-FR @ECC", + "sub_path": "filament/ECC/Elegoo PC-FR @ECC.json" + }, + { + "name": "Elegoo PC-FR @ECC2", + "sub_path": "filament/ECC2/Elegoo PC-FR @ECC2.json" + }, { "name": "Generic PC @Elegoo", "sub_path": "filament/Generic/Generic PC @Elegoo.json" @@ -1904,6 +864,198 @@ "name": "Generic PC-CF @Elegoo", "sub_path": "filament/Generic/Generic PC-CF @Elegoo.json" }, + { + "name": "Elegoo PET-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PET-CF @ECC2.json" + }, + { + "name": "Elegoo PETG @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG @EC", + "sub_path": "filament/EC/Elegoo PETG @EC.json" + }, + { + "name": "Elegoo PETG @ECC", + "sub_path": "filament/ECC/Elegoo PETG @ECC.json" + }, + { + "name": "Elegoo PETG @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG @ECC2.json" + }, + { + "name": "Elegoo PETG @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG @EN2 Series.json" + }, + { + "name": "Elegoo PETG @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG @EN3 Series.json" + }, + { + "name": "Elegoo PETG @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG @EN4 Series.json" + }, + { + "name": "Elegoo PETG @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG @Elegoo Giga.json" + }, + { + "name": "Elegoo PETG HF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG HF @ECC2.json" + }, + { + "name": "Elegoo PETG PRO @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG PRO @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG PRO @EC", + "sub_path": "filament/EC/Elegoo PETG PRO @EC.json" + }, + { + "name": "Elegoo PETG PRO @ECC", + "sub_path": "filament/ECC/Elegoo PETG PRO @ECC.json" + }, + { + "name": "Elegoo PETG PRO @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG PRO @ECC2.json" + }, + { + "name": "Elegoo PETG PRO @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG PRO @EN2 Series.json" + }, + { + "name": "Elegoo PETG PRO @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG PRO @EN3 Series.json" + }, + { + "name": "Elegoo PETG PRO @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG PRO @EN4 Series.json" + }, + { + "name": "Elegoo PETG PRO @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json" + }, + { + "name": "Elegoo PETG Translucent @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PETG Translucent @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG Translucent @EC", + "sub_path": "filament/EC/Elegoo PETG Translucent @EC.json" + }, + { + "name": "Elegoo PETG Translucent @ECC", + "sub_path": "filament/ECC/Elegoo PETG Translucent @ECC.json" + }, + { + "name": "Elegoo PETG Translucent @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG Translucent @ECC2.json" + }, + { + "name": "Elegoo PETG Translucent @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG Translucent @EN2 Series.json" + }, + { + "name": "Elegoo PETG Translucent @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG Translucent @EN3 Series.json" + }, + { + "name": "Elegoo PETG Translucent @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG Translucent @EN4 Series.json" + }, + { + "name": "Elegoo PETG Translucent @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG Translucent @Elegoo Giga.json" + }, + { + "name": "Elegoo PETG-CF @EC", + "sub_path": "filament/EC/Elegoo PETG-CF @EC.json" + }, + { + "name": "Elegoo PETG-CF @ECC", + "sub_path": "filament/ECC/Elegoo PETG-CF @ECC.json" + }, + { + "name": "Elegoo PETG-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG-CF @ECC2.json" + }, + { + "name": "Elegoo PETG-CF @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG-CF @EN2 Series.json" + }, + { + "name": "Elegoo PETG-CF @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG-CF @EN3 Series.json" + }, + { + "name": "Elegoo PETG-CF @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG-CF @EN4 Series.json" + }, + { + "name": "Elegoo PETG-CF @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG-CF @Elegoo Giga.json" + }, + { + "name": "Elegoo PETG-GF @EC", + "sub_path": "filament/EC/Elegoo PETG-GF @EC.json" + }, + { + "name": "Elegoo PETG-GF @ECC", + "sub_path": "filament/ECC/Elegoo PETG-GF @ECC.json" + }, + { + "name": "Elegoo PETG-GF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG-GF @ECC2.json" + }, + { + "name": "Elegoo PETG-GF @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PETG-GF @EN2 Series.json" + }, + { + "name": "Elegoo PETG-GF @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PETG-GF @EN3 Series.json" + }, + { + "name": "Elegoo PETG-GF @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PETG-GF @EN4 Series.json" + }, + { + "name": "Elegoo PETG-GF @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG-GF @Elegoo Giga.json" + }, + { + "name": "Elegoo Rapid PETG @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo Rapid PETG @0.2 nozzle.json" + }, + { + "name": "Elegoo Rapid PETG @EC", + "sub_path": "filament/EC/Elegoo Rapid PETG @EC.json" + }, + { + "name": "Elegoo Rapid PETG @ECC", + "sub_path": "filament/ECC/Elegoo Rapid PETG @ECC.json" + }, + { + "name": "Elegoo Rapid PETG @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid PETG @ECC2.json" + }, + { + "name": "Elegoo Rapid PETG @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo Rapid PETG @EN2 Series.json" + }, + { + "name": "Elegoo Rapid PETG @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo Rapid PETG @EN3 Series.json" + }, + { + "name": "Elegoo Rapid PETG @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo Rapid PETG @EN4 Series.json" + }, + { + "name": "Elegoo Rapid PETG @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo Rapid PETG @Elegoo Giga.json" + }, { "name": "Generic PET @Elegoo Centauri", "sub_path": "filament/Generic/Generic PET @Elegoo Centauri.json" @@ -1925,16 +1077,416 @@ "sub_path": "filament/Generic/Generic PETG-CF @Elegoo Centauri.json" }, { - "name": "Generic PLA @Elegoo Centauri", - "sub_path": "filament/Generic/Generic PLA @Elegoo Centauri.json" + "name": "Elegoo PLA @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA @EC", + "sub_path": "filament/EC/Elegoo PLA @EC.json" + }, + { + "name": "Elegoo PLA @ECC", + "sub_path": "filament/ECC/Elegoo PLA @ECC.json" + }, + { + "name": "Elegoo PLA @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA @ECC2.json" + }, + { + "name": "Elegoo PLA @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA @EN2 Series.json" + }, + { + "name": "Elegoo PLA @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA @EN3 Series.json" + }, + { + "name": "Elegoo PLA @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA @EN4 Series.json" + }, + { + "name": "Elegoo PLA @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Basic @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Basic @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Basic @EC", + "sub_path": "filament/EC/Elegoo PLA Basic @EC.json" + }, + { + "name": "Elegoo PLA Basic @ECC", + "sub_path": "filament/ECC/Elegoo PLA Basic @ECC.json" + }, + { + "name": "Elegoo PLA Basic @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Basic @ECC2.json" + }, + { + "name": "Elegoo PLA Basic @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Basic @EN2 Series.json" + }, + { + "name": "Elegoo PLA Basic @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Basic @EN3 Series.json" + }, + { + "name": "Elegoo PLA Basic @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Basic @EN4 Series.json" + }, + { + "name": "Elegoo PLA Basic @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Basic @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Galaxy @EC", + "sub_path": "filament/EC/Elegoo PLA Galaxy @EC.json" + }, + { + "name": "Elegoo PLA Galaxy @ECC", + "sub_path": "filament/ECC/Elegoo PLA Galaxy @ECC.json" + }, + { + "name": "Elegoo PLA Galaxy @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Galaxy @ECC2.json" + }, + { + "name": "Elegoo PLA Galaxy @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Galaxy @EN2 Series.json" + }, + { + "name": "Elegoo PLA Galaxy @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Galaxy @EN3 Series.json" + }, + { + "name": "Elegoo PLA Galaxy @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Galaxy @EN4 Series.json" + }, + { + "name": "Elegoo PLA Galaxy @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Galaxy @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Glow @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Glow @ECC2.json" + }, + { + "name": "Elegoo PLA Marble @EC", + "sub_path": "filament/EC/Elegoo PLA Marble @EC.json" + }, + { + "name": "Elegoo PLA Marble @ECC", + "sub_path": "filament/ECC/Elegoo PLA Marble @ECC.json" + }, + { + "name": "Elegoo PLA Marble @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Marble @ECC2.json" + }, + { + "name": "Elegoo PLA Marble @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Marble @EN2 Series.json" + }, + { + "name": "Elegoo PLA Marble @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Marble @EN3 Series.json" + }, + { + "name": "Elegoo PLA Marble @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Marble @EN4 Series.json" + }, + { + "name": "Elegoo PLA Marble @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Marble @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Matte @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Matte @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Matte @EC", + "sub_path": "filament/EC/Elegoo PLA Matte @EC.json" + }, + { + "name": "Elegoo PLA Matte @ECC", + "sub_path": "filament/ECC/Elegoo PLA Matte @ECC.json" + }, + { + "name": "Elegoo PLA Matte @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Matte @ECC2.json" + }, + { + "name": "Elegoo PLA Matte @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Matte @EN2 Series.json" + }, + { + "name": "Elegoo PLA Matte @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Matte @EN3 Series.json" + }, + { + "name": "Elegoo PLA Matte @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Matte @EN4 Series.json" + }, + { + "name": "Elegoo PLA Matte @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA PRO @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA PRO @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA PRO @EC", + "sub_path": "filament/EC/Elegoo PLA PRO @EC.json" + }, + { + "name": "Elegoo PLA PRO @ECC", + "sub_path": "filament/ECC/Elegoo PLA PRO @ECC.json" + }, + { + "name": "Elegoo PLA PRO @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA PRO @ECC2.json" + }, + { + "name": "Elegoo PLA PRO @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA PRO @EN2 Series.json" + }, + { + "name": "Elegoo PLA PRO @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA PRO @EN3 Series.json" + }, + { + "name": "Elegoo PLA PRO @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA PRO @EN4 Series.json" + }, + { + "name": "Elegoo PLA Silk @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA Silk @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Silk @EC", + "sub_path": "filament/EC/Elegoo PLA Silk @EC.json" + }, + { + "name": "Elegoo PLA Silk @ECC", + "sub_path": "filament/ECC/Elegoo PLA Silk @ECC.json" + }, + { + "name": "Elegoo PLA Silk @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Silk @ECC2.json" + }, + { + "name": "Elegoo PLA Silk @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Silk @EN2 Series.json" + }, + { + "name": "Elegoo PLA Silk @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Silk @EN3 Series.json" + }, + { + "name": "Elegoo PLA Silk @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Silk @EN4 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @EC", + "sub_path": "filament/EC/Elegoo PLA Sparkle @EC.json" + }, + { + "name": "Elegoo PLA Sparkle @ECC", + "sub_path": "filament/ECC/Elegoo PLA Sparkle @ECC.json" + }, + { + "name": "Elegoo PLA Sparkle @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Sparkle @ECC2.json" + }, + { + "name": "Elegoo PLA Sparkle @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Sparkle @EN2 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Sparkle @EN3 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Sparkle @EN4 Series.json" + }, + { + "name": "Elegoo PLA Sparkle @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Sparkle @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Translucent2 @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Translucent2 @ECC2.json" + }, + { + "name": "Elegoo PLA Wood @EC", + "sub_path": "filament/EC/Elegoo PLA Wood @EC.json" + }, + { + "name": "Elegoo PLA Wood @ECC", + "sub_path": "filament/ECC/Elegoo PLA Wood @ECC.json" + }, + { + "name": "Elegoo PLA Wood @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA Wood @ECC2.json" + }, + { + "name": "Elegoo PLA Wood @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA Wood @EN2 Series.json" + }, + { + "name": "Elegoo PLA Wood @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA Wood @EN3 Series.json" + }, + { + "name": "Elegoo PLA Wood @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA Wood @EN4 Series.json" + }, + { + "name": "Elegoo PLA Wood @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Wood @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA+ @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo PLA+ @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA+ @EC", + "sub_path": "filament/EC/Elegoo PLA+ @EC.json" + }, + { + "name": "Elegoo PLA+ @ECC", + "sub_path": "filament/ECC/Elegoo PLA+ @ECC.json" + }, + { + "name": "Elegoo PLA+ @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA+ @ECC2.json" + }, + { + "name": "Elegoo PLA+ @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA+ @EN2 Series.json" + }, + { + "name": "Elegoo PLA+ @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA+ @EN3 Series.json" + }, + { + "name": "Elegoo PLA+ @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA+ @EN4 Series.json" + }, + { + "name": "Elegoo PLA-CF @ECC", + "sub_path": "filament/ECC/Elegoo PLA-CF @ECC.json" + }, + { + "name": "Elegoo PLA-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA-CF @ECC2.json" + }, + { + "name": "Elegoo PLA-CF @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo PLA-CF @EN2 Series.json" + }, + { + "name": "Elegoo PLA-CF @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo PLA-CF @EN3 Series.json" + }, + { + "name": "Elegoo PLA-CF @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo PLA-CF @EN4 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @0.2 nozzle", + "sub_path": "filament/ELEGOO_02_NOZZLE/Elegoo Rapid PLA+ @0.2 nozzle.json" + }, + { + "name": "Elegoo Rapid PLA+ @EC", + "sub_path": "filament/EC/Elegoo Rapid PLA+ @EC.json" + }, + { + "name": "Elegoo Rapid PLA+ @ECC", + "sub_path": "filament/ECC/Elegoo Rapid PLA+ @ECC.json" + }, + { + "name": "Elegoo Rapid PLA+ @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid PLA+ @ECC2.json" + }, + { + "name": "Elegoo Rapid PLA+ @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo Rapid PLA+ @EN2 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo Rapid PLA+ @EN3 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo Rapid PLA+ @EN4 Series.json" + }, + { + "name": "Elegoo Rapid PLA+ @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo Rapid PLA+ @Elegoo Giga.json" }, { "name": "Generic PLA @Elegoo", "sub_path": "filament/Generic/Generic PLA @Elegoo.json" }, + { + "name": "Generic PLA @Elegoo Centauri", + "sub_path": "filament/Generic/Generic PLA @Elegoo Centauri.json" + }, { "name": "Generic PLA Matte @Elegoo", "sub_path": "filament/Generic/Generic PLA Matte @Elegoo.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EC", + "sub_path": "filament/EC/Elegoo Rapid TPU 95A @EC.json" + }, + { + "name": "Elegoo Rapid TPU 95A @ECC", + "sub_path": "filament/ECC/Elegoo Rapid TPU 95A @ECC.json" + }, + { + "name": "Elegoo Rapid TPU 95A @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EN2 Series", + "sub_path": "filament/EN2SERIES/Elegoo Rapid TPU 95A @EN2 Series.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo Rapid TPU 95A @EN3 Series.json" + }, + { + "name": "Elegoo Rapid TPU 95A @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo Rapid TPU 95A @EN4 Series.json" + }, + { + "name": "Elegoo Rapid TPU 95A @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo Rapid TPU 95A @Elegoo Giga.json" + }, + { + "name": "Elegoo TPU 95A @EC", + "sub_path": "filament/EC/Elegoo TPU 95A @EC.json" + }, + { + "name": "Elegoo TPU 95A @ECC", + "sub_path": "filament/ECC/Elegoo TPU 95A @ECC.json" + }, + { + "name": "Elegoo TPU 95A @ECC2", + "sub_path": "filament/ECC2/Elegoo TPU 95A @ECC2.json" + }, + { + "name": "Elegoo TPU 95A @EN3 Series", + "sub_path": "filament/EN3SERIES/Elegoo TPU 95A @EN3 Series.json" + }, + { + "name": "Elegoo TPU 95A @EN4 Series", + "sub_path": "filament/EN4SERIES/Elegoo TPU 95A @EN4 Series.json" } ], "machine_list": [ @@ -1942,33 +1494,49 @@ "name": "fdm_machine_common", "sub_path": "machine/fdm_machine_common.json" }, + { + "name": "fdm_elegoo_3dp_001_common", + "sub_path": "machine/fdm_elegoo_3dp_001_common.json" + }, { "name": "fdm_elegoo_common", "sub_path": "machine/fdm_elegoo_common.json" }, { - "name": "fdm_elegoo_3dp_001_common", - "sub_path": "machine/fdm_elegoo_3dp_001_common.json" + "name": "Elegoo Centauri 0.4 nozzle", + "sub_path": "machine/EC/Elegoo Centauri 0.4 nozzle.json" }, { "name": "Elegoo Centauri Carbon 0.4 nozzle", "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json" }, { - "name": "Elegoo Centauri Carbon 0.2 nozzle", - "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.2 nozzle.json" + "name": "Elegoo Centauri Carbon 2 0.4 nozzle", + "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json" }, { - "name": "Elegoo Centauri Carbon 0.6 nozzle", - "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.6 nozzle.json" + "name": "Elegoo Neptune 4 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.4 nozzle.json" }, { - "name": "Elegoo Centauri Carbon 0.8 nozzle", - "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.8 nozzle.json" + "name": "Elegoo OrangeStorm Giga 0.4 nozzle", + "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json" }, { - "name": "Elegoo Centauri 0.4 nozzle", - "sub_path": "machine/EC/Elegoo Centauri 0.4 nozzle.json" + "name": "Elegoo Neptune 2 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2S 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Pro 0.4 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune X 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.4 nozzle.json" }, { "name": "Elegoo Centauri 0.2 nozzle", @@ -1983,8 +1551,16 @@ "sub_path": "machine/EC/Elegoo Centauri 0.8 nozzle.json" }, { - "name": "Elegoo Centauri Carbon 2 0.4 nozzle", - "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json" + "name": "Elegoo Centauri Carbon 0.2 nozzle", + "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.2 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 0.6 nozzle", + "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.6 nozzle.json" + }, + { + "name": "Elegoo Centauri Carbon 0.8 nozzle", + "sub_path": "machine/ECC/Elegoo Centauri Carbon 0.8 nozzle.json" }, { "name": "Elegoo Centauri Carbon 2 0.2 nozzle", @@ -1998,10 +1574,6 @@ "name": "Elegoo Centauri Carbon 2 0.8 nozzle", "sub_path": "machine/ECC2/Elegoo Centauri Carbon 2 0.8 nozzle.json" }, - { - "name": "Elegoo Neptune 4 0.4 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.4 nozzle.json" - }, { "name": "Elegoo Neptune 4 0.2 nozzle", "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 0.2 nozzle.json" @@ -2019,68 +1591,16 @@ "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 1.0 nozzle.json" }, { - "name": "Elegoo Neptune 4 Pro 0.4 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Pro 0.2 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.2 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Pro 0.6 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Pro 0.8 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Pro 1.0 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 1.0 nozzle.json" + "name": "Elegoo Neptune 4 Max 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.4 nozzle.json" }, { "name": "Elegoo Neptune 4 Plus 0.4 nozzle", "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.4 nozzle.json" }, { - "name": "Elegoo Neptune 4 Plus 0.2 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.2 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Plus 0.6 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Plus 0.8 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Plus 1.0 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 1.0 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Max 0.4 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Max 0.2 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.2 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Max 0.6 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Max 0.8 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 4 Max 1.0 nozzle", - "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 1.0 nozzle.json" - }, - { - "name": "Elegoo OrangeStorm Giga 0.4 nozzle", - "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json" + "name": "Elegoo Neptune 4 Pro 0.4 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.4 nozzle.json" }, { "name": "Elegoo OrangeStorm Giga 0.6 nozzle", @@ -2095,8 +1615,40 @@ "sub_path": "machine/EOSGIGA/Elegoo OrangeStorm Giga 1.0 nozzle.json" }, { - "name": "Elegoo Neptune 3 Pro 0.4 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 0.4 nozzle.json" + "name": "Elegoo Neptune 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 2 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 2D 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 0.4 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 2S 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 2S 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Max 0.4 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.4 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 Plus 0.4 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.4 nozzle.json" }, { "name": "Elegoo Neptune 3 Pro 0.2 nozzle", @@ -2115,28 +1667,84 @@ "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Pro 1.0 nozzle.json" }, { - "name": "Elegoo Neptune 3 Plus 0.4 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.4 nozzle.json" + "name": "Elegoo Neptune X 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.6 nozzle.json" }, { - "name": "Elegoo Neptune 3 Plus 0.2 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.2 nozzle.json" + "name": "Elegoo Neptune X 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.8 nozzle.json" }, { - "name": "Elegoo Neptune 3 Plus 0.6 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.6 nozzle.json" + "name": "Elegoo Neptune 4 Max 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.2 nozzle.json" }, { - "name": "Elegoo Neptune 3 Plus 0.8 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.8 nozzle.json" + "name": "Elegoo Neptune 4 Max 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.6 nozzle.json" }, { - "name": "Elegoo Neptune 3 Plus 1.0 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 1.0 nozzle.json" + "name": "Elegoo Neptune 4 Max 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 0.8 nozzle.json" }, { - "name": "Elegoo Neptune 3 Max 0.4 nozzle", - "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 0.4 nozzle.json" + "name": "Elegoo Neptune 4 Max 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Max 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Plus 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Plus 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.2 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.2 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.6 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 0.8 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 4 Pro 1.0 nozzle", + "sub_path": "machine/EN4SERIES/Elegoo Neptune 4 Pro 1.0 nozzle.json" + }, + { + "name": "Elegoo Neptune 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 2D 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 2D 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.8 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 0.6 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.6 nozzle.json" + }, + { + "name": "Elegoo Neptune 3 0.8 nozzle", + "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.8 nozzle.json" }, { "name": "Elegoo Neptune 3 Max 0.2 nozzle", @@ -2155,76 +1763,20 @@ "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Max 1.0 nozzle.json" }, { - "name": "Elegoo Neptune 2 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.4 nozzle.json" + "name": "Elegoo Neptune 3 Plus 0.2 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.2 nozzle.json" }, { - "name": "Elegoo Neptune 2 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.6 nozzle.json" + "name": "Elegoo Neptune 3 Plus 0.6 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.6 nozzle.json" }, { - "name": "Elegoo Neptune 2 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2 0.8 nozzle.json" + "name": "Elegoo Neptune 3 Plus 0.8 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 0.8 nozzle.json" }, { - "name": "Elegoo Neptune 3 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 3 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 3 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune X 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune X 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune X 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune X 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 2S 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 2S 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 2S 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2S 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 2D 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 2D 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 2D 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 2D 0.8 nozzle.json" - }, - { - "name": "Elegoo Neptune 0.4 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.4 nozzle.json" - }, - { - "name": "Elegoo Neptune 0.6 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.6 nozzle.json" - }, - { - "name": "Elegoo Neptune 0.8 nozzle", - "sub_path": "machine/EN2SERIES/Elegoo Neptune 0.8 nozzle.json" + "name": "Elegoo Neptune 3 Plus 1.0 nozzle", + "sub_path": "machine/EN3SERIES/Elegoo Neptune 3 Plus 1.0 nozzle.json" } ] } diff --git a/resources/profiles/Flashforge.json b/resources/profiles/Flashforge.json index d198488a09..6604fe6f54 100644 --- a/resources/profiles/Flashforge.json +++ b/resources/profiles/Flashforge.json @@ -9,10 +9,6 @@ "name": "Flashforge AD5X", "sub_path": "machine/Flashforge AD5X.json" }, - { - "name": "Flashforge Artemis", - "sub_path": "machine/Flashforge Artemis.json" - }, { "name": "Flashforge Adventurer 3 Series", "sub_path": "machine/Flashforge Adventurer 3 Series.json" @@ -29,6 +25,18 @@ "name": "Flashforge Adventurer 5M Pro", "sub_path": "machine/Flashforge Adventurer 5M Pro.json" }, + { + "name": "Flashforge Artemis", + "sub_path": "machine/Flashforge Artemis.json" + }, + { + "name": "Flashforge Creator 5", + "sub_path": "machine/Flashforge Creator 5.json" + }, + { + "name": "Flashforge Creator 5 Pro", + "sub_path": "machine/Flashforge Creator 5 Pro.json" + }, { "name": "Flashforge Guider 2s", "sub_path": "machine/Flashforge Guider 2s.json" @@ -44,14 +52,6 @@ { "name": "Flashforge Guider4 Pro", "sub_path": "machine/Flashforge Guider4 Pro.json" - }, - { - "name": "Flashforge Creator 5", - "sub_path":"machine/Flashforge Creator 5.json" - }, - { - "name": "Flashforge Creator 5 Pro", - "sub_path":"machine/Flashforge Creator 5 Pro.json" } ], "process_list": [ @@ -171,6 +171,10 @@ "name": "0.12mm Fine @Flashforge AD5M Pro 0.4 Nozzle", "sub_path": "process/0.12mm Fine @Flashforge AD5M Pro 0.4 Nozzle.json" }, + { + "name": "0.12mm Standard @FF C5", + "sub_path": "process/0.12mm Standard @FF C5.json" + }, { "name": "0.12mm Standard @Flashforge AD5M Pro 0.25 Nozzle", "sub_path": "process/0.12mm Standard @Flashforge AD5M Pro 0.25 Nozzle.json" @@ -187,10 +191,18 @@ "name": "0.16mm Standard @FF G4P", "sub_path": "process/0.16mm Standard @FF G4P.json" }, + { + "name": "0.18mm Standard @FF C5 0.6 nozzle", + "sub_path": "process/0.18mm Standard @FF C5 0.6 nozzle.json" + }, { "name": "0.20mm Standard @FF AD5X", "sub_path": "process/0.20mm Standard @FF AD5X.json" }, + { + "name": "0.20mm Standard @FF C5", + "sub_path": "process/0.20mm Standard @FF C5.json" + }, { "name": "0.20mm Standard @FF G4", "sub_path": "process/0.20mm Standard @FF G4.json" @@ -207,6 +219,10 @@ "name": "0.24mm Draft @Flashforge AD5M Pro 0.4 Nozzle", "sub_path": "process/0.24mm Draft @Flashforge AD5M Pro 0.4 Nozzle.json" }, + { + "name": "0.24mm Standard @FF C5", + "sub_path": "process/0.24mm Standard @FF C5.json" + }, { "name": "0.24mm Standard @FF G4", "sub_path": "process/0.24mm Standard @FF G4.json" @@ -215,6 +231,26 @@ "name": "0.24mm Standard @FF G4P", "sub_path": "process/0.24mm Standard @FF G4P.json" }, + { + "name": "0.30mm Standard @FF C5 0.6 nozzle", + "sub_path": "process/0.30mm Standard @FF C5 0.6 nozzle.json" + }, + { + "name": "0.32mm Standard @FF C5 0.8 nozzle", + "sub_path": "process/0.32mm Standard @FF C5 0.8 nozzle.json" + }, + { + "name": "0.42mm Standard @FF C5 0.6 nozzle", + "sub_path": "process/0.42mm Standard @FF C5 0.6 nozzle.json" + }, + { + "name": "0.48mm Standard @FF C5 0.8 nozzle", + "sub_path": "process/0.48mm Standard @FF C5 0.8 nozzle.json" + }, + { + "name": "0.4mm Standard @FF C5 0.8 nozzle", + "sub_path": "process/0.4mm Standard @FF C5 0.8 nozzle.json" + }, { "name": "0.12mm Fine @Flashforge G3U 0.4 Nozzle", "sub_path": "process/0.12mm Fine @Flashforge G3U 0.4 Nozzle.json" @@ -482,42 +518,6 @@ { "name": "0.56mm Draft @FF AD5X 0.8 nozzle", "sub_path": "process/0.56mm Draft @FF AD5X 0.8 nozzle.json" - }, - { - "name": "0.12mm Standard @FF C5", - "sub_path": "process/0.12mm Standard @FF C5.json" - }, - { - "name": "0.20mm Standard @FF C5", - "sub_path": "process/0.20mm Standard @FF C5.json" - }, - { - "name": "0.24mm Standard @FF C5", - "sub_path": "process/0.24mm Standard @FF C5.json" - }, - { - "name": "0.18mm Standard @FF C5 0.6 nozzle", - "sub_path": "process/0.18mm Standard @FF C5 0.6 nozzle.json" - }, - { - "name": "0.30mm Standard @FF C5 0.6 nozzle", - "sub_path": "process/0.30mm Standard @FF C5 0.6 nozzle.json" - }, - { - "name": "0.42mm Standard @FF C5 0.6 nozzle", - "sub_path": "process/0.42mm Standard @FF C5 0.6 nozzle.json" - }, - { - "name": "0.32mm Standard @FF C5 0.8 nozzle", - "sub_path": "process/0.32mm Standard @FF C5 0.8 nozzle.json" - }, - { - "name": "0.48mm Standard @FF C5 0.8 nozzle", - "sub_path": "process/0.48mm Standard @FF C5 0.8 nozzle.json" - }, - { - "name": "0.4mm Standard @FF C5 0.8 nozzle", - "sub_path": "process/0.4mm Standard @FF C5 0.8 nozzle.json" } ], "filament_list": [ @@ -569,6 +569,10 @@ "name": "Flashforge PETG", "sub_path": "filament/Flashforge/Flashforge PETG @FF AD3.json" }, + { + "name": "Generic PETG @Flashforge Artemis", + "sub_path": "filament/Flashforge Generic PETG @Flashforge Artemis.json" + }, { "name": "SUNLU PETG @base", "sub_path": "filament/SUNLU/SUNLU PETG @base.json" @@ -2497,302 +2501,302 @@ "name": "Flashforge ABS Basic @FF C5", "sub_path": "filament/Flashforge ABS Basic @FF C5.json" }, - { - "name": "Flashforge ABS-GF @FF C5", - "sub_path": "filament/Flashforge ABS-GF @FF C5.json" - }, - { - "name": "Flashforge ASA Basic @FF C5", - "sub_path": "filament/Flashforge ASA Basic @FF C5.json" - }, - { - "name": "Flashforge ASA-CF @FF C5", - "sub_path": "filament/Flashforge ASA-CF @FF C5.json" - }, - { - "name": "Flashforge ASA-GF @FF C5", - "sub_path": "filament/Flashforge ASA-GF @FF C5.json" - }, - { - "name": "Flashforge HIPS @FF C5", - "sub_path": "filament/Flashforge HIPS @FF C5.json" - }, - { - "name": "Flashforge HS PETG @FF C5", - "sub_path": "filament/Flashforge HS PETG @FF C5.json" - }, - { - "name": "Flashforge HS PLA @FF C5", - "sub_path": "filament/Flashforge HS PLA @FF C5.json" - }, - { - "name": "Flashforge PA-CF @FF C5", - "sub_path": "filament/Flashforge PA-CF @FF C5.json" - }, - { - "name": "Flashforge PAHT-CF @FF C5", - "sub_path": "filament/Flashforge PAHT-CF @FF C5.json" - }, - { - "name": "Flashforge PET-CF @FF C5", - "sub_path": "filament/Flashforge PET-CF @FF C5.json" - }, - { - "name": "Flashforge PETG Pro @FF C5", - "sub_path": "filament/Flashforge PETG Pro @FF C5.json" - }, - { - "name": "Flashforge PETG Transparent @FF C5", - "sub_path": "filament/Flashforge PETG Transparent @FF C5.json" - }, - { - "name": "Flashforge PETG-CF @FF C5", - "sub_path": "filament/Flashforge PETG-CF @FF C5.json" - }, - { - "name": "Flashforge PLA Matte @FF C5", - "sub_path": "filament/Flashforge PLA Matte @FF C5.json" - }, - { - "name": "Flashforge PLA Metal @FF C5", - "sub_path": "filament/Flashforge PLA Metal @FF C5.json" - }, - { - "name": "Flashforge PLA Pro @FF C5", - "sub_path": "filament/Flashforge PLA Pro @FF C5.json" - }, - { - "name": "Flashforge PLA Basic @FF C5", - "sub_path": "filament/Flashforge PLA Basic @FF C5.json" - }, - { - "name": "Flashforge PLA Color Change @FF C5", - "sub_path": "filament/Flashforge PLA Color Change @FF C5.json" - }, - { - "name": "Flashforge PLA Galaxy @FF C5", - "sub_path": "filament/Flashforge PLA Galaxy @FF C5.json" - }, - { - "name": "Flashforge PLA Luminous @FF C5", - "sub_path": "filament/Flashforge PLA Luminous @FF C5.json" - }, - { - "name": "Flashforge PLA Silk @FF C5", - "sub_path": "filament/Flashforge PLA Silk @FF C5.json" - }, - { - "name": "Flashforge PLA-CF @FF C5", - "sub_path": "filament/Flashforge PLA-CF @FF C5.json" - }, - { - "name": "Flashforge PPA-CF @FF C5", - "sub_path": "filament/Flashforge PPA-CF @FF C5.json" - }, - { - "name": "Flashforge PPS-CF @FF C5", - "sub_path": "filament/Flashforge PPS-CF @FF C5.json" - }, - { - "name": "Flashforge PVA @FF C5", - "sub_path": "filament/Flashforge PVA @FF C5.json" - }, - { - "name": "Flashforge TPU-64D @FF C5", - "sub_path": "filament/Flashforge TPU-64D @FF C5.json" - }, - { - "name": "Flashforge TPU-90A @FF C5", - "sub_path": "filament/Flashforge TPU-90A @FF C5.json" - }, - { - "name": "Flashforge TPU-95A @FF C5", - "sub_path": "filament/Flashforge TPU-95A @FF C5.json" - }, - { - "name": "FusRock PAHT-CF @FF C5", - "sub_path": "filament/FusRock PAHT-CF @FF C5.json" - }, - { - "name": "FusRock S-Multi @FF C5", - "sub_path": "filament/FusRock S-Multi @FF C5.json" - }, - { - "name": "FusRock S-PAHT @FF C5", - "sub_path": "filament/FusRock S-PAHT @FF C5.json" - }, - { - "name": "Generic BVOH @FF C5", - "sub_path": "filament/Generic BVOH @FF C5.json" - }, - { - "name": "Generic PLA @FF C5", - "sub_path": "filament/Generic PLA @FF C5.json" - }, - { - "name": "Generic PLA Silk @FF C5", - "sub_path": "filament/Generic PLA Silk @FF C5.json" - }, - { - "name": "Generic TPU-64D @FF C5", - "sub_path": "filament/Generic TPU-64D @FF C5.json" - }, - { - "name": "Generic TPU-90A @FF C5", - "sub_path": "filament/Generic TPU-90A @FF C5.json" - }, - { - "name": "Generic TPU-95A @FF C5", - "sub_path": "filament/Generic TPU-95A @FF C5.json" - }, { "name": "Flashforge ABS Basic @FF C5P", "sub_path": "filament/Flashforge ABS Basic @FF C5P.json" }, + { + "name": "Flashforge ABS-GF @FF C5", + "sub_path": "filament/Flashforge ABS-GF @FF C5.json" + }, { "name": "Flashforge ABS-GF @FF C5P", "sub_path": "filament/Flashforge ABS-GF @FF C5P.json" }, + { + "name": "Flashforge ASA Basic @FF C5", + "sub_path": "filament/Flashforge ASA Basic @FF C5.json" + }, { "name": "Flashforge ASA Basic @FF C5P", "sub_path": "filament/Flashforge ASA Basic @FF C5P.json" }, + { + "name": "Flashforge ASA-CF @FF C5", + "sub_path": "filament/Flashforge ASA-CF @FF C5.json" + }, { "name": "Flashforge ASA-CF @FF C5P", "sub_path": "filament/Flashforge ASA-CF @FF C5P.json" }, + { + "name": "Flashforge ASA-GF @FF C5", + "sub_path": "filament/Flashforge ASA-GF @FF C5.json" + }, { "name": "Flashforge ASA-GF @FF C5P", "sub_path": "filament/Flashforge ASA-GF @FF C5P.json" }, + { + "name": "Flashforge HIPS @FF C5", + "sub_path": "filament/Flashforge HIPS @FF C5.json" + }, { "name": "Flashforge HIPS @FF C5P", "sub_path": "filament/Flashforge HIPS @FF C5P.json" }, + { + "name": "Flashforge HS PETG @FF C5", + "sub_path": "filament/Flashforge HS PETG @FF C5.json" + }, { "name": "Flashforge HS PETG @FF C5P", "sub_path": "filament/Flashforge HS PETG @FF C5P.json" }, + { + "name": "Flashforge HS PLA @FF C5", + "sub_path": "filament/Flashforge HS PLA @FF C5.json" + }, { "name": "Flashforge HS PLA @FF C5P", "sub_path": "filament/Flashforge HS PLA @FF C5P.json" }, + { + "name": "Flashforge PA-CF @FF C5", + "sub_path": "filament/Flashforge PA-CF @FF C5.json" + }, { "name": "Flashforge PA-CF @FF C5P", "sub_path": "filament/Flashforge PA-CF @FF C5P.json" }, + { + "name": "Flashforge PAHT-CF @FF C5", + "sub_path": "filament/Flashforge PAHT-CF @FF C5.json" + }, { "name": "Flashforge PAHT-CF @FF C5P", "sub_path": "filament/Flashforge PAHT-CF @FF C5P.json" }, + { + "name": "Flashforge PET-CF @FF C5", + "sub_path": "filament/Flashforge PET-CF @FF C5.json" + }, { "name": "Flashforge PET-CF @FF C5P", "sub_path": "filament/Flashforge PET-CF @FF C5P.json" }, + { + "name": "Flashforge PETG Pro @FF C5", + "sub_path": "filament/Flashforge PETG Pro @FF C5.json" + }, { "name": "Flashforge PETG Pro @FF C5P", "sub_path": "filament/Flashforge PETG Pro @FF C5P.json" }, + { + "name": "Flashforge PETG Transparent @FF C5", + "sub_path": "filament/Flashforge PETG Transparent @FF C5.json" + }, { "name": "Flashforge PETG Transparent @FF C5P", "sub_path": "filament/Flashforge PETG Transparent @FF C5P.json" }, + { + "name": "Flashforge PETG-CF @FF C5", + "sub_path": "filament/Flashforge PETG-CF @FF C5.json" + }, { "name": "Flashforge PETG-CF @FF C5P", "sub_path": "filament/Flashforge PETG-CF @FF C5P.json" }, + { + "name": "Flashforge PLA Matte @FF C5", + "sub_path": "filament/Flashforge PLA Matte @FF C5.json" + }, { "name": "Flashforge PLA Matte @FF C5P", "sub_path": "filament/Flashforge PLA Matte @FF C5P.json" }, + { + "name": "Flashforge PLA Metal @FF C5", + "sub_path": "filament/Flashforge PLA Metal @FF C5.json" + }, { "name": "Flashforge PLA Metal @FF C5P", "sub_path": "filament/Flashforge PLA Metal @FF C5P.json" }, + { + "name": "Flashforge PLA Pro @FF C5", + "sub_path": "filament/Flashforge PLA Pro @FF C5.json" + }, { "name": "Flashforge PLA Pro @FF C5P", "sub_path": "filament/Flashforge PLA Pro @FF C5P.json" }, + { + "name": "Flashforge PLA Basic @FF C5", + "sub_path": "filament/Flashforge PLA Basic @FF C5.json" + }, { "name": "Flashforge PLA Basic @FF C5P", "sub_path": "filament/Flashforge PLA Basic @FF C5P.json" }, + { + "name": "Flashforge PLA Color Change @FF C5", + "sub_path": "filament/Flashforge PLA Color Change @FF C5.json" + }, { "name": "Flashforge PLA Color Change @FF C5P", "sub_path": "filament/Flashforge PLA Color Change @FF C5P.json" }, + { + "name": "Flashforge PLA Galaxy @FF C5", + "sub_path": "filament/Flashforge PLA Galaxy @FF C5.json" + }, { "name": "Flashforge PLA Galaxy @FF C5P", "sub_path": "filament/Flashforge PLA Galaxy @FF C5P.json" }, + { + "name": "Flashforge PLA Luminous @FF C5", + "sub_path": "filament/Flashforge PLA Luminous @FF C5.json" + }, { "name": "Flashforge PLA Luminous @FF C5P", "sub_path": "filament/Flashforge PLA Luminous @FF C5P.json" }, + { + "name": "Flashforge PLA Silk @FF C5", + "sub_path": "filament/Flashforge PLA Silk @FF C5.json" + }, { "name": "Flashforge PLA Silk @FF C5P", "sub_path": "filament/Flashforge PLA Silk @FF C5P.json" }, + { + "name": "Flashforge PLA-CF @FF C5", + "sub_path": "filament/Flashforge PLA-CF @FF C5.json" + }, { "name": "Flashforge PLA-CF @FF C5P", "sub_path": "filament/Flashforge PLA-CF @FF C5P.json" }, + { + "name": "Flashforge PPA-CF @FF C5", + "sub_path": "filament/Flashforge PPA-CF @FF C5.json" + }, { "name": "Flashforge PPA-CF @FF C5P", "sub_path": "filament/Flashforge PPA-CF @FF C5P.json" }, + { + "name": "Flashforge PPS-CF @FF C5", + "sub_path": "filament/Flashforge PPS-CF @FF C5.json" + }, { "name": "Flashforge PPS-CF @FF C5P", "sub_path": "filament/Flashforge PPS-CF @FF C5P.json" }, + { + "name": "Flashforge PVA @FF C5", + "sub_path": "filament/Flashforge PVA @FF C5.json" + }, { "name": "Flashforge PVA @FF C5P", "sub_path": "filament/Flashforge PVA @FF C5P.json" }, + { + "name": "Flashforge TPU-64D @FF C5", + "sub_path": "filament/Flashforge TPU-64D @FF C5.json" + }, { "name": "Flashforge TPU-64D @FF C5P", "sub_path": "filament/Flashforge TPU-64D @FF C5P.json" }, + { + "name": "Flashforge TPU-90A @FF C5", + "sub_path": "filament/Flashforge TPU-90A @FF C5.json" + }, { "name": "Flashforge TPU-90A @FF C5P", "sub_path": "filament/Flashforge TPU-90A @FF C5P.json" }, + { + "name": "Flashforge TPU-95A @FF C5", + "sub_path": "filament/Flashforge TPU-95A @FF C5.json" + }, { "name": "Flashforge TPU-95A @FF C5P", "sub_path": "filament/Flashforge TPU-95A @FF C5P.json" }, + { + "name": "FusRock PAHT-CF @FF C5", + "sub_path": "filament/FusRock PAHT-CF @FF C5.json" + }, { "name": "FusRock PAHT-CF @FF C5P", "sub_path": "filament/FusRock PAHT-CF @FF C5P.json" }, + { + "name": "FusRock S-Multi @FF C5", + "sub_path": "filament/FusRock S-Multi @FF C5.json" + }, { "name": "FusRock S-Multi @FF C5P", "sub_path": "filament/FusRock S-Multi @FF C5P.json" }, + { + "name": "FusRock S-PAHT @FF C5", + "sub_path": "filament/FusRock S-PAHT @FF C5.json" + }, { "name": "FusRock S-PAHT @FF C5P", "sub_path": "filament/FusRock S-PAHT @FF C5P.json" }, + { + "name": "Generic BVOH @FF C5", + "sub_path": "filament/Generic BVOH @FF C5.json" + }, { "name": "Generic BVOH @FF C5P", "sub_path": "filament/Generic BVOH @FF C5P.json" }, + { + "name": "Generic PLA @FF C5", + "sub_path": "filament/Generic PLA @FF C5.json" + }, { "name": "Generic PLA @FF C5P", "sub_path": "filament/Generic PLA @FF C5P.json" }, + { + "name": "Generic PLA Silk @FF C5", + "sub_path": "filament/Generic PLA Silk @FF C5.json" + }, { "name": "Generic PLA Silk @FF C5P", "sub_path": "filament/Generic PLA Silk @FF C5P.json" }, + { + "name": "Generic TPU-64D @FF C5", + "sub_path": "filament/Generic TPU-64D @FF C5.json" + }, { "name": "Generic TPU-64D @FF C5P", "sub_path": "filament/Generic TPU-64D @FF C5P.json" }, + { + "name": "Generic TPU-90A @FF C5", + "sub_path": "filament/Generic TPU-90A @FF C5.json" + }, { "name": "Generic TPU-90A @FF C5P", "sub_path": "filament/Generic TPU-90A @FF C5P.json" }, + { + "name": "Generic TPU-95A @FF C5", + "sub_path": "filament/Generic TPU-95A @FF C5.json" + }, { "name": "Generic TPU-95A @FF C5P", "sub_path": "filament/Generic TPU-95A @FF C5P.json" @@ -2923,6 +2927,30 @@ "name": "Flashforge AD5X 0.4 nozzle", "sub_path": "machine/Flashforge AD5X 0.4 nozzle.json" }, + { + "name": "Flashforge Creator 5 0.4 nozzle", + "sub_path": "machine/Flashforge Creator 5 0.4 nozzle.json" + }, + { + "name": "Flashforge Creator 5 0.6 nozzle", + "sub_path": "machine/Flashforge Creator 5 0.6 nozzle.json" + }, + { + "name": "Flashforge Creator 5 0.8 nozzle", + "sub_path": "machine/Flashforge Creator 5 0.8 nozzle.json" + }, + { + "name": "Flashforge Creator 5 Pro 0.4 nozzle", + "sub_path": "machine/Flashforge Creator 5 Pro 0.4 nozzle.json" + }, + { + "name": "Flashforge Creator 5 Pro 0.6 nozzle", + "sub_path": "machine/Flashforge Creator 5 Pro 0.6 nozzle.json" + }, + { + "name": "Flashforge Creator 5 Pro 0.8 nozzle", + "sub_path": "machine/Flashforge Creator 5 Pro 0.8 nozzle.json" + }, { "name": "Flashforge Guider4 0.4 nozzle", "sub_path": "machine/Flashforge Guider4 0.4 nozzle.json" @@ -2970,30 +2998,6 @@ { "name": "Flashforge Guider4 Pro 0.8 HF nozzle", "sub_path": "machine/Flashforge Guider4 Pro 0.8 HF nozzle.json" - }, - { - "name": "Flashforge Creator 5 0.4 nozzle", - "sub_path": "machine/Flashforge Creator 5 0.4 nozzle.json" - }, - { - "name": "Flashforge Creator 5 0.6 nozzle", - "sub_path": "machine/Flashforge Creator 5 0.6 nozzle.json" - }, - { - "name": "Flashforge Creator 5 0.8 nozzle", - "sub_path": "machine/Flashforge Creator 5 0.8 nozzle.json" - }, - { - "name": "Flashforge Creator 5 Pro 0.4 nozzle", - "sub_path": "machine/Flashforge Creator 5 Pro 0.4 nozzle.json" - }, - { - "name": "Flashforge Creator 5 Pro 0.6 nozzle", - "sub_path": "machine/Flashforge Creator 5 Pro 0.6 nozzle.json" - }, - { - "name": "Flashforge Creator 5 Pro 0.8 nozzle", - "sub_path": "machine/Flashforge Creator 5 Pro 0.8 nozzle.json" } ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF C5.json index c968d061d0..5e8a02a397 100644 --- a/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge ABS Basic @FF C5", + "inherits": "Generic ABS @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -31,17 +36,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic ABS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge ABS Basic @FF C5", "nozzle_temperature": [ "270" ], @@ -65,6 +65,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF C5P.json index 575741dfc7..5702d2d915 100644 --- a/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge ABS Basic @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge ABS Basic @FF C5P", + "inherits": "Generic ABS @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -37,17 +42,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic ABS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge ABS Basic @FF C5P", "nozzle_temperature": [ "270" ], @@ -71,6 +71,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge ABS-GF @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge ABS-GF @FF C5.json index 3d1230c898..96d5d067d4 100644 --- a/resources/profiles/Flashforge/filament/Flashforge ABS-GF @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge ABS-GF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge ABS-GF @FF C5", + "inherits": "Generic ABS @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -37,17 +42,12 @@ "filament_type": [ "ABS-GF" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic ABS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge ABS-GF @FF C5", "nozzle_temperature": [ "270" ], @@ -71,6 +71,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge ABS-GF @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge ABS-GF @FF C5P.json index f52fcfc6bd..822e345435 100644 --- a/resources/profiles/Flashforge/filament/Flashforge ABS-GF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge ABS-GF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge ABS-GF @FF C5P", + "inherits": "Generic ABS @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -43,17 +48,12 @@ "filament_type": [ "ABS-GF" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic ABS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge ABS-GF @FF C5P", "nozzle_temperature": [ "270" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF C5.json index f026b053e3..393132a800 100644 --- a/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge ASA Basic @FF C5", + "inherits": "Generic ABS @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -34,17 +39,12 @@ "filament_type": [ "ASA" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic ABS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge ASA Basic @FF C5", "nozzle_temperature": [ "270" ], @@ -68,6 +68,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF C5P.json index c1bdeb2407..f706b524e7 100644 --- a/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge ASA Basic @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge ASA Basic @FF C5P", + "inherits": "Generic ABS @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -40,17 +45,12 @@ "filament_type": [ "ASA" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic ABS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge ASA Basic @FF C5P", "nozzle_temperature": [ "270" ], @@ -74,6 +74,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge ASA-CF @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge ASA-CF @FF C5.json index 91cb1bb3ec..71bc7aa427 100644 --- a/resources/profiles/Flashforge/filament/Flashforge ASA-CF @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge ASA-CF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge ASA-CF @FF C5", + "inherits": "Generic ABS @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -37,17 +42,12 @@ "filament_type": [ "ASA-CF" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic ABS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge ASA-CF @FF C5", "nozzle_temperature": [ "270" ], @@ -71,6 +71,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge ASA-CF @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge ASA-CF @FF C5P.json index 786ae041e4..e5f84a43d5 100644 --- a/resources/profiles/Flashforge/filament/Flashforge ASA-CF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge ASA-CF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge ASA-CF @FF C5P", + "inherits": "Generic ABS @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -43,17 +48,12 @@ "filament_type": [ "ASA-CF" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic ABS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge ASA-CF @FF C5P", "nozzle_temperature": [ "270" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge ASA-GF @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge ASA-GF @FF C5.json index 348b1e29bd..4f1df3e3c3 100644 --- a/resources/profiles/Flashforge/filament/Flashforge ASA-GF @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge ASA-GF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge ASA-GF @FF C5", + "inherits": "Generic ABS @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -37,17 +42,12 @@ "filament_type": [ "ASA-GF" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic ABS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge ASA-GF @FF C5", "nozzle_temperature": [ "270" ], @@ -71,6 +71,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge ASA-GF @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge ASA-GF @FF C5P.json index 02a0c5a05a..6cdd349d1a 100644 --- a/resources/profiles/Flashforge/filament/Flashforge ASA-GF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge ASA-GF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge ASA-GF @FF C5P", + "inherits": "Generic ABS @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -43,17 +48,12 @@ "filament_type": [ "ASA-GF" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic ABS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge ASA-GF @FF C5P", "nozzle_temperature": [ "270" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge HIPS @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge HIPS @FF C5.json index cb1bf8aa70..3120b0e017 100644 --- a/resources/profiles/Flashforge/filament/Flashforge HIPS @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge HIPS @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge HIPS @FF C5", + "inherits": "Generic HIPS @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -34,17 +39,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic HIPS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge HIPS @FF C5", "nozzle_temperature": [ "270" ], @@ -68,6 +68,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge HIPS @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge HIPS @FF C5P.json index df9269f306..78224dd1f6 100644 --- a/resources/profiles/Flashforge/filament/Flashforge HIPS @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge HIPS @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge HIPS @FF C5P", + "inherits": "Generic HIPS @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 Pro 0.4 nozzle", "Flashforge Creator 5 Pro 0.6 nozzle", @@ -34,17 +39,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic HIPS @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge HIPS @FF C5P", "nozzle_temperature": [ "270" ], @@ -68,6 +68,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF C5.json index 45183ef892..9080d0185d 100644 --- a/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge HS PETG @FF C5", + "inherits": "Generic PETG HF @System", + "from": "system", + "instantiation": "true", "close_fan_the_first_x_layers": [ "2" ], @@ -49,17 +54,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "85" ], "hot_plate_temp_initial_layer": [ "85" ], - "inherits": "Generic PETG HF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge HS PETG @FF C5", "nozzle_temperature": [ "235" ], @@ -89,6 +89,5 @@ ], "textured_plate_temp_initial_layer": [ "85" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF C5P.json index ccb435580b..de8a43145a 100644 --- a/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge HS PETG @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge HS PETG @FF C5P", + "inherits": "Generic PETG HF @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -52,17 +57,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "85" ], "hot_plate_temp_initial_layer": [ "85" ], - "inherits": "Generic PETG HF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge HS PETG @FF C5P", "nozzle_temperature": [ "235" ], @@ -92,6 +92,5 @@ ], "textured_plate_temp_initial_layer": [ "85" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF C5.json index c0f3d4b45f..5f69bbc557 100644 --- a/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge HS PLA @FF C5", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge HS PLA @FF C5", "nozzle_temperature": [ "210" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF C5P.json index 7d10c20e3d..a91076bb1f 100644 --- a/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge HS PLA @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge HS PLA @FF C5P", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,11 +51,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge HS PLA @FF C5P", "nozzle_temperature": [ "210" ], @@ -68,6 +68,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PA-CF @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PA-CF @FF C5.json index 3450226a3a..c58ad5586e 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PA-CF @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PA-CF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PA-CF @FF C5", + "inherits": "Generic PA-CF @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -19,11 +24,6 @@ "filament_start_gcode": [ "; filament start gcode\n" ], - "from": "system", - "inherits": "Generic PA-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PA-CF @FF C5", "nozzle_temperature": [ "290" ], @@ -41,6 +41,5 @@ ], "textured_cool_plate_temp_initial_layer": [ "0" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PA-CF @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PA-CF @FF C5P.json index 81731d010a..65f0cac2a8 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PA-CF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PA-CF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PA-CF @FF C5P", + "inherits": "Generic PA-CF @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -28,11 +33,6 @@ "filament_start_gcode": [ "; filament start gcode\n" ], - "from": "system", - "inherits": "Generic PA-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PA-CF @FF C5P", "nozzle_temperature": [ "290" ], @@ -50,6 +50,5 @@ ], "textured_cool_plate_temp_initial_layer": [ "0" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PAHT-CF @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PAHT-CF @FF C5.json index 57d4154a97..7d02bfecb3 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PAHT-CF @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PAHT-CF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PAHT-CF @FF C5", + "inherits": "Generic PA-CF @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -43,17 +48,12 @@ "filament_type": [ "PAHT-CF" ], - "from": "system", "hot_plate_temp": [ "80" ], "hot_plate_temp_initial_layer": [ "80" ], - "inherits": "Generic PA-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PAHT-CF @FF C5", "nozzle_temperature": [ "310" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "80" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PAHT-CF @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PAHT-CF @FF C5P.json index fd51059ca4..63ab8b0fc1 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PAHT-CF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PAHT-CF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PAHT-CF @FF C5P", + "inherits": "Generic PA-CF @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -49,17 +54,12 @@ "filament_type": [ "PAHT-CF" ], - "from": "system", "hot_plate_temp": [ "80" ], "hot_plate_temp_initial_layer": [ "80" ], - "inherits": "Generic PA-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PAHT-CF @FF C5P", "nozzle_temperature": [ "310" ], @@ -83,6 +83,5 @@ ], "textured_plate_temp_initial_layer": [ "80" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PET-CF @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PET-CF @FF C5.json index ad6dc92e5d..dc97d5fb24 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PET-CF @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PET-CF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PET-CF @FF C5", + "inherits": "Generic PETG-CF @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -49,17 +54,12 @@ "filament_type": [ "PET-CF" ], - "from": "system", "hot_plate_temp": [ "100" ], "hot_plate_temp_initial_layer": [ "100" ], - "inherits": "Generic PETG-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PET-CF @FF C5", "nozzle_temperature": [ "270" ], @@ -101,6 +101,5 @@ ], "textured_plate_temp_initial_layer": [ "100" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PET-CF @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PET-CF @FF C5P.json index a39fe33edf..581b764bf7 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PET-CF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PET-CF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PET-CF @FF C5P", + "inherits": "Generic PETG-CF @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -55,17 +60,12 @@ "filament_type": [ "PET-CF" ], - "from": "system", "hot_plate_temp": [ "100" ], "hot_plate_temp_initial_layer": [ "100" ], - "inherits": "Generic PETG-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PET-CF @FF C5P", "nozzle_temperature": [ "270" ], @@ -107,6 +107,5 @@ ], "textured_plate_temp_initial_layer": [ "100" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF C5.json index 2c5c05a302..45550b6593 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PETG Pro @FF C5", + "inherits": "Generic PETG @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "85" ], "hot_plate_temp_initial_layer": [ "85" ], - "inherits": "Generic PETG @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PETG Pro @FF C5", "overhang_fan_speed": [ "90" ], @@ -83,6 +83,5 @@ ], "textured_plate_temp_initial_layer": [ "85" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF C5P.json index 6c24e2d984..db7f2ba5f9 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Pro @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PETG Pro @FF C5P", + "inherits": "Generic PETG @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,17 +51,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "85" ], "hot_plate_temp_initial_layer": [ "85" ], - "inherits": "Generic PETG @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PETG Pro @FF C5P", "overhang_fan_speed": [ "90" ], @@ -86,6 +86,5 @@ ], "textured_plate_temp_initial_layer": [ "85" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF C5.json index f6c13784cc..b45e1bcf78 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PETG Transparent @FF C5", + "inherits": "Generic PETG @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "85" ], "hot_plate_temp_initial_layer": [ "85" ], - "inherits": "Generic PETG @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PETG Transparent @FF C5", "overhang_fan_speed": [ "90" ], @@ -83,6 +83,5 @@ ], "textured_plate_temp_initial_layer": [ "85" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF C5P.json index fa89020acf..cadd737312 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PETG Transparent @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PETG Transparent @FF C5P", + "inherits": "Generic PETG @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,17 +51,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "85" ], "hot_plate_temp_initial_layer": [ "85" ], - "inherits": "Generic PETG @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PETG Transparent @FF C5P", "overhang_fan_speed": [ "90" ], @@ -86,6 +86,5 @@ ], "textured_plate_temp_initial_layer": [ "85" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF C5.json index e75db4d5cb..8ffc379fbd 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PETG-CF @FF C5", + "inherits": "Generic PETG-CF @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -46,17 +51,12 @@ "filament_type": [ "PETG-CF" ], - "from": "system", "hot_plate_temp": [ "85" ], "hot_plate_temp_initial_layer": [ "85" ], - "inherits": "Generic PETG-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PETG-CF @FF C5", "nozzle_temperature": [ "250" ], @@ -86,6 +86,5 @@ ], "textured_plate_temp_initial_layer": [ "85" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF C5P.json index 5457bc7ffd..9b025a5485 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PETG-CF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PETG-CF @FF C5P", + "inherits": "Generic PETG-CF @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 Pro 0.4 nozzle", "Flashforge Creator 5 Pro 0.6 nozzle", @@ -46,17 +51,12 @@ "filament_type": [ "PETG-CF" ], - "from": "system", "hot_plate_temp": [ "85" ], "hot_plate_temp_initial_layer": [ "85" ], - "inherits": "Generic PETG-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PETG-CF @FF C5P", "nozzle_temperature": [ "250" ], @@ -86,6 +86,5 @@ ], "textured_plate_temp_initial_layer": [ "85" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF C5.json index 6146d89bb1..d3c8f3cd53 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Matte @FF C5", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Matte @FF C5", "nozzle_temperature": [ "210" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF C5P.json index c57402a114..b2dd3dd2c3 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Matte @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Matte @FF C5P", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,11 +51,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Matte @FF C5P", "nozzle_temperature": [ "210" ], @@ -68,6 +68,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF C5.json index 97cb1c789f..2223ad18ed 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Metal @FF C5", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Metal @FF C5", "pressure_advance": [ "0.025" ], @@ -74,6 +74,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF C5P.json index 4d3ffe0551..2a3b4cc0a5 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Metal @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Metal @FF C5P", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,11 +51,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Metal @FF C5P", "pressure_advance": [ "0.025" ], @@ -65,6 +65,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF C5.json index be7f2c551f..ff5499d3ea 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Pro @FF C5", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Pro @FF C5", "nozzle_temperature": [ "210" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF C5P.json index c8f91848b9..391dc6956c 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Pro @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Pro @FF C5P", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,11 +51,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Pro @FF C5P", "nozzle_temperature": [ "210" ], @@ -68,6 +68,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF C5.json index 69225281e2..7b1d2a8cd0 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Basic @FF C5", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -79,17 +84,12 @@ "filament_unloading_speed_start": [ "30" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Basic @FF C5", "nozzle_temperature": [ "210" ], @@ -113,6 +113,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF C5P.json index 56af8d423e..5b4318ff48 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Basic @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Basic @FF C5P", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,11 +51,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Basic @FF C5P", "nozzle_temperature": [ "210" ], @@ -68,6 +68,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF C5.json index 7de6428c4b..ec44796d82 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Color Change @FF C5", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Color Change @FF C5", "nozzle_temperature": [ "210" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF C5P.json index f904a39664..66aa7e4aa7 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Color Change @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Color Change @FF C5P", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,11 +51,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Color Change @FF C5P", "nozzle_temperature": [ "210" ], @@ -68,6 +68,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF C5.json index cdd5c77596..0d334c8340 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Galaxy @FF C5", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Galaxy @FF C5", "nozzle_temperature": [ "210" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF C5P.json index 8eb54c6878..83018f8a0f 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Galaxy @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Galaxy @FF C5P", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,11 +51,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Galaxy @FF C5P", "nozzle_temperature": [ "210" ], @@ -68,6 +68,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF C5.json index f1df56198c..71702bc1db 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Luminous @FF C5", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Luminous @FF C5", "nozzle_temperature": [ "210" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF C5P.json index bc42abfb94..2da74bbfac 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Luminous @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Luminous @FF C5P", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,11 +51,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Luminous @FF C5P", "nozzle_temperature": [ "210" ], @@ -68,6 +68,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF C5.json index 56bfa0073c..f038743ded 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Silk @FF C5", + "inherits": "Generic PLA Silk @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -49,17 +54,12 @@ "filament_type": [ "SILK" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA Silk @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Silk @FF C5", "nozzle_temperature": [ "230" ], @@ -80,6 +80,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF C5P.json index ab4c8e146d..3216d5dbf9 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA Silk @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA Silk @FF C5P", + "inherits": "Generic PLA Silk @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -52,11 +57,6 @@ "filament_type": [ "SILK" ], - "from": "system", - "inherits": "Generic PLA Silk @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA Silk @FF C5P", "nozzle_temperature": [ "230" ], @@ -71,6 +71,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF C5.json index 88ba85c433..811b8c1a61 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA-CF @FF C5", + "inherits": "Generic PLA-CF @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA-CF @FF C5", "pressure_advance": [ "0.0225" ], @@ -74,6 +74,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF C5P.json index 20a13f620d..79ff969101 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA-CF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PLA-CF @FF C5P", + "inherits": "Generic PLA-CF @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,11 +51,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", - "inherits": "Generic PLA-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PLA-CF @FF C5P", "pressure_advance": [ "0.0225" ], @@ -65,6 +65,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PPA-CF @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PPA-CF @FF C5.json index b0a8031a82..729ed514fe 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PPA-CF @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PPA-CF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PPA-CF @FF C5", + "inherits": "Generic PPA-GF @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -22,16 +27,10 @@ "filament_type": [ "PPA-CF" ], - "from": "system", - "inherits": "Generic PPA-GF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PPA-CF @FF C5", "textured_cool_plate_temp": [ "0" ], "textured_cool_plate_temp_initial_layer": [ "0" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PPA-CF @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PPA-CF @FF C5P.json index e7150739f1..f1c1fe9b34 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PPA-CF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PPA-CF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PPA-CF @FF C5P", + "inherits": "Generic PPA-GF @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -28,16 +33,10 @@ "filament_type": [ "PPA-CF" ], - "from": "system", - "inherits": "Generic PPA-GF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PPA-CF @FF C5P", "textured_cool_plate_temp": [ "0" ], "textured_cool_plate_temp_initial_layer": [ "0" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PPS-CF @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PPS-CF @FF C5.json index 63d9812044..b3dd501dce 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PPS-CF @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PPS-CF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PPS-CF @FF C5", + "inherits": "Generic PPA-GF @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -34,17 +39,12 @@ "filament_type": [ "PPS-CF" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic PPA-GF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PPS-CF @FF C5", "nozzle_temperature": [ "320" ], @@ -68,6 +68,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PPS-CF @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PPS-CF @FF C5P.json index bdfe15555e..5a0b980d5d 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PPS-CF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PPS-CF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PPS-CF @FF C5P", + "inherits": "Generic PPA-GF @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -40,17 +45,12 @@ "filament_type": [ "PPS-CF" ], - "from": "system", "hot_plate_temp": [ "110" ], "hot_plate_temp_initial_layer": [ "110" ], - "inherits": "Generic PPA-GF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PPS-CF @FF C5P", "nozzle_temperature": [ "320" ], @@ -74,6 +74,5 @@ ], "textured_plate_temp_initial_layer": [ "110" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PVA @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge PVA @FF C5.json index e8e43d8587..a9919871d1 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PVA @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge PVA @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PVA @FF C5", + "inherits": "Generic PVA @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -46,17 +51,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "60" ], "hot_plate_temp_initial_layer": [ "60" ], - "inherits": "Generic PVA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PVA @FF C5", "nozzle_temperature": [ "240" ], @@ -83,6 +83,5 @@ ], "textured_plate_temp_initial_layer": [ "60" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PVA @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge PVA @FF C5P.json index acf26323fd..2a2a042ba4 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PVA @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge PVA @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge PVA @FF C5P", + "inherits": "Generic PVA @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -49,17 +54,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "60" ], "hot_plate_temp_initial_layer": [ "60" ], - "inherits": "Generic PVA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge PVA @FF C5P", "nozzle_temperature": [ "240" ], @@ -86,6 +86,5 @@ ], "textured_plate_temp_initial_layer": [ "60" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge TPU-64D @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge TPU-64D @FF C5.json index ff059df85b..429b615021 100644 --- a/resources/profiles/Flashforge/filament/Flashforge TPU-64D @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge TPU-64D @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge TPU-64D @FF C5", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -52,7 +57,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-64D" ], @@ -62,10 +66,6 @@ "hot_plate_temp_initial_layer": [ "40" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge TPU-64D @FF C5", "nozzle_temperature": [ "230" ], @@ -101,6 +101,5 @@ ], "textured_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge TPU-64D @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge TPU-64D @FF C5P.json index c0e82895a0..1268b7f71c 100644 --- a/resources/profiles/Flashforge/filament/Flashforge TPU-64D @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge TPU-64D @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge TPU-64D @FF C5P", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -55,14 +60,9 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-64D" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge TPU-64D @FF C5P", "nozzle_temperature": [ "230" ], @@ -92,6 +92,5 @@ ], "textured_cool_plate_temp_initial_layer": [ "35" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge TPU-90A @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge TPU-90A @FF C5.json index 1d7ab71d48..23e5178dcf 100644 --- a/resources/profiles/Flashforge/filament/Flashforge TPU-90A @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge TPU-90A @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge TPU-90A @FF C5", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -49,7 +54,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-90A" ], @@ -59,10 +63,6 @@ "hot_plate_temp_initial_layer": [ "40" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge TPU-90A @FF C5", "nozzle_temperature": [ "230" ], @@ -98,6 +98,5 @@ ], "textured_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge TPU-90A @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge TPU-90A @FF C5P.json index 12f27b5fe3..7e8b19044a 100644 --- a/resources/profiles/Flashforge/filament/Flashforge TPU-90A @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge TPU-90A @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge TPU-90A @FF C5P", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -52,7 +57,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-90A" ], @@ -62,10 +66,6 @@ "hot_plate_temp_initial_layer": [ "40" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge TPU-90A @FF C5P", "nozzle_temperature": [ "230" ], @@ -101,6 +101,5 @@ ], "textured_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge TPU-95A @FF C5.json b/resources/profiles/Flashforge/filament/Flashforge TPU-95A @FF C5.json index aff2e2515b..26f22d1c3e 100644 --- a/resources/profiles/Flashforge/filament/Flashforge TPU-95A @FF C5.json +++ b/resources/profiles/Flashforge/filament/Flashforge TPU-95A @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge TPU-95A @FF C5", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -52,7 +57,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-95A" ], @@ -62,10 +66,6 @@ "hot_plate_temp_initial_layer": [ "40" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge TPU-95A @FF C5", "nozzle_temperature": [ "230" ], @@ -101,6 +101,5 @@ ], "textured_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge TPU-95A @FF C5P.json b/resources/profiles/Flashforge/filament/Flashforge TPU-95A @FF C5P.json index 167761c85e..ae7b0a0440 100644 --- a/resources/profiles/Flashforge/filament/Flashforge TPU-95A @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Flashforge TPU-95A @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Flashforge TPU-95A @FF C5P", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -58,11 +63,6 @@ "filament_type": [ "TPU-95A" ], - "from": "system", - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Flashforge TPU-95A @FF C5P", "nozzle_temperature": [ "230" ], @@ -92,6 +92,5 @@ ], "textured_cool_plate_temp_initial_layer": [ "35" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/FusRock PAHT-CF @FF C5.json b/resources/profiles/Flashforge/filament/FusRock PAHT-CF @FF C5.json index d6174a7f7b..59f426577b 100644 --- a/resources/profiles/Flashforge/filament/FusRock PAHT-CF @FF C5.json +++ b/resources/profiles/Flashforge/filament/FusRock PAHT-CF @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "FusRock PAHT-CF @FF C5", + "inherits": "Generic PA-CF @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -43,17 +48,12 @@ "filament_type": [ "PAHT-CF" ], - "from": "system", "hot_plate_temp": [ "80" ], "hot_plate_temp_initial_layer": [ "80" ], - "inherits": "Generic PA-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "FusRock PAHT-CF @FF C5", "nozzle_temperature": [ "310" ], @@ -77,6 +77,5 @@ ], "textured_plate_temp_initial_layer": [ "80" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/FusRock PAHT-CF @FF C5P.json b/resources/profiles/Flashforge/filament/FusRock PAHT-CF @FF C5P.json index e192d805e6..f12b431895 100644 --- a/resources/profiles/Flashforge/filament/FusRock PAHT-CF @FF C5P.json +++ b/resources/profiles/Flashforge/filament/FusRock PAHT-CF @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "FusRock PAHT-CF @FF C5P", + "inherits": "Generic PA-CF @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -49,17 +54,12 @@ "filament_type": [ "PAHT-CF" ], - "from": "system", "hot_plate_temp": [ "80" ], "hot_plate_temp_initial_layer": [ "80" ], - "inherits": "Generic PA-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "FusRock PAHT-CF @FF C5P", "nozzle_temperature": [ "310" ], @@ -83,6 +83,5 @@ ], "textured_plate_temp_initial_layer": [ "80" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/FusRock S-Multi @FF C5.json b/resources/profiles/Flashforge/filament/FusRock S-Multi @FF C5.json index 18bb30c3f6..b4607c6962 100644 --- a/resources/profiles/Flashforge/filament/FusRock S-Multi @FF C5.json +++ b/resources/profiles/Flashforge/filament/FusRock S-Multi @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "FusRock S-Multi @FF C5", + "inherits": "Generic PETG-CF @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -52,11 +57,6 @@ "filament_type": [ "S-Multi" ], - "from": "system", - "inherits": "Generic PETG-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "FusRock S-Multi @FF C5", "nozzle_temperature": [ "280" ], @@ -92,6 +92,5 @@ ], "textured_cool_plate_temp_initial_layer": [ "0" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/FusRock S-Multi @FF C5P.json b/resources/profiles/Flashforge/filament/FusRock S-Multi @FF C5P.json index 2d01387e08..f0ce99f275 100644 --- a/resources/profiles/Flashforge/filament/FusRock S-Multi @FF C5P.json +++ b/resources/profiles/Flashforge/filament/FusRock S-Multi @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "FusRock S-Multi @FF C5P", + "inherits": "Generic PETG-CF @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -58,11 +63,6 @@ "filament_type": [ "S-Multi" ], - "from": "system", - "inherits": "Generic PETG-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "FusRock S-Multi @FF C5P", "nozzle_temperature": [ "280" ], @@ -98,6 +98,5 @@ ], "textured_cool_plate_temp_initial_layer": [ "0" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/FusRock S-PAHT @FF C5.json b/resources/profiles/Flashforge/filament/FusRock S-PAHT @FF C5.json index 9d135b9a47..28129198fd 100644 --- a/resources/profiles/Flashforge/filament/FusRock S-PAHT @FF C5.json +++ b/resources/profiles/Flashforge/filament/FusRock S-PAHT @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "FusRock S-PAHT @FF C5", + "inherits": "Generic PA-CF @System", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 0.6 nozzle", @@ -46,17 +51,12 @@ "filament_type": [ "S-PAHT" ], - "from": "system", "hot_plate_temp": [ "80" ], "hot_plate_temp_initial_layer": [ "80" ], - "inherits": "Generic PA-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "FusRock S-PAHT @FF C5", "nozzle_temperature_range_high": [ "280" ], @@ -74,6 +74,5 @@ ], "textured_plate_temp_initial_layer": [ "80" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/FusRock S-PAHT @FF C5P.json b/resources/profiles/Flashforge/filament/FusRock S-PAHT @FF C5P.json index 71168d5478..e10d36f4d9 100644 --- a/resources/profiles/Flashforge/filament/FusRock S-PAHT @FF C5P.json +++ b/resources/profiles/Flashforge/filament/FusRock S-PAHT @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "FusRock S-PAHT @FF C5P", + "inherits": "Generic PA-CF @System", + "from": "system", + "instantiation": "true", "activate_chamber_temp_control": [ "1" ], @@ -52,17 +57,12 @@ "filament_type": [ "S-PAHT" ], - "from": "system", "hot_plate_temp": [ "80" ], "hot_plate_temp_initial_layer": [ "80" ], - "inherits": "Generic PA-CF @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "FusRock S-PAHT @FF C5P", "nozzle_temperature_range_high": [ "280" ], @@ -80,6 +80,5 @@ ], "textured_plate_temp_initial_layer": [ "80" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic BVOH @FF C5.json b/resources/profiles/Flashforge/filament/Generic BVOH @FF C5.json index 8fad84d066..aa49b32140 100644 --- a/resources/profiles/Flashforge/filament/Generic BVOH @FF C5.json +++ b/resources/profiles/Flashforge/filament/Generic BVOH @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic BVOH @FF C5", + "inherits": "Generic BVOH @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -40,17 +45,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "60" ], "hot_plate_temp_initial_layer": [ "60" ], - "inherits": "Generic BVOH @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic BVOH @FF C5", "pressure_advance": [ "0.0225" ], @@ -68,6 +68,5 @@ ], "textured_plate_temp_initial_layer": [ "60" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic BVOH @FF C5P.json b/resources/profiles/Flashforge/filament/Generic BVOH @FF C5P.json index 3051872ad4..a1ed3fc676 100644 --- a/resources/profiles/Flashforge/filament/Generic BVOH @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Generic BVOH @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic BVOH @FF C5P", + "inherits": "Generic BVOH @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -43,17 +48,12 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "hot_plate_temp": [ "60" ], "hot_plate_temp_initial_layer": [ "60" ], - "inherits": "Generic BVOH @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic BVOH @FF C5P", "pressure_advance": [ "0.0225" ], @@ -68,6 +68,5 @@ ], "textured_plate_temp": [ "60" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic PLA @FF C5.json b/resources/profiles/Flashforge/filament/Generic PLA @FF C5.json index 2d96efda81..33b1fda520 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA @FF C5.json +++ b/resources/profiles/Flashforge/filament/Generic PLA @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic PLA @FF C5", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -79,17 +84,12 @@ "filament_unloading_speed_start": [ "30" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic PLA @FF C5", "nozzle_temperature": [ "210" ], @@ -113,6 +113,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic PLA @FF C5P.json b/resources/profiles/Flashforge/filament/Generic PLA @FF C5P.json index bc17ef43e0..046f966eb8 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Generic PLA @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic PLA @FF C5P", + "inherits": "Generic PLA @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -46,11 +51,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", - "inherits": "Generic PLA @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic PLA @FF C5P", "nozzle_temperature": [ "210" ], @@ -68,6 +68,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic PLA Silk @FF C5.json b/resources/profiles/Flashforge/filament/Generic PLA Silk @FF C5.json index 99cd9f1e7d..7e8a2939e4 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA Silk @FF C5.json +++ b/resources/profiles/Flashforge/filament/Generic PLA Silk @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic PLA Silk @FF C5", + "inherits": "Generic PLA Silk @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -49,17 +54,12 @@ "filament_type": [ "SILK" ], - "from": "system", "hot_plate_temp": [ "65" ], "hot_plate_temp_initial_layer": [ "65" ], - "inherits": "Generic PLA Silk @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic PLA Silk @FF C5", "nozzle_temperature": [ "230" ], @@ -80,6 +80,5 @@ ], "textured_plate_temp_initial_layer": [ "65" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic PLA Silk @FF C5P.json b/resources/profiles/Flashforge/filament/Generic PLA Silk @FF C5P.json index ffcd898492..9bb4eca535 100644 --- a/resources/profiles/Flashforge/filament/Generic PLA Silk @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Generic PLA Silk @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic PLA Silk @FF C5P", + "inherits": "Generic PLA Silk @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -52,11 +57,6 @@ "filament_type": [ "SILK" ], - "from": "system", - "inherits": "Generic PLA Silk @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic PLA Silk @FF C5P", "nozzle_temperature": [ "230" ], @@ -71,6 +71,5 @@ ], "supertack_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic TPU-64D @FF C5.json b/resources/profiles/Flashforge/filament/Generic TPU-64D @FF C5.json index 0af57da795..52ff5a781b 100644 --- a/resources/profiles/Flashforge/filament/Generic TPU-64D @FF C5.json +++ b/resources/profiles/Flashforge/filament/Generic TPU-64D @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic TPU-64D @FF C5", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -52,7 +57,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-64D" ], @@ -62,10 +66,6 @@ "hot_plate_temp_initial_layer": [ "40" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic TPU-64D @FF C5", "nozzle_temperature": [ "230" ], @@ -101,6 +101,5 @@ ], "textured_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic TPU-64D @FF C5P.json b/resources/profiles/Flashforge/filament/Generic TPU-64D @FF C5P.json index 3a495efe00..ac2c137b8e 100644 --- a/resources/profiles/Flashforge/filament/Generic TPU-64D @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Generic TPU-64D @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic TPU-64D @FF C5P", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -55,14 +60,9 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-64D" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic TPU-64D @FF C5P", "nozzle_temperature": [ "230" ], @@ -92,6 +92,5 @@ ], "textured_cool_plate_temp_initial_layer": [ "35" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic TPU-90A @FF C5.json b/resources/profiles/Flashforge/filament/Generic TPU-90A @FF C5.json index 94bf73abcf..14010fffa7 100644 --- a/resources/profiles/Flashforge/filament/Generic TPU-90A @FF C5.json +++ b/resources/profiles/Flashforge/filament/Generic TPU-90A @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic TPU-90A @FF C5", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -49,7 +54,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-90A" ], @@ -59,10 +63,6 @@ "hot_plate_temp_initial_layer": [ "40" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic TPU-90A @FF C5", "nozzle_temperature": [ "230" ], @@ -98,6 +98,5 @@ ], "textured_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic TPU-90A @FF C5P.json b/resources/profiles/Flashforge/filament/Generic TPU-90A @FF C5P.json index d27531402f..c02fac4cbe 100644 --- a/resources/profiles/Flashforge/filament/Generic TPU-90A @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Generic TPU-90A @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic TPU-90A @FF C5P", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -52,14 +57,9 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-90A" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic TPU-90A @FF C5P", "nozzle_temperature": [ "230" ], @@ -89,6 +89,5 @@ ], "textured_cool_plate_temp_initial_layer": [ "35" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic TPU-95A @FF C5.json b/resources/profiles/Flashforge/filament/Generic TPU-95A @FF C5.json index 2f62a048c8..e9e53a0890 100644 --- a/resources/profiles/Flashforge/filament/Generic TPU-95A @FF C5.json +++ b/resources/profiles/Flashforge/filament/Generic TPU-95A @FF C5.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic TPU-95A @FF C5", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "additional_cooling_fan_speed": [ "40" ], @@ -52,7 +57,6 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-95A" ], @@ -62,10 +66,6 @@ "hot_plate_temp_initial_layer": [ "40" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic TPU-95A @FF C5", "nozzle_temperature": [ "230" ], @@ -101,6 +101,5 @@ ], "textured_plate_temp_initial_layer": [ "40" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/filament/Generic TPU-95A @FF C5P.json b/resources/profiles/Flashforge/filament/Generic TPU-95A @FF C5P.json index f5c8532ed6..aaa43fac52 100644 --- a/resources/profiles/Flashforge/filament/Generic TPU-95A @FF C5P.json +++ b/resources/profiles/Flashforge/filament/Generic TPU-95A @FF C5P.json @@ -1,4 +1,9 @@ { + "type": "filament", + "name": "Generic TPU-95A @FF C5P", + "inherits": "Generic TPU @System", + "from": "system", + "instantiation": "true", "activate_air_filtration": [ "1" ], @@ -55,14 +60,9 @@ "filament_start_gcode": [ "; filament start gcode" ], - "from": "system", "filament_type": [ "TPU-95A" ], - "inherits": "Generic TPU @System", - "instantiation": "true", - "is_custom_defined": "0", - "name": "Generic TPU-95A @FF C5P", "nozzle_temperature": [ "230" ], @@ -92,6 +92,5 @@ ], "textured_cool_plate_temp_initial_layer": [ "35" - ], - "version": "2.3.0.3" + ] } diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.4 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.4 nozzle.json index 9dda6e29d5..333694e1b0 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.4 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.4 nozzle.json @@ -1,6 +1,10 @@ { "type": "machine", + "name": "Flashforge Creator 5 0.4 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", + "from": "system", "setting_id": "GM001", + "instantiation": "true", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "1", "bbl_use_printhost": "0", @@ -52,14 +56,10 @@ "fan_kickstart": "0", "fan_speedup_overhangs": "1", "fan_speedup_time": "0", - "from": "system", "gcode_flavor": "klipper", "head_wrap_detect_zone": [], "high_current_on_filament_swap": "0", "host_type": "octoprint", - "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", - "instantiation": "true", - "is_custom_defined": "0", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "long_retractions_when_cut": [ "0", @@ -160,7 +160,6 @@ "0.08" ], "min_resonance_avoidance_speed": "70", - "name": "Flashforge Creator 5 0.4 nozzle", "nozzle_diameter": [ "0.4", "0.4", @@ -284,7 +283,6 @@ "upward_compatible_machine": [], "use_firmware_retraction": "0", "use_relative_e_distances": "1", - "version": "2.1.1.0", "wipe": [ "1", "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.6 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.6 nozzle.json index dba82cc8a9..a90a6379f3 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.6 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.6 nozzle.json @@ -1,6 +1,10 @@ { "type": "machine", + "name": "Flashforge Creator 5 0.6 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", + "from": "system", "setting_id": "GM001", + "instantiation": "true", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "1", "bbl_use_printhost": "0", @@ -52,15 +56,10 @@ "fan_kickstart": "0", "fan_speedup_overhangs": "1", "fan_speedup_time": "0", - "from": "system", "gcode_flavor": "klipper", - "head_wrap_detect_zone": [ - ], + "head_wrap_detect_zone": [], "high_current_on_filament_swap": "0", "host_type": "octoprint", - "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", - "instantiation": "true", - "is_custom_defined": "0", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "long_retractions_when_cut": [ "0", @@ -161,7 +160,6 @@ "0.08" ], "min_resonance_avoidance_speed": "70", - "name": "Flashforge Creator 5 0.6 nozzle", "nozzle_diameter": [ "0.6", "0.6", @@ -282,11 +280,9 @@ "3", "3" ], - "upward_compatible_machine": [ - ], + "upward_compatible_machine": [], "use_firmware_retraction": "0", "use_relative_e_distances": "1", - "version": "2.1.1.0", "wipe": [ "1", "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.8 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.8 nozzle.json index 429559534e..ed2e762094 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.8 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 0.8 nozzle.json @@ -1,4 +1,9 @@ { + "type": "machine", + "name": "Flashforge Creator 5 0.8 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "1", "bbl_use_printhost": "0", @@ -50,15 +55,10 @@ "fan_kickstart": "0", "fan_speedup_overhangs": "1", "fan_speedup_time": "0", - "from": "system", "gcode_flavor": "klipper", - "head_wrap_detect_zone": [ - ], + "head_wrap_detect_zone": [], "high_current_on_filament_swap": "0", "host_type": "octoprint", - "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", - "instantiation": "true", - "is_custom_defined": "0", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "long_retractions_when_cut": [ "0", @@ -159,7 +159,6 @@ "0.08" ], "min_resonance_avoidance_speed": "70", - "name": "Flashforge Creator 5 0.8 nozzle", "nozzle_diameter": [ "0.8", "0.8", @@ -280,11 +279,9 @@ "3", "3" ], - "upward_compatible_machine": [ - ], + "upward_compatible_machine": [], "use_firmware_retraction": "0", "use_relative_e_distances": "1", - "version": "2.1.1.0", "wipe": [ "1", "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.4 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.4 nozzle.json index f805363cfb..589c1f5a02 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.4 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.4 nozzle.json @@ -1,4 +1,9 @@ { + "type": "machine", + "name": "Flashforge Creator 5 Pro 0.4 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "1", "bbl_use_printhost": "0", @@ -50,14 +55,10 @@ "fan_kickstart": "0", "fan_speedup_overhangs": "1", "fan_speedup_time": "0", - "from": "system", "gcode_flavor": "klipper", "head_wrap_detect_zone": [], "high_current_on_filament_swap": "0", "host_type": "octoprint", - "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", - "instantiation": "true", - "is_custom_defined": "0", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "long_retractions_when_cut": [ "0", @@ -158,7 +159,6 @@ "0.08" ], "min_resonance_avoidance_speed": "70", - "name": "Flashforge Creator 5 Pro 0.4 nozzle", "nozzle_diameter": [ "0.4", "0.4", @@ -282,7 +282,6 @@ "upward_compatible_machine": [], "use_firmware_retraction": "0", "use_relative_e_distances": "1", - "version": "2.1.1.0", "wipe": [ "1", "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.6 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.6 nozzle.json index 07243946f1..416f3545e2 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.6 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.6 nozzle.json @@ -1,4 +1,9 @@ { + "type": "machine", + "name": "Flashforge Creator 5 Pro 0.6 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "1", "bbl_use_printhost": "0", @@ -50,15 +55,10 @@ "fan_kickstart": "0", "fan_speedup_overhangs": "1", "fan_speedup_time": "0", - "from": "system", "gcode_flavor": "klipper", - "head_wrap_detect_zone": [ - ], + "head_wrap_detect_zone": [], "high_current_on_filament_swap": "0", "host_type": "octoprint", - "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", - "instantiation": "true", - "is_custom_defined": "0", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "long_retractions_when_cut": [ "0", @@ -159,7 +159,6 @@ "0.08" ], "min_resonance_avoidance_speed": "70", - "name": "Flashforge Creator 5 Pro 0.6 nozzle", "nozzle_diameter": [ "0.6", "0.6", @@ -280,11 +279,9 @@ "3", "3" ], - "upward_compatible_machine": [ - ], + "upward_compatible_machine": [], "use_firmware_retraction": "0", "use_relative_e_distances": "1", - "version": "2.1.1.0", "wipe": [ "1", "1", diff --git a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.8 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.8 nozzle.json index fb1bf11248..d72e8c892c 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.8 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Creator 5 Pro 0.8 nozzle.json @@ -1,4 +1,9 @@ { + "type": "machine", + "name": "Flashforge Creator 5 Pro 0.8 nozzle", + "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "adaptive_bed_mesh_margin": "0", "auxiliary_fan": "1", "bbl_use_printhost": "0", @@ -50,15 +55,10 @@ "fan_kickstart": "0", "fan_speedup_overhangs": "1", "fan_speedup_time": "0", - "from": "system", "gcode_flavor": "klipper", - "head_wrap_detect_zone": [ - ], + "head_wrap_detect_zone": [], "high_current_on_filament_swap": "0", "host_type": "octoprint", - "inherits": "Flashforge Adventurer 5M Pro 0.4 Nozzle", - "instantiation": "true", - "is_custom_defined": "0", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "long_retractions_when_cut": [ "0", @@ -159,7 +159,6 @@ "0.08" ], "min_resonance_avoidance_speed": "70", - "name": "Flashforge Creator 5 Pro 0.8 nozzle", "nozzle_diameter": [ "0.8", "0.8", @@ -280,11 +279,9 @@ "3", "3" ], - "upward_compatible_machine": [ - ], + "upward_compatible_machine": [], "use_firmware_retraction": "0", "use_relative_e_distances": "1", - "version": "2.1.1.0", "wipe": [ "1", "1", diff --git a/resources/profiles/Flashforge/process/0.12mm Standard @FF C5.json b/resources/profiles/Flashforge/process/0.12mm Standard @FF C5.json index 08ccf13d19..7e982a4986 100644 --- a/resources/profiles/Flashforge/process/0.12mm Standard @FF C5.json +++ b/resources/profiles/Flashforge/process/0.12mm Standard @FF C5.json @@ -1,4 +1,9 @@ { + "type": "process", + "name": "0.12mm Standard @FF C5", + "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "bridge_speed": "35", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", @@ -10,18 +15,13 @@ "enable_prime_tower": "1", "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", "filter_out_gap_fill": "0.1", - "from": "system", "gap_fill_target": "topbottom", "infill_wall_overlap": "15%", - "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "initial_layer_print_height": "0.25", "inner_wall_acceleration": "10000", - "instantiation": "true", "internal_solid_infill_pattern": "rectilinear", - "is_custom_defined": "0", "layer_height": "0.12", "max_travel_detour_distance": "300", - "name": "0.12mm Standard @FF C5", "only_one_wall_top": "1", "ooze_prevention": "1", "overhang_1_4_speed": "50", @@ -41,7 +41,6 @@ "support_interface_spacing": "0.2", "support_top_z_distance": "0.2", "support_type": "tree(auto)", - "version": "2.1.1.0", "wipe_tower_cone_angle": "12", "wipe_tower_extra_flow": "105%", "wipe_tower_extra_rib_length": "10", diff --git a/resources/profiles/Flashforge/process/0.18mm Standard @FF C5 0.6 nozzle.json b/resources/profiles/Flashforge/process/0.18mm Standard @FF C5 0.6 nozzle.json index 2ec1a21692..c57be39241 100644 --- a/resources/profiles/Flashforge/process/0.18mm Standard @FF C5 0.6 nozzle.json +++ b/resources/profiles/Flashforge/process/0.18mm Standard @FF C5 0.6 nozzle.json @@ -1,4 +1,9 @@ { + "type": "process", + "name": "0.18mm Standard @FF C5 0.6 nozzle", + "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.6 nozzle", "Flashforge Creator 5 Pro 0.6 nozzle" @@ -8,11 +13,9 @@ "enable_prime_tower": "1", "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", "filter_out_gap_fill": "0.1", - "from": "system", "gap_fill_target": "topbottom", "gap_infill_speed": "150", "infill_wall_overlap": "15%", - "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "initial_layer_infill_speed": "55", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", @@ -20,15 +23,12 @@ "inner_wall_acceleration": "10000", "inner_wall_line_width": "0.62", "inner_wall_speed": "150", - "instantiation": "true", "internal_solid_infill_line_width": "0.62", "internal_solid_infill_pattern": "rectilinear", "internal_solid_infill_speed": "150", - "is_custom_defined": "0", "layer_height": "0.18", "line_width": "0.62", "max_travel_detour_distance": "300", - "name": "0.18mm Standard @FF C5 0.6 nozzle", "only_one_wall_top": "1", "ooze_prevention": "1", "outer_wall_line_width": "0.62", @@ -55,7 +55,6 @@ "top_shell_layers": "3", "top_surface_line_width": "0.62", "top_surface_speed": "150", - "version": "2.1.1.0", "wipe_tower_cone_angle": "12", "wipe_tower_extra_rib_length": "10", "wipe_tower_extra_spacing": "120%", diff --git a/resources/profiles/Flashforge/process/0.20mm Standard @FF C5.json b/resources/profiles/Flashforge/process/0.20mm Standard @FF C5.json index f740a590b7..a24ace1fa4 100644 --- a/resources/profiles/Flashforge/process/0.20mm Standard @FF C5.json +++ b/resources/profiles/Flashforge/process/0.20mm Standard @FF C5.json @@ -1,4 +1,9 @@ { + "type": "process", + "name": "0.20mm Standard @FF C5", + "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", "Flashforge Creator 5 Pro 0.4 nozzle" @@ -9,17 +14,12 @@ "enable_prime_tower": "1", "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", "filter_out_gap_fill": "0.1", - "from": "system", "gap_fill_target": "topbottom", "infill_wall_overlap": "15%", - "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "initial_layer_print_height": "0.25", "inner_wall_acceleration": "10000", - "instantiation": "true", "internal_solid_infill_pattern": "rectilinear", - "is_custom_defined": "0", "max_travel_detour_distance": "300", - "name": "0.20mm Standard @FF C5", "only_one_wall_top": "1", "ooze_prevention": "1", "overhang_1_4_speed": "50", @@ -40,7 +40,6 @@ "support_interface_spacing": "0.2", "support_top_z_distance": "0.2", "support_type": "tree(auto)", - "version": "2.1.1.0", "wipe_tower_cone_angle": "12", "wipe_tower_extra_rib_length": "10", "wipe_tower_extra_spacing": "120%", diff --git a/resources/profiles/Flashforge/process/0.24mm Standard @FF C5.json b/resources/profiles/Flashforge/process/0.24mm Standard @FF C5.json index 5a59cd51d5..a701add8fa 100644 --- a/resources/profiles/Flashforge/process/0.24mm Standard @FF C5.json +++ b/resources/profiles/Flashforge/process/0.24mm Standard @FF C5.json @@ -1,4 +1,9 @@ { + "type": "process", + "name": "0.24mm Standard @FF C5", + "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "bridge_speed": "35", "compatible_printers": [ "Flashforge Creator 5 0.4 nozzle", @@ -10,20 +15,15 @@ "enable_prime_tower": "1", "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", "filter_out_gap_fill": "0.1", - "from": "system", "gap_fill_target": "topbottom", "infill_wall_overlap": "15%", - "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "initial_layer_print_height": "0.25", "inner_wall_acceleration": "10000", "inner_wall_speed": "230", - "instantiation": "true", "internal_solid_infill_pattern": "rectilinear", "internal_solid_infill_speed": "230", - "is_custom_defined": "0", "layer_height": "0.24", "max_travel_detour_distance": "300", - "name": "0.24mm Standard @FF C5", "only_one_wall_top": "1", "ooze_prevention": "1", "overhang_1_4_speed": "50", @@ -44,7 +44,6 @@ "support_interface_spacing": "0.2", "support_top_z_distance": "0.2", "support_type": "tree(auto)", - "version": "2.1.1.0", "wipe_tower_cone_angle": "12", "wipe_tower_extra_rib_length": "10", "wipe_tower_extra_spacing": "120%", diff --git a/resources/profiles/Flashforge/process/0.30mm Standard @FF C5 0.6 nozzle.json b/resources/profiles/Flashforge/process/0.30mm Standard @FF C5 0.6 nozzle.json index 1db533beb4..07500f7c66 100644 --- a/resources/profiles/Flashforge/process/0.30mm Standard @FF C5 0.6 nozzle.json +++ b/resources/profiles/Flashforge/process/0.30mm Standard @FF C5 0.6 nozzle.json @@ -1,4 +1,9 @@ { + "type": "process", + "name": "0.30mm Standard @FF C5 0.6 nozzle", + "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.6 nozzle", "Flashforge Creator 5 Pro 0.6 nozzle" @@ -8,11 +13,9 @@ "enable_prime_tower": "1", "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", "filter_out_gap_fill": "0.1", - "from": "system", "gap_fill_target": "topbottom", "gap_infill_speed": "150", "infill_wall_overlap": "15%", - "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "initial_layer_infill_speed": "55", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", @@ -20,15 +23,12 @@ "inner_wall_acceleration": "10000", "inner_wall_line_width": "0.62", "inner_wall_speed": "150", - "instantiation": "true", "internal_solid_infill_line_width": "0.62", "internal_solid_infill_pattern": "rectilinear", "internal_solid_infill_speed": "150", - "is_custom_defined": "0", "layer_height": "0.3", "line_width": "0.62", "max_travel_detour_distance": "300", - "name": "0.30mm Standard @FF C5 0.6 nozzle", "only_one_wall_top": "1", "ooze_prevention": "1", "outer_wall_line_width": "0.62", @@ -57,7 +57,6 @@ "top_shell_layers": "3", "top_surface_line_width": "0.62", "top_surface_speed": "150", - "version": "2.1.1.0", "wipe_tower_cone_angle": "12", "wipe_tower_extra_rib_length": "10", "wipe_tower_extra_spacing": "120%", diff --git a/resources/profiles/Flashforge/process/0.32mm Standard @FF C5 0.8 nozzle.json b/resources/profiles/Flashforge/process/0.32mm Standard @FF C5 0.8 nozzle.json index c8caa9ee02..41c0d4ce18 100644 --- a/resources/profiles/Flashforge/process/0.32mm Standard @FF C5 0.8 nozzle.json +++ b/resources/profiles/Flashforge/process/0.32mm Standard @FF C5 0.8 nozzle.json @@ -1,4 +1,9 @@ { + "type": "process", + "name": "0.32mm Standard @FF C5 0.8 nozzle", + "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.6 nozzle", "Flashforge Creator 5 Pro 0.6 nozzle" @@ -8,11 +13,9 @@ "enable_prime_tower": "1", "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", "filter_out_gap_fill": "0.1", - "from": "system", "gap_fill_target": "topbottom", "gap_infill_speed": "150", "infill_wall_overlap": "15%", - "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "initial_layer_infill_speed": "55", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", @@ -20,15 +23,12 @@ "inner_wall_acceleration": "10000", "inner_wall_line_width": "0.82", "inner_wall_speed": "150", - "instantiation": "true", "internal_solid_infill_line_width": "0.82", "internal_solid_infill_pattern": "rectilinear", "internal_solid_infill_speed": "150", - "is_custom_defined": "0", "layer_height": "0.32", "line_width": "0.82", "max_travel_detour_distance": "300", - "name": "0.32mm Standard @FF C5 0.8 nozzle", "only_one_wall_top": "1", "ooze_prevention": "1", "outer_wall_line_width": "0.82", @@ -58,7 +58,6 @@ "top_shell_layers": "3", "top_surface_line_width": "0.82", "top_surface_speed": "150", - "version": "2.1.1.0", "wipe_tower_cone_angle": "12", "wipe_tower_extra_rib_length": "10", "wipe_tower_extra_spacing": "120%", diff --git a/resources/profiles/Flashforge/process/0.42mm Standard @FF C5 0.6 nozzle.json b/resources/profiles/Flashforge/process/0.42mm Standard @FF C5 0.6 nozzle.json index 16e44f7573..ff359ca50f 100644 --- a/resources/profiles/Flashforge/process/0.42mm Standard @FF C5 0.6 nozzle.json +++ b/resources/profiles/Flashforge/process/0.42mm Standard @FF C5 0.6 nozzle.json @@ -1,4 +1,9 @@ { + "type": "process", + "name": "0.42mm Standard @FF C5 0.6 nozzle", + "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.6 nozzle", "Flashforge Creator 5 Pro 0.6 nozzle" @@ -8,11 +13,9 @@ "enable_prime_tower": "1", "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", "filter_out_gap_fill": "0.1", - "from": "system", "gap_fill_target": "topbottom", "gap_infill_speed": "150", "infill_wall_overlap": "15%", - "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "initial_layer_infill_speed": "55", "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.3", @@ -20,15 +23,12 @@ "inner_wall_acceleration": "10000", "inner_wall_line_width": "0.62", "inner_wall_speed": "150", - "instantiation": "true", "internal_solid_infill_line_width": "0.62", "internal_solid_infill_pattern": "rectilinear", "internal_solid_infill_speed": "150", - "is_custom_defined": "0", "layer_height": "0.42", "line_width": "0.62", "max_travel_detour_distance": "300", - "name": "0.42mm Standard @FF C5 0.6 nozzle", "only_one_wall_top": "1", "ooze_prevention": "1", "outer_wall_line_width": "0.62", @@ -57,7 +57,6 @@ "top_shell_layers": "3", "top_surface_line_width": "0.62", "top_surface_speed": "150", - "version": "2.1.1.0", "wipe_tower_cone_angle": "12", "wipe_tower_extra_rib_length": "10", "wipe_tower_extra_spacing": "120%", diff --git a/resources/profiles/Flashforge/process/0.48mm Standard @FF C5 0.8 nozzle.json b/resources/profiles/Flashforge/process/0.48mm Standard @FF C5 0.8 nozzle.json index 9c752fc3a1..90e707d1f2 100644 --- a/resources/profiles/Flashforge/process/0.48mm Standard @FF C5 0.8 nozzle.json +++ b/resources/profiles/Flashforge/process/0.48mm Standard @FF C5 0.8 nozzle.json @@ -1,4 +1,9 @@ { + "type": "process", + "name": "0.48mm Standard @FF C5 0.8 nozzle", + "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.8 nozzle", "Flashforge Creator 5 Pro 0.8 nozzle" @@ -8,11 +13,9 @@ "enable_prime_tower": "1", "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", "filter_out_gap_fill": "0.1", - "from": "system", "gap_fill_target": "topbottom", "gap_infill_speed": "150", "infill_wall_overlap": "15%", - "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "initial_layer_infill_speed": "55", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", @@ -20,15 +23,12 @@ "inner_wall_acceleration": "10000", "inner_wall_line_width": "0.82", "inner_wall_speed": "150", - "instantiation": "true", "internal_solid_infill_line_width": "0.82", "internal_solid_infill_pattern": "rectilinear", "internal_solid_infill_speed": "150", - "is_custom_defined": "0", "layer_height": "0.48", "line_width": "0.82", "max_travel_detour_distance": "300", - "name": "0.48mm Standard @FF C5 0.8 nozzle", "only_one_wall_top": "1", "ooze_prevention": "1", "outer_wall_line_width": "0.82", @@ -58,7 +58,6 @@ "top_shell_layers": "3", "top_surface_line_width": "0.82", "top_surface_speed": "150", - "version": "2.1.1.0", "wipe_tower_cone_angle": "12", "wipe_tower_extra_rib_length": "10", "wipe_tower_extra_spacing": "120%", diff --git a/resources/profiles/Flashforge/process/0.4mm Standard @FF C5 0.8 nozzle.json b/resources/profiles/Flashforge/process/0.4mm Standard @FF C5 0.8 nozzle.json index cdb2317023..20f40cf048 100644 --- a/resources/profiles/Flashforge/process/0.4mm Standard @FF C5 0.8 nozzle.json +++ b/resources/profiles/Flashforge/process/0.4mm Standard @FF C5 0.8 nozzle.json @@ -1,4 +1,9 @@ { + "type": "process", + "name": "0.4mm Standard @FF C5 0.8 nozzle", + "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", + "from": "system", + "instantiation": "true", "compatible_printers": [ "Flashforge Creator 5 0.8 nozzle", "Flashforge Creator 5 Pro 0.8 nozzle" @@ -8,11 +13,9 @@ "enable_prime_tower": "1", "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", "filter_out_gap_fill": "0.1", - "from": "system", "gap_fill_target": "topbottom", "gap_infill_speed": "150", "infill_wall_overlap": "15%", - "inherits": "0.20mm Standard @Flashforge AD5M Pro 0.4 Nozzle", "initial_layer_infill_speed": "55", "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.4", @@ -20,15 +23,12 @@ "inner_wall_acceleration": "10000", "inner_wall_line_width": "0.82", "inner_wall_speed": "150", - "instantiation": "true", "internal_solid_infill_line_width": "0.82", "internal_solid_infill_pattern": "rectilinear", "internal_solid_infill_speed": "150", - "is_custom_defined": "0", "layer_height": "0.4", "line_width": "0.82", "max_travel_detour_distance": "300", - "name": "0.4mm Standard @FF C5 0.8 nozzle", "only_one_wall_top": "1", "ooze_prevention": "1", "outer_wall_line_width": "0.82", @@ -58,7 +58,6 @@ "top_shell_layers": "3", "top_surface_line_width": "0.82", "top_surface_speed": "150", - "version": "2.1.1.0", "wipe_tower_cone_angle": "12", "wipe_tower_extra_rib_length": "10", "wipe_tower_extra_spacing": "120%", diff --git a/resources/profiles/LH.json b/resources/profiles/LH.json index 27c489033d..5ee887d550 100644 --- a/resources/profiles/LH.json +++ b/resources/profiles/LH.json @@ -23,53 +23,53 @@ "name": "fdm_process_lh_common", "sub_path": "process/fdm_process_lh_common.json" }, - { - "name": "0.20mm Daily @LH Stinger", - "sub_path": "process/0.20mm Daily @LH Stinger.json" - }, - { - "name": "0.25mm Vase Mode @LH Stinger", - "sub_path": "process/0.25mm Vase Mode @LH Stinger.json" - }, - { - "name": "0.20mm TPU @LH Stinger", - "sub_path": "process/0.20mm TPU @LH Stinger.json" - }, - { - "name": "0.20mm Strength @LH Stinger", - "sub_path": "process/0.20mm Strength @LH Stinger.json" - }, - { - "name": "0.20mm Speed @LH Stinger", - "sub_path": "process/0.20mm Speed @LH Stinger.json" - }, - { - "name": "0.20mm Solid @LH Stinger", - "sub_path": "process/0.20mm Solid @LH Stinger.json" - }, - { - "name": "0.20mm Quiet @LH Stinger", - "sub_path": "process/0.20mm Quiet @LH Stinger.json" - }, - { - "name": "0.20mm PETG @LH Stinger", - "sub_path": "process/0.20mm PETG @LH Stinger.json" - }, - { - "name": "0.20mm MMU @LH Stinger", - "sub_path": "process/0.20mm MMU @LH Stinger.json" - }, { "name": "0.10mm HueForge @LH Stinger", "sub_path": "process/0.10mm HueForge @LH Stinger.json" }, + { + "name": "0.14mm Detail @LH Stinger", + "sub_path": "process/0.14mm Detail @LH Stinger.json" + }, { "name": "0.14mm Detail Strength @LH Stinger", "sub_path": "process/0.14mm Detail Strength @LH Stinger.json" }, { - "name": "0.14mm Detail @LH Stinger", - "sub_path": "process/0.14mm Detail @LH Stinger.json" + "name": "0.20mm Daily @LH Stinger", + "sub_path": "process/0.20mm Daily @LH Stinger.json" + }, + { + "name": "0.20mm MMU @LH Stinger", + "sub_path": "process/0.20mm MMU @LH Stinger.json" + }, + { + "name": "0.20mm PETG @LH Stinger", + "sub_path": "process/0.20mm PETG @LH Stinger.json" + }, + { + "name": "0.20mm Quiet @LH Stinger", + "sub_path": "process/0.20mm Quiet @LH Stinger.json" + }, + { + "name": "0.20mm Solid @LH Stinger", + "sub_path": "process/0.20mm Solid @LH Stinger.json" + }, + { + "name": "0.20mm Speed @LH Stinger", + "sub_path": "process/0.20mm Speed @LH Stinger.json" + }, + { + "name": "0.20mm Strength @LH Stinger", + "sub_path": "process/0.20mm Strength @LH Stinger.json" + }, + { + "name": "0.20mm TPU @LH Stinger", + "sub_path": "process/0.20mm TPU @LH Stinger.json" + }, + { + "name": "0.25mm Vase Mode @LH Stinger", + "sub_path": "process/0.25mm Vase Mode @LH Stinger.json" } ], "filament_list": [ @@ -101,37 +101,37 @@ "name": "fdm_filament_tpu", "sub_path": "filament/fdm_filament_tpu.json" }, - { - "name": "LHS ASA", - "sub_path": "filament/LHS ASA.json" - }, { "name": "LHS ABS", "sub_path": "filament/LHS ABS.json" }, { - "name": "LHS TPU", - "sub_path": "filament/LHS TPU.json" + "name": "LHS ASA", + "sub_path": "filament/LHS ASA.json" }, { - "name": "LHS PLA", - "sub_path": "filament/LHS PLA.json" - }, - { - "name": "LHS TPU Foamy 78A", - "sub_path": "filament/LHS TPU Foamy 78A.json" - }, - { - "name": "LHS PETG", - "sub_path": "filament/LHS PETG.json" + "name": "LHS PC CF", + "sub_path": "filament/LHS PC CF.json" }, { "name": "LHS PCTG", "sub_path": "filament/LHS PCTG.json" }, { - "name": "LHS PC CF", - "sub_path": "filament/LHS PC CF.json" + "name": "LHS PETG", + "sub_path": "filament/LHS PETG.json" + }, + { + "name": "LHS PLA", + "sub_path": "filament/LHS PLA.json" + }, + { + "name": "LHS TPU", + "sub_path": "filament/LHS TPU.json" + }, + { + "name": "LHS TPU Foamy 78A", + "sub_path": "filament/LHS TPU Foamy 78A.json" } ], "machine_list": [ @@ -143,17 +143,17 @@ "name": "fdm_lh_common", "sub_path": "machine/fdm_lh_common.json" }, - { - "name": "fdm_lh_mmu_common", - "sub_path": "machine/fdm_lh_mmu_common.json" - }, { "name": "LH Stinger 0.4 nozzle", "sub_path": "machine/LH Stinger 0.4 nozzle.json" }, + { + "name": "fdm_lh_mmu_common", + "sub_path": "machine/fdm_lh_mmu_common.json" + }, { "name": "LH Stinger MMU 0.4 nozzle", "sub_path": "machine/LH Stinger MMU 0.4 nozzle.json" } ] -} \ No newline at end of file +} diff --git a/resources/profiles/LH/filament/LHS PC CF.json b/resources/profiles/LH/filament/LHS PC CF.json index ec749abf64..522214492f 100644 --- a/resources/profiles/LH/filament/LHS PC CF.json +++ b/resources/profiles/LH/filament/LHS PC CF.json @@ -1,11 +1,11 @@ { - "name": "LHS PC CF", "type": "filament", - "filament_id": "LHF_pccf", - "setting_id": "LHF_S_pccf", - "from": "system", - "instantiation": "true", + "name": "LHS PC CF", "inherits": "fdm_filament_pla", + "from": "system", + "setting_id": "LHF_S_pccf", + "filament_id": "LHF_pccf", + "instantiation": "true", "compatible_printers": [ "LH Stinger 0.4 nozzle", "LH Stinger MMU 0.4 nozzle" @@ -88,7 +88,6 @@ "hot_plate_temp_initial_layer": [ "105" ], - "is_custom_defined": "0", "nozzle_temperature": [ "300" ], @@ -119,4 +118,4 @@ "temperature_vitrification": [ "140" ] -} \ No newline at end of file +} diff --git a/resources/profiles/OrcaFilamentLibrary.json b/resources/profiles/OrcaFilamentLibrary.json index 5c4dd28ee8..3a0072476b 100644 --- a/resources/profiles/OrcaFilamentLibrary.json +++ b/resources/profiles/OrcaFilamentLibrary.json @@ -1,6 +1,6 @@ { "name": "OrcaFilamentLibrary", - "version": "02.03.02.60", + "version": "02.04.00.00", "force_update": "0", "description": "Orca Filament Library", "filament_list": [ @@ -116,34 +116,22 @@ "name": "COEX ABS PRIME @base", "sub_path": "filament/COEX/COEX ABS PRIME @base.json" }, + { + "name": "DREMC ABS @base", + "sub_path": "filament/DREMC/DREMC ABS @base.json" + }, + { + "name": "DREMC ABS+ @base", + "sub_path": "filament/DREMC/DREMC ABS+ @base.json" + }, + { + "name": "DREMC ABS-GF @base", + "sub_path": "filament/DREMC/DREMC ABS-GF @base.json" + }, { "name": "Elegoo ABS @base", "sub_path": "filament/Elegoo/Elegoo ABS @base.json" }, - { - "name": "Elegoo ASA @base", - "sub_path": "filament/Elegoo/Elegoo ASA @base.json" - }, - { - "name": "Elegoo PAHT @base", - "sub_path": "filament/Elegoo/Elegoo PAHT @base.json" - }, - { - "name": "Elegoo PC @base", - "sub_path": "filament/Elegoo/Elegoo PC @base.json" - }, - { - "name": "Elegoo PETG @base", - "sub_path": "filament/Elegoo/Elegoo PETG @base.json" - }, - { - "name": "Elegoo PLA @base", - "sub_path": "filament/Elegoo/Elegoo PLA @base.json" - }, - { - "name": "Elegoo TPU @base", - "sub_path": "filament/Elegoo/Elegoo TPU @base.json" - }, { "name": "Eolas Prints ABS @System", "sub_path": "filament/Eolas Prints/Eolas Prints ABS @System.json" @@ -184,10 +172,26 @@ "name": "COEX ASA PRIME @base", "sub_path": "filament/COEX/COEX ASA PRIME @base.json" }, + { + "name": "DREMC ASA @base", + "sub_path": "filament/DREMC/DREMC ASA @base.json" + }, + { + "name": "DREMC ASA CF @base", + "sub_path": "filament/DREMC/DREMC ASA CF @base.json" + }, + { + "name": "DREMC ASA GF @base", + "sub_path": "filament/DREMC/DREMC ASA GF @base.json" + }, { "name": "Elas ASA @base", "sub_path": "filament/Elas/Elas ASA @base.json" }, + { + "name": "Elegoo ASA @base", + "sub_path": "filament/Elegoo/Elegoo ASA @base.json" + }, { "name": "Eolas Prints ASA @System", "sub_path": "filament/Eolas Prints/Eolas Prints ASA @System.json" @@ -260,6 +264,22 @@ "name": "COEX NYLEX UNFILLED @base", "sub_path": "filament/COEX/COEX NYLEX UNFILLED @base.json" }, + { + "name": "DREMC PA12-CF @base", + "sub_path": "filament/DREMC/DREMC PA12-CF @base.json" + }, + { + "name": "DREMC PA6-CF @base", + "sub_path": "filament/DREMC/DREMC PA6-CF @base.json" + }, + { + "name": "Elegoo PAHT @base", + "sub_path": "filament/Elegoo/Elegoo PAHT @base.json" + }, + { + "name": "FILL3D PA @base", + "sub_path": "filament/FILL3D/FILL3D PA @base.json" + }, { "name": "Fiberon PA12-CF @base", "sub_path": "filament/Polymaker/Fiberon PA12-CF @base.json" @@ -292,6 +312,10 @@ "name": "Bambu PC FR @base", "sub_path": "filament/Bambu/Bambu PC FR @base.json" }, + { + "name": "Elegoo PC @base", + "sub_path": "filament/Elegoo/Elegoo PC @base.json" + }, { "name": "Generic PC @System", "sub_path": "filament/Generic PC @System.json" @@ -340,10 +364,22 @@ "name": "COEX PETG @base", "sub_path": "filament/COEX/COEX PETG @base.json" }, + { + "name": "DREMC PET-CF @base", + "sub_path": "filament/DREMC/DREMC PET-CF @base.json" + }, + { + "name": "DREMC PETG @base", + "sub_path": "filament/DREMC/DREMC PETG @base.json" + }, { "name": "Elas PETG Basic @base", "sub_path": "filament/Elas/Elas PETG Basic @base.json" }, + { + "name": "Elegoo PETG @base", + "sub_path": "filament/Elegoo/Elegoo PETG @base.json" + }, { "name": "Eolas Prints PETG @System", "sub_path": "filament/Eolas Prints/Eolas Prints PETG @System.json" @@ -360,6 +396,14 @@ "name": "FDplast PETG @base", "sub_path": "filament/FDplast/FDplast PETG @base.json" }, + { + "name": "FILL3D PETG @base", + "sub_path": "filament/FILL3D/FILL3D PETG @base.json" + }, + { + "name": "FILL3D PETG CF @base", + "sub_path": "filament/FILL3D/FILL3D PETG CF @base.json" + }, { "name": "Fiberon PET-CF @base", "sub_path": "filament/Polymaker/Fiberon PET-CF @base.json" @@ -384,6 +428,10 @@ "name": "Generic PETG-CF @System", "sub_path": "filament/Generic PETG-CF @System.json" }, + { + "name": "GreenGate3D PETG @base", + "sub_path": "filament/GreenGate3D/GreenGate3D PETG @base.json" + }, { "name": "NIT PETG @base", "sub_path": "filament/NIT/NIT PETG @base.json" @@ -488,6 +536,14 @@ "name": "COEX PLA PRIME @base", "sub_path": "filament/COEX/COEX PLA PRIME @base.json" }, + { + "name": "DREMC PLA+ @base", + "sub_path": "filament/DREMC/DREMC PLA+ @base.json" + }, + { + "name": "DREMC PLA+ HS @base", + "sub_path": "filament/DREMC/DREMC PLA HS @base.json" + }, { "name": "Elas PLA Basic @base", "sub_path": "filament/Elas/Elas PLA Basic @base.json" @@ -496,6 +552,10 @@ "name": "Elas PLA Pro @base", "sub_path": "filament/Elas/Elas PLA Pro @base.json" }, + { + "name": "Elegoo PLA @base", + "sub_path": "filament/Elegoo/Elegoo PLA @base.json" + }, { "name": "Eolas Prints PLA Antibacterial @System", "sub_path": "filament/Eolas Prints/Eolas Prints PLA Antibacterial @System.json" @@ -536,6 +596,10 @@ "name": "FDplast PLA @base", "sub_path": "filament/FDplast/FDplast PLA @base.json" }, + { + "name": "FILL3D PLA Basic @base", + "sub_path": "filament/FILL3D/FILL3D PLA Basic @base.json" + }, { "name": "FILL3D PLA Turbo @base", "sub_path": "filament/FILL3D/FILL3D PLA Turbo @base.json" @@ -744,6 +808,14 @@ "name": "fdm_filament_pla_silk", "sub_path": "filament/base/fdm_filament_pla_silk.json" }, + { + "name": "FILL3D PP @base", + "sub_path": "filament/FILL3D/FILL3D PP @base.json" + }, + { + "name": "FILL3D PPCF @base", + "sub_path": "filament/FILL3D/FILL3D PPCF @base.json" + }, { "name": "Generic PP @System", "sub_path": "filament/Generic PP @System.json" @@ -760,6 +832,10 @@ "name": "Bambu PPA-CF @base", "sub_path": "filament/Bambu/Bambu PPA-CF @base.json" }, + { + "name": "DREMC PPA-CF @base", + "sub_path": "filament/DREMC/DREMC PPA-CF @base.json" + }, { "name": "Generic PPA-CF @System", "sub_path": "filament/Generic PPA-CF @System.json" @@ -812,6 +888,14 @@ "name": "COEX TPU 60A @base", "sub_path": "filament/COEX/COEX TPU 60A @base.json" }, + { + "name": "DREMC TPU 95A @base", + "sub_path": "filament/DREMC/DREMC TPU 95A @base.json" + }, + { + "name": "Elegoo TPU @base", + "sub_path": "filament/Elegoo/Elegoo TPU @base.json" + }, { "name": "Eolas Prints TPU D60 UV Resistant @System", "sub_path": "filament/Eolas Prints/Eolas Prints TPU Flex D60 UV Resistant @System.json" @@ -860,6 +944,22 @@ "name": "COEX ABS PRIME @System", "sub_path": "filament/COEX/COEX ABS PRIME @System.json" }, + { + "name": "DREMC ABS @System", + "sub_path": "filament/DREMC/DREMC ABS @System.json" + }, + { + "name": "DREMC ABS+ @System", + "sub_path": "filament/DREMC/DREMC ABS+ @System.json" + }, + { + "name": "DREMC ABS-GF @System", + "sub_path": "filament/DREMC/DREMC ABS-GF @System.json" + }, + { + "name": "Elegoo ABS @System", + "sub_path": "filament/Elegoo/Elegoo ABS @System.json" + }, { "name": "FDplast ABS @System", "sub_path": "filament/FDplast/FDplast ABS @System.json" @@ -893,12 +993,20 @@ "sub_path": "filament/COEX/COEX ASA PRIME @System.json" }, { - "name": "Elas ASA @System", - "sub_path": "filament/Elas/Elas ASA @System.json" + "name": "DREMC ASA @System", + "sub_path": "filament/DREMC/DREMC ASA @System.json" }, { - "name": "Elegoo ABS @System", - "sub_path": "filament/Elegoo/Elegoo ABS @System.json" + "name": "DREMC ASA CF @System", + "sub_path": "filament/DREMC/DREMC ASA CF @System.json" + }, + { + "name": "DREMC ASA GF @System", + "sub_path": "filament/DREMC/DREMC ASA GF @System.json" + }, + { + "name": "Elas ASA @System", + "sub_path": "filament/Elas/Elas ASA @System.json" }, { "name": "Elegoo ASA @System", @@ -908,114 +1016,6 @@ "name": "Elegoo ASA-CF @System", "sub_path": "filament/Elegoo/Elegoo ASA-CF @System.json" }, - { - "name": "Elegoo PAHT-CF @System", - "sub_path": "filament/Elegoo/Elegoo PAHT-CF @System.json" - }, - { - "name": "Elegoo PC @System", - "sub_path": "filament/Elegoo/Elegoo PC @System.json" - }, - { - "name": "Elegoo PC-FR @System", - "sub_path": "filament/Elegoo/Elegoo PC-FR @System.json" - }, - { - "name": "Elegoo PET-CF @System", - "sub_path": "filament/Elegoo/Elegoo PET-CF @System.json" - }, - { - "name": "Elegoo PETG @System", - "sub_path": "filament/Elegoo/Elegoo PETG @System.json" - }, - { - "name": "Elegoo PETG HF @System", - "sub_path": "filament/Elegoo/Elegoo PETG HF @System.json" - }, - { - "name": "Elegoo PETG PRO @System", - "sub_path": "filament/Elegoo/Elegoo PETG PRO @System.json" - }, - { - "name": "Elegoo PETG Translucent @System", - "sub_path": "filament/Elegoo/Elegoo PETG Translucent @System.json" - }, - { - "name": "Elegoo PETG-CF @System", - "sub_path": "filament/Elegoo/Elegoo PETG-CF @System.json" - }, - { - "name": "Elegoo PETG-GF @System", - "sub_path": "filament/Elegoo/Elegoo PETG-GF @System.json" - }, - { - "name": "Elegoo PLA @System", - "sub_path": "filament/Elegoo/Elegoo PLA @System.json" - }, - { - "name": "Elegoo PLA Basic @System", - "sub_path": "filament/Elegoo/Elegoo PLA Basic @System.json" - }, - { - "name": "Elegoo PLA Galaxy @System", - "sub_path": "filament/Elegoo/Elegoo PLA Galaxy @System.json" - }, - { - "name": "Elegoo PLA Glow @System", - "sub_path": "filament/Elegoo/Elegoo PLA Glow @System.json" - }, - { - "name": "Elegoo PLA Marble @System", - "sub_path": "filament/Elegoo/Elegoo PLA Marble @System.json" - }, - { - "name": "Elegoo PLA Matte @System", - "sub_path": "filament/Elegoo/Elegoo PLA Matte @System.json" - }, - { - "name": "Elegoo PLA PRO @System", - "sub_path": "filament/Elegoo/Elegoo PLA PRO @System.json" - }, - { - "name": "Elegoo PLA Silk @System", - "sub_path": "filament/Elegoo/Elegoo PLA Silk @System.json" - }, - { - "name": "Elegoo PLA Sparkle @System", - "sub_path": "filament/Elegoo/Elegoo PLA Sparkle @System.json" - }, - { - "name": "Elegoo PLA Translucent2 @System", - "sub_path": "filament/Elegoo/Elegoo PLA Translucent2 @System.json" - }, - { - "name": "Elegoo PLA Wood @System", - "sub_path": "filament/Elegoo/Elegoo PLA Wood @System.json" - }, - { - "name": "Elegoo PLA+ @System", - "sub_path": "filament/Elegoo/Elegoo PLA+ @System.json" - }, - { - "name": "Elegoo PLA-CF @System", - "sub_path": "filament/Elegoo/Elegoo PLA-CF @System.json" - }, - { - "name": "Elegoo Rapid PETG @System", - "sub_path": "filament/Elegoo/Elegoo Rapid PETG @System.json" - }, - { - "name": "Elegoo Rapid PLA+ @System", - "sub_path": "filament/Elegoo/Elegoo Rapid PLA+ @System.json" - }, - { - "name": "Elegoo Rapid TPU 95A @System", - "sub_path": "filament/Elegoo/Elegoo Rapid TPU 95A @System.json" - }, - { - "name": "Elegoo TPU 95A @System", - "sub_path": "filament/Elegoo/Elegoo TPU 95A @System.json" - }, { "name": "Overture ASA @System", "sub_path": "filament/Overture/Overture ASA @System.json" @@ -1060,6 +1060,22 @@ "name": "COEX NYLEX PA6-CF @System", "sub_path": "filament/COEX/COEX NYLEX PA6-CF @System.json" }, + { + "name": "DREMC PA12-CF @System", + "sub_path": "filament/DREMC/DREMC PA12-CF @System.json" + }, + { + "name": "DREMC PA6-CF @System", + "sub_path": "filament/DREMC/DREMC PA6-CF @System.json" + }, + { + "name": "Elegoo PAHT-CF @System", + "sub_path": "filament/Elegoo/Elegoo PAHT-CF @System.json" + }, + { + "name": "FILL3D PA @System", + "sub_path": "filament/FILL3D/FILL3D PA @System.json" + }, { "name": "Fiberon PA12-CF @System", "sub_path": "filament/Polymaker/Fiberon PA12-CF @System.json" @@ -1084,6 +1100,14 @@ "name": "Bambu PC FR @System", "sub_path": "filament/Bambu/Bambu PC FR @System.json" }, + { + "name": "Elegoo PC @System", + "sub_path": "filament/Elegoo/Elegoo PC @System.json" + }, + { + "name": "Elegoo PC-FR @System", + "sub_path": "filament/Elegoo/Elegoo PC-FR @System.json" + }, { "name": "COEX PCTG PRIME @System", "sub_path": "filament/COEX/COEX PCTG PRIME @System.json" @@ -1124,14 +1148,62 @@ "name": "COEX PETG @System", "sub_path": "filament/COEX/COEX PETG @System.json" }, + { + "name": "DREMC PET-CF @System", + "sub_path": "filament/DREMC/DREMC PET-CF @System.json" + }, + { + "name": "DREMC PETG @System", + "sub_path": "filament/DREMC/DREMC PETG @System.json" + }, { "name": "Elas PETG Basic @System", "sub_path": "filament/Elas/Elas PETG Basic @System.json" }, + { + "name": "Elegoo PET-CF @System", + "sub_path": "filament/Elegoo/Elegoo PET-CF @System.json" + }, + { + "name": "Elegoo PETG @System", + "sub_path": "filament/Elegoo/Elegoo PETG @System.json" + }, + { + "name": "Elegoo PETG HF @System", + "sub_path": "filament/Elegoo/Elegoo PETG HF @System.json" + }, + { + "name": "Elegoo PETG PRO @System", + "sub_path": "filament/Elegoo/Elegoo PETG PRO @System.json" + }, + { + "name": "Elegoo PETG Translucent @System", + "sub_path": "filament/Elegoo/Elegoo PETG Translucent @System.json" + }, + { + "name": "Elegoo PETG-CF @System", + "sub_path": "filament/Elegoo/Elegoo PETG-CF @System.json" + }, + { + "name": "Elegoo PETG-GF @System", + "sub_path": "filament/Elegoo/Elegoo PETG-GF @System.json" + }, + { + "name": "Elegoo Rapid PETG @System", + "sub_path": "filament/Elegoo/Elegoo Rapid PETG @System.json" + }, { "name": "FDplast PETG @System", "sub_path": "filament/FDplast/FDplast PETG @System.json" }, + { + "name": "FILL3D PETG @System", + "sub_path": "filament/FILL3D/FILL3D PETG @System.json" + }, + { + "name": "FILL3D PETG CF @System", + "sub_path": "filament/FILL3D/FILL3D PETG CF @System.json" + }, { "name": "Fiberon PET-CF @System", "sub_path": "filament/Polymaker/Fiberon PET-CF @System.json" @@ -1144,6 +1216,10 @@ "name": "Fiberon PETG-rCF @System", "sub_path": "filament/Polymaker/Fiberon PETG-rCF @System.json" }, + { + "name": "GreenGate3D PETG @System", + "sub_path": "filament/GreenGate3D/GreenGate3D PETG @System.json" + }, { "name": "NIT PETG @System", "sub_path": "filament/NIT/NIT PETG @System.json" @@ -1244,6 +1320,14 @@ "name": "COEX PLA PRIME @System", "sub_path": "filament/COEX/COEX PLA PRIME @System.json" }, + { + "name": "DREMC PLA+ @System", + "sub_path": "filament/DREMC/DREMC PLA+ @System.json" + }, + { + "name": "DREMC PLA+ HS @System", + "sub_path": "filament/DREMC/DREMC PLA HS @System.json" + }, { "name": "Elas PLA Basic @System", "sub_path": "filament/Elas/Elas PLA Basic @System.json" @@ -1252,61 +1336,73 @@ "name": "Elas PLA Pro @System", "sub_path": "filament/Elas/Elas PLA Pro @System.json" }, + { + "name": "Elegoo PLA @System", + "sub_path": "filament/Elegoo/Elegoo PLA @System.json" + }, + { + "name": "Elegoo PLA Basic @System", + "sub_path": "filament/Elegoo/Elegoo PLA Basic @System.json" + }, + { + "name": "Elegoo PLA Galaxy @System", + "sub_path": "filament/Elegoo/Elegoo PLA Galaxy @System.json" + }, + { + "name": "Elegoo PLA Glow @System", + "sub_path": "filament/Elegoo/Elegoo PLA Glow @System.json" + }, + { + "name": "Elegoo PLA Marble @System", + "sub_path": "filament/Elegoo/Elegoo PLA Marble @System.json" + }, + { + "name": "Elegoo PLA Matte @System", + "sub_path": "filament/Elegoo/Elegoo PLA Matte @System.json" + }, + { + "name": "Elegoo PLA PRO @System", + "sub_path": "filament/Elegoo/Elegoo PLA PRO @System.json" + }, + { + "name": "Elegoo PLA Silk @System", + "sub_path": "filament/Elegoo/Elegoo PLA Silk @System.json" + }, + { + "name": "Elegoo PLA Sparkle @System", + "sub_path": "filament/Elegoo/Elegoo PLA Sparkle @System.json" + }, + { + "name": "Elegoo PLA Translucent2 @System", + "sub_path": "filament/Elegoo/Elegoo PLA Translucent2 @System.json" + }, + { + "name": "Elegoo PLA Wood @System", + "sub_path": "filament/Elegoo/Elegoo PLA Wood @System.json" + }, + { + "name": "Elegoo PLA+ @System", + "sub_path": "filament/Elegoo/Elegoo PLA+ @System.json" + }, + { + "name": "Elegoo PLA-CF @System", + "sub_path": "filament/Elegoo/Elegoo PLA-CF @System.json" + }, + { + "name": "Elegoo Rapid PLA+ @System", + "sub_path": "filament/Elegoo/Elegoo Rapid PLA+ @System.json" + }, { "name": "FDplast PLA @System", "sub_path": "filament/FDplast/FDplast PLA @System.json" }, - { - "name": "FILL3D PLA Turbo @System", - "sub_path": "filament/FILL3D/FILL3D PLA Turbo @System.json" - }, - { - "name": "FILL3D PLA Basic @base", - "sub_path": "filament/FILL3D/FILL3D PLA Basic @base.json" - }, { "name": "FILL3D PLA Basic @System", "sub_path": "filament/FILL3D/FILL3D PLA Basic @System.json" }, { - "name": "FILL3D PETG @base", - "sub_path": "filament/FILL3D/FILL3D PETG @base.json" - }, - { - "name": "FILL3D PETG @System", - "sub_path": "filament/FILL3D/FILL3D PETG @System.json" - }, - { - "name": "FILL3D PETG CF @base", - "sub_path": "filament/FILL3D/FILL3D PETG CF @base.json" - }, - { - "name": "FILL3D PETG CF @System", - "sub_path": "filament/FILL3D/FILL3D PETG CF @System.json" - }, - { - "name": "FILL3D PP @base", - "sub_path": "filament/FILL3D/FILL3D PP @base.json" - }, - { - "name": "FILL3D PP @System", - "sub_path": "filament/FILL3D/FILL3D PP @System.json" - }, - { - "name": "FILL3D PPCF @base", - "sub_path": "filament/FILL3D/FILL3D PPCF @base.json" - }, - { - "name": "FILL3D PPCF @System", - "sub_path": "filament/FILL3D/FILL3D PPCF @System.json" - }, - { - "name": "FILL3D PA @base", - "sub_path": "filament/FILL3D/FILL3D PA @base.json" - }, - { - "name": "FILL3D PA @System", - "sub_path": "filament/FILL3D/FILL3D PA @System.json" + "name": "FILL3D PLA Turbo @System", + "sub_path": "filament/FILL3D/FILL3D PLA Turbo @System.json" }, { "name": "NIT PLA @System", @@ -1504,10 +1600,22 @@ "name": "Generic PLA Silk @System", "sub_path": "filament/Generic PLA Silk @System.json" }, + { + "name": "FILL3D PP @System", + "sub_path": "filament/FILL3D/FILL3D PP @System.json" + }, + { + "name": "FILL3D PPCF @System", + "sub_path": "filament/FILL3D/FILL3D PPCF @System.json" + }, { "name": "Bambu PPA-CF @System", "sub_path": "filament/Bambu/Bambu PPA-CF @System.json" }, + { + "name": "DREMC PPA-CF @System", + "sub_path": "filament/DREMC/DREMC PPA-CF @System.json" + }, { "name": "Bambu PVA @System", "sub_path": "filament/Bambu/Bambu PVA @System.json" @@ -1540,6 +1648,18 @@ "name": "COEX TPU 60A @System", "sub_path": "filament/COEX/COEX TPU 60A @System.json" }, + { + "name": "DREMC TPU 95A @System", + "sub_path": "filament/DREMC/DREMC TPU 95A @System.json" + }, + { + "name": "Elegoo Rapid TPU 95A @System", + "sub_path": "filament/Elegoo/Elegoo Rapid TPU 95A @System.json" + }, + { + "name": "Elegoo TPU 95A @System", + "sub_path": "filament/Elegoo/Elegoo TPU 95A @System.json" + }, { "name": "FDplast TPU @System", "sub_path": "filament/FDplast/FDplast TPU @System.json" @@ -1559,126 +1679,6 @@ { "name": "COEX PLA+Silk @System", "sub_path": "filament/COEX/COEX PLA+Silk @System.json" - }, - { - "name": "GreenGate3D PETG @base", - "sub_path": "filament/GreenGate3D/GreenGate3D PETG @base.json" - }, - { - "name": "GreenGate3D PETG @System", - "sub_path": "filament/GreenGate3D/GreenGate3D PETG @System.json" - }, - { - "name": "DREMC PLA+ @base", - "sub_path": "filament/DREMC/DREMC PLA+ @base.json" - }, - { - "name": "DREMC PLA+ @System", - "sub_path": "filament/DREMC/DREMC PLA+ @System.json" - }, - { - "name": "DREMC PETG @base", - "sub_path": "filament/DREMC/DREMC PETG @base.json" - }, - { - "name": "DREMC PETG @System", - "sub_path": "filament/DREMC/DREMC PETG @System.json" - }, - { - "name": "DREMC ABS @base", - "sub_path": "filament/DREMC/DREMC ABS @base.json" - }, - { - "name": "DREMC ABS @System", - "sub_path": "filament/DREMC/DREMC ABS @System.json" - }, - { - "name": "DREMC ABS+ @base", - "sub_path": "filament/DREMC/DREMC ABS+ @base.json" - }, - { - "name": "DREMC ABS+ @System", - "sub_path": "filament/DREMC/DREMC ABS+ @System.json" - }, - { - "name": "DREMC ASA @base", - "sub_path": "filament/DREMC/DREMC ASA @base.json" - }, - { - "name": "DREMC ASA @System", - "sub_path": "filament/DREMC/DREMC ASA @System.json" - }, - { - "name": "DREMC PA6-CF @base", - "sub_path": "filament/DREMC/DREMC PA6-CF @base.json" - }, - { - "name": "DREMC PA6-CF @System", - "sub_path": "filament/DREMC/DREMC PA6-CF @System.json" - }, - { - "name": "DREMC PA12-CF @base", - "sub_path": "filament/DREMC/DREMC PA12-CF @base.json" - }, - { - "name": "DREMC PA12-CF @System", - "sub_path": "filament/DREMC/DREMC PA12-CF @System.json" - }, - { - "name": "DREMC PET-CF @base", - "sub_path": "filament/DREMC/DREMC PET-CF @base.json" - }, - { - "name": "DREMC PET-CF @System", - "sub_path": "filament/DREMC/DREMC PET-CF @System.json" - }, - { - "name": "DREMC ABS-GF @base", - "sub_path": "filament/DREMC/DREMC ABS-GF @base.json" - }, - { - "name": "DREMC ABS-GF @System", - "sub_path": "filament/DREMC/DREMC ABS-GF @System.json" - }, - { - "name": "DREMC TPU 95A @base", - "sub_path": "filament/DREMC/DREMC TPU 95A @base.json" - }, - { - "name": "DREMC TPU 95A @System", - "sub_path": "filament/DREMC/DREMC TPU 95A @System.json" - }, - { - "name": "DREMC PPA-CF @base", - "sub_path": "filament/DREMC/DREMC PPA-CF @base.json" - }, - { - "name": "DREMC PPA-CF @System", - "sub_path": "filament/DREMC/DREMC PPA-CF @System.json" - }, - { - "name": "DREMC PLA+ HS @base", - "sub_path": "filament/DREMC/DREMC PLA HS @base.json" - }, - { - "name": "DREMC PLA+ HS @System", - "sub_path": "filament/DREMC/DREMC PLA HS @System.json" - }, - { - "name": "DREMC ASA CF @base", - "sub_path": "filament/DREMC/DREMC ASA CF @base.json" - }, - { - "name": "DREMC ASA CF @System", - "sub_path": "filament/DREMC/DREMC ASA CF @System.json" - }, - { - "name": "DREMC ASA GF @base", - "sub_path": "filament/DREMC/DREMC ASA GF @base.json" - }, - { - "name": "DREMC ASA GF @System", - "sub_path": "filament/DREMC/DREMC ASA GF @System.json" } ], "process_list": [], diff --git a/resources/profiles/Snapmaker.json b/resources/profiles/Snapmaker.json index ce72bffc09..20468768ad 100644 --- a/resources/profiles/Snapmaker.json +++ b/resources/profiles/Snapmaker.json @@ -218,6 +218,10 @@ "name": "fdm_process_U1_0.28", "sub_path": "process/fdm_process_U1_0.28.json" }, + { + "name": "fdm_process_U1_0.6_common", + "sub_path": "process/fdm_process_U1_0.6_common.json" + }, { "name": "0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle)", "sub_path": "process/0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle).json" @@ -434,6 +438,10 @@ "name": "0.20 Standard @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.20 Standard @Snapmaker U1 (0.4 nozzle).json" }, + { + "name": "0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle)", + "sub_path": "process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json" + }, { "name": "0.20 Strength @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.20 Strength @Snapmaker U1 (0.4 nozzle).json" @@ -454,10 +462,6 @@ "name": "0.28 Extra Draft @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.28 Extra Draft @Snapmaker U1 (0.4 nozzle).json" }, - { - "name": "fdm_process_U1_0.6_common", - "sub_path": "process/fdm_process_U1_0.6_common.json" - }, { "name": "0.20 Standard @Snapmaker U1 (0.6 nozzle)", "sub_path": "process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json" @@ -470,10 +474,6 @@ "name": "0.40 Extra Draft @Snapmaker U1 (0.6 nozzle)", "sub_path": "process/0.40 Extra Draft @Snapmaker U1 (0.6 nozzle).json" }, - { - "name": "0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle)", - "sub_path": "process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json" - }, { "name": "0.06 Standard @Snapmaker Artisan (0.2 nozzle)", "sub_path": "process/0.06 Standard @Snapmaker Artisan (0.2 nozzle).json" @@ -556,6 +556,10 @@ "name": "fdm_filament_tpu", "sub_path": "filament/fdm_filament_tpu.json" }, + { + "name": "Fiberon PPS-GF20 @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1 base.json" + }, { "name": "Snapmaker ABS @U1 base", "sub_path": "filament/Snapmaker ABS @U1 base.json" @@ -572,6 +576,10 @@ "name": "Snapmaker J1 ABS @base", "sub_path": "filament/Snapmaker J1 ABS @base.json" }, + { + "name": "Fiberon ASA-CF08 @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1 base.json" + }, { "name": "Snapmaker ASA @U1 base", "sub_path": "filament/Snapmaker ASA @U1 base.json" @@ -596,6 +604,18 @@ "name": "Snapmaker J1 Breakaway @base", "sub_path": "filament/Snapmaker J1 Breakaway @base.json" }, + { + "name": "Fiberon PA12-CF10 @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Fiberon PA12-CF10 @Snapmaker U1 base.json" + }, + { + "name": "Fiberon PA6-CF20 @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Fiberon PA6-CF20 @Snapmaker U1 base.json" + }, + { + "name": "Fiberon PA612-ESD @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Fiberon PA612-ESD @Snapmaker U1 base.json" + }, { "name": "Snapmaker Dual PA-CF @base", "sub_path": "filament/Snapmaker Dual PA-CF @base.json" @@ -628,14 +648,34 @@ "name": "Snapmaker PET @base", "sub_path": "filament/Snapmaker PET @base.json" }, + { + "name": "Fiberon PETG-ESD @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Fiberon PETG-ESD @Snapmaker U1 base.json" + }, { "name": "PolyLite PETG @Base", "sub_path": "filament/Polymaker/PolyLite PETG @Base.json" }, + { + "name": "PolyLite PETG @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PETG @Snapmaker U1 base.json" + }, + { + "name": "PolyLite PETG Translucent @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PETG Translucent @Snapmaker U1 base.json" + }, { "name": "Polymaker PETG @Base", "sub_path": "filament/Polymaker/Polymaker PETG @Base.json" }, + { + "name": "Polymaker PETG @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Polymaker PETG @Snapmaker U1 base.json" + }, + { + "name": "Polymaker PETG Galaxy @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Polymaker PETG Galaxy @Snapmaker U1 base.json" + }, { "name": "Snapmaker Dual PETG @base", "sub_path": "filament/Snapmaker Dual PETG @base.json" @@ -669,105 +709,157 @@ "sub_path": "filament/Snapmaker PETG-CF @base.json" }, { - "name": "Panchroma CoPE @U1 base", - "sub_path": "filament/Polymaker/Panchroma CoPE @U1 base.json" + "name": "Panchroma CoPE @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma CoPE @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA @U1 base.json" + "name": "Panchroma PLA @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Celestial @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @U1 base.json" + "name": "Panchroma PLA Celestial @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Celestial @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Galaxy @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @U1 base.json" + "name": "Panchroma PLA Galaxy @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Glow @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @U1 base.json" + "name": "Panchroma PLA Glow @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Glow @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Luminous @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @U1 base.json" + "name": "Panchroma PLA Luminous @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Luminous @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Marble @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @U1 base.json" + "name": "Panchroma PLA Marble @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Marble @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Matte @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @U1 base.json" + "name": "Panchroma PLA Matte @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Matte @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Metallic @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @U1 base.json" + "name": "Panchroma PLA Metallic @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Metallic @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Neon @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @U1 base.json" + "name": "Panchroma PLA Neon @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Neon @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Satin @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @U1 base.json" + "name": "Panchroma PLA Satin @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Satin @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Silk @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @U1 base.json" + "name": "Panchroma PLA Silk @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Silk @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Starlight @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @U1 base.json" + "name": "Panchroma PLA Starlight @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Starlight @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Temp Shift @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @U1 base.json" + "name": "Panchroma PLA Temp Shift @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA Translucent @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @U1 base.json" + "name": "Panchroma PLA Translucent @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA Translucent @Snapmaker U1 base.json" }, { - "name": "Panchroma PLA UV Shift @U1 base", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @U1 base.json" + "name": "Panchroma PLA UV Shift @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @Snapmaker U1 base.json" }, { - "name": "PolyLite PLA @U1 base", - "sub_path": "filament/Polymaker/PolyLite PLA @U1 base.json" + "name": "PolyLite CosPLA @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite CosPLA @Snapmaker U1 base.json" + }, + { + "name": "PolyLite PLA @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PLA @Snapmaker U1 base.json" }, { "name": "PolyLite PLA @base", "sub_path": "filament/Polymaker/PolyLite PLA @base.json" }, { - "name": "PolyLite PLA Pro @U1 base", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @U1 base.json" + "name": "PolyLite PLA Galaxy @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @Snapmaker U1 base.json" }, { - "name": "PolyTerra PLA @U1 base", - "sub_path": "filament/Polymaker/PolyTerra PLA @U1 base.json" + "name": "PolyLite PLA Glow @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PLA Glow @Snapmaker U1 base.json" + }, + { + "name": "PolyLite PLA Luminous @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PLA Luminous @Snapmaker U1 base.json" + }, + { + "name": "PolyLite PLA Neon @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PLA Neon @Snapmaker U1 base.json" + }, + { + "name": "PolyLite PLA Pro @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PLA Pro @Snapmaker U1 base.json" + }, + { + "name": "PolyLite PLA Pro Metallic @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PLA Pro Metallic @Snapmaker U1 base.json" + }, + { + "name": "PolyLite PLA Starlight @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PLA Starlight @Snapmaker U1 base.json" + }, + { + "name": "PolyLite PLA Translucent @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyLite PLA Translucent @Snapmaker U1 base.json" + }, + { + "name": "PolyTerra PLA @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyTerra PLA @Snapmaker U1 base.json" + }, + { + "name": "PolyTerra PLA Marble @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyTerra PLA Marble @Snapmaker U1 base.json" + }, + { + "name": "PolyTerra PLA+ @Snapmaker U1 base", + "sub_path": "filament/Polymaker/PolyTerra PLA+ @Snapmaker U1 base.json" }, { "name": "Polymaker HT-PLA @Base", "sub_path": "filament/Polymaker/Polymaker HT-PLA @Base.json" }, { - "name": "Polymaker HT-PLA @U1 base", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @U1 base.json" + "name": "Polymaker HT-PLA @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Polymaker HT-PLA @Snapmaker U1 base.json" }, { "name": "Polymaker HT-PLA-GF @Base", "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @Base.json" }, { - "name": "Polymaker HT-PLA-GF @U1 base", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @U1 base.json" + "name": "Polymaker HT-PLA-GF @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @Snapmaker U1 base.json" + }, + { + "name": "Polymaker PLA @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Polymaker PLA @Snapmaker U1 base.json" }, { "name": "Polymaker PLA Pro @Base", "sub_path": "filament/Polymaker/Polymaker PLA Pro @Base.json" }, + { + "name": "Polymaker PLA Pro @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Polymaker PLA Pro @Snapmaker U1 base.json" + }, + { + "name": "Polymaker PLA Pro Metallic @Snapmaker U1 base", + "sub_path": "filament/Polymaker/Polymaker PLA Pro Metallic @Snapmaker U1 base.json" + }, { "name": "Snapmaker Dual PLA @base", "sub_path": "filament/Snapmaker Dual PLA @base.json" @@ -872,6 +964,10 @@ "name": "Snapmaker TPU @base", "sub_path": "filament/Snapmaker TPU @base.json" }, + { + "name": "Fiberon PPS-GF20 @Snapmaker U1", + "sub_path": "filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1.json" + }, { "name": "Snapmaker ABS @U1", "sub_path": "filament/Snapmaker ABS @U1.json" @@ -920,6 +1016,10 @@ "name": "Snapmaker J1 ABS Benchy", "sub_path": "filament/Snapmaker J1 ABS Benchy.json" }, + { + "name": "Fiberon ASA-CF08 @Snapmaker U1", + "sub_path": "filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1.json" + }, { "name": "Snapmaker ASA @U1", "sub_path": "filament/Snapmaker ASA @U1.json" @@ -964,6 +1064,18 @@ "name": "Snapmaker J1 Breakaway @0.2 nozzle", "sub_path": "filament/Snapmaker J1 Breakaway @0.2 nozzle.json" }, + { + "name": "Fiberon PA12-CF10 @Snapmaker U1", + "sub_path": "filament/Polymaker/Fiberon PA12-CF10 @Snapmaker U1.json" + }, + { + "name": "Fiberon PA6-CF20 @Snapmaker U1", + "sub_path": "filament/Polymaker/Fiberon PA6-CF20 @Snapmaker U1.json" + }, + { + "name": "Fiberon PA612-ESD @Snapmaker U1", + "sub_path": "filament/Polymaker/Fiberon PA612-ESD @Snapmaker U1.json" + }, { "name": "Snapmaker Dual PA-CF", "sub_path": "filament/Snapmaker Dual PA-CF.json" @@ -1000,14 +1112,26 @@ "name": "Snapmaker PET", "sub_path": "filament/Snapmaker PET.json" }, + { + "name": "Fiberon PETG-ESD @Snapmaker U1", + "sub_path": "filament/Polymaker/Fiberon PETG-ESD @Snapmaker U1.json" + }, { "name": "PolyLite PETG @Snapmaker U1", "sub_path": "filament/Polymaker/PolyLite PETG @Snapmaker U1.json" }, + { + "name": "PolyLite PETG Translucent @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite PETG Translucent @Snapmaker U1.json" + }, { "name": "Polymaker PETG @Snapmaker U1", "sub_path": "filament/Polymaker/Polymaker PETG @Snapmaker U1.json" }, + { + "name": "Polymaker PETG Galaxy @Snapmaker U1", + "sub_path": "filament/Polymaker/Polymaker PETG Galaxy @Snapmaker U1.json" + }, { "name": "Snapmaker Dual PETG", "sub_path": "filament/Snapmaker Dual PETG.json" @@ -1061,72 +1185,76 @@ "sub_path": "filament/Snapmaker PETG-CF.json" }, { - "name": "Panchroma CoPE @U1", - "sub_path": "filament/Polymaker/Panchroma CoPE @U1.json" + "name": "Panchroma CoPE @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma CoPE @Snapmaker U1.json" }, { - "name": "Panchroma PLA @U1", - "sub_path": "filament/Polymaker/Panchroma PLA @U1.json" + "name": "Panchroma PLA @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA @Snapmaker U1.json" }, { - "name": "Panchroma PLA Celestial @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Celestial @U1.json" + "name": "Panchroma PLA Celestial @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Celestial @Snapmaker U1.json" }, { - "name": "Panchroma PLA Galaxy @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @U1.json" + "name": "Panchroma PLA Galaxy @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Galaxy @Snapmaker U1.json" }, { - "name": "Panchroma PLA Glow @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Glow @U1.json" + "name": "Panchroma PLA Glow @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Glow @Snapmaker U1.json" }, { - "name": "Panchroma PLA Luminous @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Luminous @U1.json" + "name": "Panchroma PLA Luminous @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Luminous @Snapmaker U1.json" }, { - "name": "Panchroma PLA Marble @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Marble @U1.json" + "name": "Panchroma PLA Marble @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Marble @Snapmaker U1.json" }, { - "name": "Panchroma PLA Matte @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Matte @U1.json" + "name": "Panchroma PLA Matte @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Matte @Snapmaker U1.json" }, { - "name": "Panchroma PLA Metallic @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Metallic @U1.json" + "name": "Panchroma PLA Metallic @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Metallic @Snapmaker U1.json" }, { - "name": "Panchroma PLA Neon @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Neon @U1.json" + "name": "Panchroma PLA Neon @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Neon @Snapmaker U1.json" }, { - "name": "Panchroma PLA Satin @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Satin @U1.json" + "name": "Panchroma PLA Satin @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Satin @Snapmaker U1.json" }, { - "name": "Panchroma PLA Silk @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Silk @U1.json" + "name": "Panchroma PLA Silk @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Silk @Snapmaker U1.json" }, { - "name": "Panchroma PLA Starlight @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Starlight @U1.json" + "name": "Panchroma PLA Starlight @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Starlight @Snapmaker U1.json" }, { - "name": "Panchroma PLA Temp Shift @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @U1.json" + "name": "Panchroma PLA Temp Shift @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Temp Shift @Snapmaker U1.json" }, { - "name": "Panchroma PLA Translucent @U1", - "sub_path": "filament/Polymaker/Panchroma PLA Translucent @U1.json" + "name": "Panchroma PLA Translucent @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA Translucent @Snapmaker U1.json" }, { - "name": "Panchroma PLA UV Shift @U1", - "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @U1.json" + "name": "Panchroma PLA UV Shift @Snapmaker U1", + "sub_path": "filament/Polymaker/Panchroma PLA UV Shift @Snapmaker U1.json" }, { - "name": "PolyLite PLA @U1", - "sub_path": "filament/Polymaker/PolyLite PLA @U1.json" + "name": "PolyLite CosPLA @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite CosPLA @Snapmaker U1.json" + }, + { + "name": "PolyLite PLA @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite PLA @Snapmaker U1.json" }, { "name": "PolyLite J1 PLA", @@ -1137,33 +1265,69 @@ "sub_path": "filament/Polymaker/PolyLite PLA @0.2 nozzle.json" }, { - "name": "PolyLite PLA Pro @U1", - "sub_path": "filament/Polymaker/PolyLite PLA Pro @U1.json" + "name": "PolyLite PLA Galaxy @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite PLA Galaxy @Snapmaker U1.json" }, { - "name": "PolyTerra PLA @U1", - "sub_path": "filament/Polymaker/PolyTerra PLA @U1.json" + "name": "PolyLite PLA Glow @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite PLA Glow @Snapmaker U1.json" + }, + { + "name": "PolyLite PLA Luminous @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite PLA Luminous @Snapmaker U1.json" + }, + { + "name": "PolyLite PLA Neon @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite PLA Neon @Snapmaker U1.json" + }, + { + "name": "PolyLite PLA Pro @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite PLA Pro @Snapmaker U1.json" + }, + { + "name": "PolyLite PLA Pro Metallic @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite PLA Pro Metallic @Snapmaker U1.json" + }, + { + "name": "PolyLite PLA Starlight @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite PLA Starlight @Snapmaker U1.json" + }, + { + "name": "PolyLite PLA Translucent @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyLite PLA Translucent @Snapmaker U1.json" + }, + { + "name": "PolyTerra PLA @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyTerra PLA @Snapmaker U1.json" + }, + { + "name": "PolyTerra PLA Marble @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyTerra PLA Marble @Snapmaker U1.json" + }, + { + "name": "PolyTerra PLA+ @Snapmaker U1", + "sub_path": "filament/Polymaker/PolyTerra PLA+ @Snapmaker U1.json" }, { "name": "Polymaker HT-PLA @Snapmaker U1", "sub_path": "filament/Polymaker/Polymaker HT-PLA @Snapmaker U1.json" }, - { - "name": "Polymaker HT-PLA @U1", - "sub_path": "filament/Polymaker/Polymaker HT-PLA @U1.json" - }, { "name": "Polymaker HT-PLA-GF @Snapmaker U1", "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @Snapmaker U1.json" }, { - "name": "Polymaker HT-PLA-GF @U1", - "sub_path": "filament/Polymaker/Polymaker HT-PLA-GF @U1.json" + "name": "Polymaker PLA @Snapmaker U1", + "sub_path": "filament/Polymaker/Polymaker PLA @Snapmaker U1.json" }, { "name": "Polymaker PLA Pro @Snapmaker U1", "sub_path": "filament/Polymaker/Polymaker PLA Pro @Snapmaker U1.json" }, + { + "name": "Polymaker PLA Pro Metallic @Snapmaker U1", + "sub_path": "filament/Polymaker/Polymaker PLA Pro Metallic @Snapmaker U1.json" + }, { "name": "Snapmaker Dual PLA", "sub_path": "filament/Snapmaker Dual PLA.json" @@ -1550,14 +1714,14 @@ "name": "Snapmaker U1 (0.4 nozzle)", "sub_path": "machine/Snapmaker U1 (0.4 nozzle).json" }, - { - "name": "Snapmaker U1 (0.6 nozzle)", - "sub_path": "machine/Snapmaker U1 (0.6 nozzle).json" - }, { "name": "Snapmaker U1 (0.4+0.6 nozzle)", "sub_path": "machine/Snapmaker U1 (0.4+0.6 nozzle).json" }, + { + "name": "Snapmaker U1 (0.6 nozzle)", + "sub_path": "machine/Snapmaker U1 (0.6 nozzle).json" + }, { "name": "Snapmaker A250 BKit (0.2 nozzle)", "sub_path": "machine/Snapmaker A250 BKit (0.2 nozzle).json" diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1 base.json new file mode 100644 index 0000000000..dfbff7e8fb --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1 base.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Fiberon ASA-CF08 @Snapmaker U1 base", + "inherits": "fdm_filament_asa", + "from": "system", + "filament_id": "GFL71", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "Cool Plate" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "105" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "31" + ], + "fan_max_speed": [ + "30" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.09" + ], + "filament_flow_ratio": [ + "0.88" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "105" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "250" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_low": [ + "260" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "30" + ], + "temperature_vitrification": [ + "110.8" + ], + "textured_plate_temp": [ + "105" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_type": [ + "ASA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1.json new file mode 100644 index 0000000000..b627ee798d --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon ASA-CF08 @Snapmaker U1.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Fiberon ASA-CF08 @Snapmaker U1", + "inherits": "Fiberon ASA-CF08 @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL71_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + + "pressure_advance": [ + "0.05" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA12-CF10 @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA12-CF10 @Snapmaker U1 base.json new file mode 100644 index 0000000000..b292f8dd62 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA12-CF10 @Snapmaker U1 base.json @@ -0,0 +1,80 @@ +{ + "type": "filament", + "name": "Fiberon PA12-CF10 @Snapmaker U1 base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "GFL56", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "31" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.06" + ], + "filament_flow_ratio": [ + "0.87" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_threshold": [ + "95%" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "55" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "filament_type": [ + "PA-CF" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA12-CF10 @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA12-CF10 @Snapmaker U1.json new file mode 100644 index 0000000000..fa7f298e1b --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA12-CF10 @Snapmaker U1.json @@ -0,0 +1,27 @@ +{ + "type": "filament", + "name": "Fiberon PA12-CF10 @Snapmaker U1", + "inherits": "Fiberon PA12-CF10 @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL56_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_length": [ + "1.0" + ], + "filament_z_hop": [ + "0.0" + ], + + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.05" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA6-CF20 @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA6-CF20 @Snapmaker U1 base.json new file mode 100644 index 0000000000..88aab14bbf --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA6-CF20 @Snapmaker U1 base.json @@ -0,0 +1,77 @@ +{ + "type": "filament", + "name": "Fiberon PA6-CF20 @Snapmaker U1 base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "GFL57", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "31" + ], + "fan_max_speed": [ + "10" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.17" + ], + "filament_type": [ + "PA6-CF" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "0" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "290" + ], + "nozzle_temperature_initial_layer": [ + "290" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_threshold": [ + "95%" + ], + "slow_down_layer_time": [ + "8" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "74.2" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA6-CF20 @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA6-CF20 @Snapmaker U1.json new file mode 100644 index 0000000000..ffbdfdd8c0 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA6-CF20 @Snapmaker U1.json @@ -0,0 +1,27 @@ +{ + "type": "filament", + "name": "Fiberon PA6-CF20 @Snapmaker U1", + "inherits": "Fiberon PA6-CF20 @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL57_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_length": [ + "1.0" + ], + "filament_z_hop": [ + "0.0" + ], + + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.08" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA612-ESD @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA612-ESD @Snapmaker U1 base.json new file mode 100644 index 0000000000..f14d1abc1f --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA612-ESD @Snapmaker U1 base.json @@ -0,0 +1,80 @@ +{ + "type": "filament", + "name": "Fiberon PA612-ESD @Snapmaker U1 base", + "inherits": "fdm_filament_pa", + "from": "system", + "filament_id": "GFL72", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "25" + ], + "fan_max_speed": [ + "10" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.1" + ], + "filament_flow_ratio": [ + "0.89" + ], + "filament_vendor": [ + "Polymaker" + ], + "full_fan_speed_layer": [ + "2" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "nozzle_temperature": [ + "270" + ], + "nozzle_temperature_initial_layer": [ + "270" + ], + "nozzle_temperature_range_high": [ + "300" + ], + "nozzle_temperature_range_low": [ + "280" + ], + "overhang_fan_speed": [ + "40" + ], + "slow_down_layer_time": [ + "1" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "190" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "filament_type": [ + "PA-CF" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA612-ESD @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA612-ESD @Snapmaker U1.json new file mode 100644 index 0000000000..2ddc92605e --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PA612-ESD @Snapmaker U1.json @@ -0,0 +1,24 @@ +{ + "type": "filament", + "name": "Fiberon PA612-ESD @Snapmaker U1", + "inherits": "Fiberon PA612-ESD @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL72_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_length": [ + "1.0" + ], + "filament_z_hop": [ + "0.0" + ], + "description": " ", + "enable_pressure_advance": [ + "1" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PETG-ESD @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PETG-ESD @Snapmaker U1 base.json new file mode 100644 index 0000000000..75e03cc52a --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PETG-ESD @Snapmaker U1 base.json @@ -0,0 +1,77 @@ +{ + "type": "filament", + "name": "Fiberon PETG-ESD @Snapmaker U1 base", + "inherits": "fdm_filament_petg", + "from": "system", + "filament_id": "GFL06", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "31" + ], + "fan_max_speed": [ + "20" + ], + "fan_min_speed": [ + "10" + ], + "filament_density": [ + "1.24" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "280" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature_range_high": [ + "290" + ], + "nozzle_temperature_range_low": [ + "250" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "77" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_type": [ + "PETG" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PETG-ESD @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PETG-ESD @Snapmaker U1.json new file mode 100644 index 0000000000..f357b62272 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PETG-ESD @Snapmaker U1.json @@ -0,0 +1,24 @@ +{ + "type": "filament", + "name": "Fiberon PETG-ESD @Snapmaker U1", + "inherits": "Fiberon PETG-ESD @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL06_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + + "pressure_advance": [ + "0.04" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1 base.json new file mode 100644 index 0000000000..271ee8bb5d --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1 base.json @@ -0,0 +1,92 @@ +{ + "type": "filament", + "name": "Fiberon PPS-GF20 @Snapmaker U1 base", + "inherits": "fdm_filament_abs", + "from": "system", + "filament_id": "GFL73", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "Cool Plate" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "cool_plate_temp": [ + "105" + ], + "cool_plate_temp_initial_layer": [ + "105" + ], + "eng_plate_temp": [ + "105" + ], + "eng_plate_temp_initial_layer": [ + "105" + ], + "fan_cooling_layer_time": [ + "12" + ], + "fan_max_speed": [ + "10" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "1.03" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "105" + ], + "hot_plate_temp_initial_layer": [ + "105" + ], + "nozzle_temperature": [ + "300" + ], + "nozzle_temperature_initial_layer": [ + "300" + ], + "nozzle_temperature_range_high": [ + "330" + ], + "nozzle_temperature_range_low": [ + "300" + ], + "overhang_fan_speed": [ + "40" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "30" + ], + "temperature_vitrification": [ + "110" + ], + "textured_plate_temp": [ + "105" + ], + "textured_plate_temp_initial_layer": [ + "105" + ], + "filament_type": [ + "ABS" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1.json new file mode 100644 index 0000000000..ade0333b56 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Fiberon PPS-GF20 @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Fiberon PPS-GF20 @Snapmaker U1", + "inherits": "Fiberon PPS-GF20 @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL73_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "description": " " +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @Snapmaker U1 base.json similarity index 51% rename from resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @U1 base.json rename to resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @Snapmaker U1 base.json index 3d78cca727..85f728d3f3 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @Snapmaker U1 base.json @@ -1,19 +1,31 @@ { "type": "filament", - "name": "Panchroma CoPE @U1 base", + "name": "Panchroma CoPE @Snapmaker U1 base", "inherits": "fdm_filament_pla", "from": "system", "filament_id": "GFPM016", "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], "filament_cost": [ "19.99" ], "filament_density": [ "1.29" ], - "filament_flow_ratio": [ - "0.98" - ], "filament_max_volumetric_speed": [ "20" ], @@ -27,15 +39,33 @@ "230" ], "nozzle_temperature_range_high": [ - "240" + "230" ], "nozzle_temperature_range_low": [ - "190" + "200" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" ], "slow_down_layer_time": [ "4" ], + "slow_down_min_speed": [ + "5" + ], "temperature_vitrification": [ - "58" + "58.2" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" ] } diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @Snapmaker U1.json new file mode 100644 index 0000000000..e2fcea837e --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma CoPE @Snapmaker U1", + "renamed_from": "Panchroma CoPE @U1", + "inherits": "Panchroma CoPE @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM016_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @U1.json deleted file mode 100644 index 3a60d064ab..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma CoPE @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma CoPE @U1", - "inherits": "Panchroma CoPE @U1 base", - "from": "system", - "setting_id": "GFSPM016_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @Snapmaker U1 base.json new file mode 100644 index 0000000000..2695cbee54 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM001", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "19.99" + ], + "filament_density": [ + "1.32" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "62.5" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @Snapmaker U1.json new file mode 100644 index 0000000000..333d625917 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @Snapmaker U1.json @@ -0,0 +1,18 @@ +{ + "type": "filament", + "name": "Panchroma PLA @Snapmaker U1", + "renamed_from": "Panchroma PLA @U1", + "inherits": "Panchroma PLA @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM001_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_wipe": [ + "0" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @U1 base.json deleted file mode 100644 index e7006dd19f..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @U1 base.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM001", - "instantiation": "false", - "filament_cost": [ - "19.99" - ], - "filament_density": [ - "1.32" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "filament_wipe": [ - "0" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "58" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @U1.json deleted file mode 100644 index b440f583e5..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA @U1", - "inherits": "Panchroma PLA @U1 base", - "from": "system", - "setting_id": "GFSPM001_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @Snapmaker U1 base.json new file mode 100644 index 0000000000..5b4b8725c2 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Celestial @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM008", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @Snapmaker U1.json new file mode 100644 index 0000000000..203dd24b91 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Celestial @Snapmaker U1", + "renamed_from": "Panchroma PLA Celestial @U1", + "inherits": "Panchroma PLA Celestial @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM008_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @U1 base.json deleted file mode 100644 index 3efe023bad..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Celestial @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM008", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @U1.json deleted file mode 100644 index 6cd4aec9d0..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Celestial @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Celestial @U1", - "inherits": "Panchroma PLA Celestial @U1 base", - "from": "system", - "setting_id": "GFSPM008_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @Snapmaker U1 base.json new file mode 100644 index 0000000000..6b14e2b663 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Galaxy @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM007", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @Snapmaker U1.json new file mode 100644 index 0000000000..cd80f7c940 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Galaxy @Snapmaker U1", + "renamed_from": "Panchroma PLA Galaxy @U1", + "inherits": "Panchroma PLA Galaxy @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM007_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @U1 base.json deleted file mode 100644 index a9f649d8c4..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Galaxy @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM007", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @U1.json deleted file mode 100644 index 1fdd654844..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Galaxy @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Galaxy @U1", - "inherits": "Panchroma PLA Galaxy @U1 base", - "from": "system", - "setting_id": "GFSPM007_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @Snapmaker U1 base.json new file mode 100644 index 0000000000..9e9936c4a4 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Glow @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM010", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @Snapmaker U1.json new file mode 100644 index 0000000000..6b0e8a7736 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Glow @Snapmaker U1", + "renamed_from": "Panchroma PLA Glow @U1", + "inherits": "Panchroma PLA Glow @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM010_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @U1 base.json deleted file mode 100644 index bc4c05d449..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Glow @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM010", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @U1.json deleted file mode 100644 index 28ce6ffeaa..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Glow @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Glow @U1", - "inherits": "Panchroma PLA Glow @U1 base", - "from": "system", - "setting_id": "GFSPM010_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @Snapmaker U1 base.json new file mode 100644 index 0000000000..0e996eb298 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Luminous @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM011", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @Snapmaker U1.json new file mode 100644 index 0000000000..89bacd40d3 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Luminous @Snapmaker U1", + "renamed_from": "Panchroma PLA Luminous @U1", + "inherits": "Panchroma PLA Luminous @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM011_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @U1 base.json deleted file mode 100644 index 0a2f214514..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Luminous @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM011", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @U1.json deleted file mode 100644 index c1e57c3682..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Luminous @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Luminous @U1", - "inherits": "Panchroma PLA Luminous @U1 base", - "from": "system", - "setting_id": "GFSPM011_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @Snapmaker U1 base.json new file mode 100644 index 0000000000..83ae20eb10 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Marble @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM003", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @Snapmaker U1.json new file mode 100644 index 0000000000..fe034fabdc --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Marble @Snapmaker U1", + "renamed_from": "Panchroma PLA Marble @U1", + "inherits": "Panchroma PLA Marble @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM003_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @U1 base.json deleted file mode 100644 index b241d93ba2..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Marble @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM003", - "instantiation": "false", - "filament_cost": [ - "21.99" - ], - "filament_density": [ - "1.31" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @U1.json deleted file mode 100644 index 3d263cb16e..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Marble @U1.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Marble @U1", - "inherits": "Panchroma PLA Marble @U1 base", - "from": "system", - "setting_id": "GFSPM003_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @Snapmaker U1 base.json new file mode 100644 index 0000000000..6d178bca81 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Matte @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM002", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @Snapmaker U1.json new file mode 100644 index 0000000000..412825477f --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Matte @Snapmaker U1", + "renamed_from": "Panchroma PLA Matte @U1", + "inherits": "Panchroma PLA Matte @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM002_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @U1 base.json deleted file mode 100644 index f608c126a9..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Matte @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM002", - "instantiation": "false", - "filament_cost": [ - "20.99" - ], - "filament_density": [ - "1.31" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @U1.json deleted file mode 100644 index 89de736551..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Matte @U1.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Matte @U1", - "inherits": "Panchroma PLA Matte @U1 base", - "from": "system", - "setting_id": "GFSPM002_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @Snapmaker U1 base.json new file mode 100644 index 0000000000..28b2984832 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Metallic @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM012", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @Snapmaker U1.json new file mode 100644 index 0000000000..12dc18fae0 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Metallic @Snapmaker U1", + "renamed_from": "Panchroma PLA Metallic @U1", + "inherits": "Panchroma PLA Metallic @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM012_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @U1 base.json deleted file mode 100644 index 33d18d4905..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Metallic @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM012", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @U1.json deleted file mode 100644 index 3ac6a4fa38..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Metallic @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Metallic @U1", - "inherits": "Panchroma PLA Metallic @U1 base", - "from": "system", - "setting_id": "GFSPM012_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @Snapmaker U1 base.json new file mode 100644 index 0000000000..eedf3117a8 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Neon @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM013", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @Snapmaker U1.json new file mode 100644 index 0000000000..63c1e4f410 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Neon @Snapmaker U1", + "renamed_from": "Panchroma PLA Neon @U1", + "inherits": "Panchroma PLA Neon @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM013_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @U1 base.json deleted file mode 100644 index b982f2f862..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Neon @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM013", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @U1.json deleted file mode 100644 index dcbc24ddd5..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Neon @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Neon @U1", - "inherits": "Panchroma PLA Neon @U1 base", - "from": "system", - "setting_id": "GFSPM013_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @Snapmaker U1 base.json new file mode 100644 index 0000000000..df011d8dd3 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Satin @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM005", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "20.99" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "59" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @Snapmaker U1.json new file mode 100644 index 0000000000..4fc8a85ce5 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Satin @Snapmaker U1", + "renamed_from": "Panchroma PLA Satin @U1", + "inherits": "Panchroma PLA Satin @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM005_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @U1 base.json deleted file mode 100644 index 059527d14a..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @U1 base.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Satin @U1 base", - "renamed_from": "Panchroma PLA Stain @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM005", - "instantiation": "false", - "filament_cost": [ - "20.99" - ], - "filament_density": [ - "1.24" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "59" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @U1.json deleted file mode 100644 index b2a79e1390..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Satin @U1.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Satin @U1", - "renamed_from": "Panchroma PLA Stain @U1", - "inherits": "Panchroma PLA Satin @U1 base", - "from": "system", - "setting_id": "GFSPM005_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @Snapmaker U1 base.json new file mode 100644 index 0000000000..daa8a6ffca --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @Snapmaker U1 base.json @@ -0,0 +1,68 @@ +{ + "type": "filament", + "name": "Panchroma PLA Silk @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM004", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "24.99" + ], + "filament_density": [ + "1.34" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "58.2" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @Snapmaker U1.json new file mode 100644 index 0000000000..6a6ed14fa2 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Silk @Snapmaker U1", + "renamed_from": "Panchroma PLA Silk @U1", + "inherits": "Panchroma PLA Silk @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM004_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @U1 base.json deleted file mode 100644 index d1d74e9a7d..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Silk @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM004", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.31" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "230" - ], - "nozzle_temperature_initial_layer": [ - "230" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "58" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @U1.json deleted file mode 100644 index f9a4f18139..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Silk @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Silk @U1", - "inherits": "Panchroma PLA Silk @U1 base", - "from": "system", - "setting_id": "GFSPM004_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "12" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @Snapmaker U1 base.json new file mode 100644 index 0000000000..c2841b4572 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Starlight @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM009", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @Snapmaker U1.json new file mode 100644 index 0000000000..7c2e1ab3c6 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Starlight @Snapmaker U1", + "renamed_from": "Panchroma PLA Starlight @U1", + "inherits": "Panchroma PLA Starlight @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM009_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @U1 base.json deleted file mode 100644 index 4eb9174b3f..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Starlight @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM009", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @U1.json deleted file mode 100644 index 3dc0084fa1..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Starlight @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Starlight @U1", - "inherits": "Panchroma PLA Starlight @U1 base", - "from": "system", - "setting_id": "GFSPM009_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @Snapmaker U1 base.json similarity index 91% rename from resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @U1 base.json rename to resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @Snapmaker U1 base.json index a486646d79..f0ccd46a65 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @Snapmaker U1 base.json @@ -1,6 +1,6 @@ { "type": "filament", - "name": "Panchroma PLA Temp Shift @U1 base", + "name": "Panchroma PLA Temp Shift @Snapmaker U1 base", "inherits": "fdm_filament_pla", "from": "system", "filament_id": "GFPM015", diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @Snapmaker U1.json similarity index 68% rename from resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @U1.json rename to resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @Snapmaker U1.json index cb5f9fe5f0..cbe8096274 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @U1.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Temp Shift @Snapmaker U1.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Panchroma PLA Temp Shift @U1", - "inherits": "Panchroma PLA Temp Shift @U1 base", + "name": "Panchroma PLA Temp Shift @Snapmaker U1", + "renamed_from": "Panchroma PLA Temp Shift @U1", + "inherits": "Panchroma PLA Temp Shift @Snapmaker U1 base", "from": "system", "setting_id": "GFSPM015_00", "instantiation": "true", diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @Snapmaker U1 base.json new file mode 100644 index 0000000000..81d275cfaf --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA Translucent @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM006", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @Snapmaker U1.json new file mode 100644 index 0000000000..fed2fcd2bd --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA Translucent @Snapmaker U1", + "renamed_from": "Panchroma PLA Translucent @U1", + "inherits": "Panchroma PLA Translucent @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM006_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @U1 base.json deleted file mode 100644 index 052424ed48..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Translucent @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM006", - "instantiation": "false", - "filament_cost": [ - "24.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @U1.json deleted file mode 100644 index 31af9d2bb8..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA Translucent @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA Translucent @U1", - "inherits": "Panchroma PLA Translucent @U1 base", - "from": "system", - "setting_id": "GFSPM006_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @Snapmaker U1 base.json new file mode 100644 index 0000000000..7ac70319b2 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "Panchroma PLA UV Shift @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFPM014", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @Snapmaker U1.json new file mode 100644 index 0000000000..df6a376077 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "Panchroma PLA UV Shift @Snapmaker U1", + "renamed_from": "Panchroma PLA UV Shift @U1", + "inherits": "Panchroma PLA UV Shift @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSPM014_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @U1 base.json deleted file mode 100644 index b2dd71f33e..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @U1 base.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA UV Shift @U1 base", - "inherits": "fdm_filament_pla", - "from": "system", - "filament_id": "GFPM014", - "instantiation": "false", - "filament_cost": [ - "29.99" - ], - "filament_density": [ - "1.17" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "nozzle_temperature": [ - "220" - ], - "nozzle_temperature_initial_layer": [ - "220" - ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "slow_down_layer_time": [ - "4" - ], - "temperature_vitrification": [ - "61" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @U1.json deleted file mode 100644 index 92b67abe04..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Panchroma PLA UV Shift @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Panchroma PLA UV Shift @U1", - "inherits": "Panchroma PLA UV Shift @U1 base", - "from": "system", - "setting_id": "GFSPM014_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite CosPLA @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite CosPLA @Snapmaker U1 base.json new file mode 100644 index 0000000000..228df29a92 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite CosPLA @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyLite CosPLA @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL62", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "20.99" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "59" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite CosPLA @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite CosPLA @Snapmaker U1.json new file mode 100644 index 0000000000..4f3d7bb398 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite CosPLA @Snapmaker U1.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyLite CosPLA @Snapmaker U1", + "inherits": "PolyLite CosPLA @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL62_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG @Snapmaker U1 base.json new file mode 100644 index 0000000000..e8fdd834fe --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG @Snapmaker U1 base.json @@ -0,0 +1,86 @@ +{ + "type": "filament", + "name": "PolyLite PETG @Snapmaker U1 base", + "inherits": "fdm_filament_petg", + "from": "system", + "filament_id": "GFG60", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.92" + ], + "filament_max_volumetric_speed": [ + "7.5" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "81" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_type": [ + "PETG" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG @Snapmaker U1.json index c904f01da0..eda129418d 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG @Snapmaker U1.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG @Snapmaker U1.json @@ -1,117 +1,24 @@ { "type": "filament", "name": "PolyLite PETG @Snapmaker U1", + "inherits": "PolyLite PETG @Snapmaker U1 base", "from": "system", + "setting_id": "GFSG60_00", "instantiation": "true", - "cool_plate_temp": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "overhang_fan_threshold": [ - "95%" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "filament_flow_ratio": [ - "0.92" - ], - "fan_cooling_layer_time": [ - "20" - ], - "filament_cost": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_max_volumetric_speed": [ - "7.5" + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" ], "filament_minimal_purge_on_wipe_tower": [ "15" ], - "filament_vendor": [ - "Polymaker" - ], - "bed_type": [ - "Cool Plate" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "full_fan_speed_layer": [ - "0" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "0" - ], - "slow_down_min_speed": [ - "10" - ], - "slow_down_layer_time": [ - "6" - ], - "filament_start_gcode": [ - "; Filament gcode\n" - ], - "nozzle_temperature": [ - "260" - ], - "temperature_vitrification": [ - "81" - ], - "filament_id": "PMPE04", - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "230" - ], "supertack_plate_temp": [ "70" ], "supertack_plate_temp_initial_layer": [ "70" ], - "setting_id": "PMPE04_U1", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], + "pressure_advance": [ "0.05" - ], - "inherits": "PolyLite PETG @Base" + ] } diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG Translucent @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG Translucent @Snapmaker U1 base.json new file mode 100644 index 0000000000..607649e569 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG Translucent @Snapmaker U1 base.json @@ -0,0 +1,86 @@ +{ + "type": "filament", + "name": "PolyLite PETG Translucent @Snapmaker U1 base", + "inherits": "fdm_filament_petg", + "from": "system", + "filament_id": "GFL74", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "40" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.25" + ], + "filament_flow_ratio": [ + "0.92" + ], + "filament_max_volumetric_speed": [ + "7.5" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "81" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_type": [ + "PETG" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG Translucent @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG Translucent @Snapmaker U1.json new file mode 100644 index 0000000000..9007bf7507 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PETG Translucent @Snapmaker U1.json @@ -0,0 +1,24 @@ +{ + "type": "filament", + "name": "PolyLite PETG Translucent @Snapmaker U1", + "inherits": "PolyLite PETG Translucent @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL74_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + + "pressure_advance": [ + "0.05" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @Snapmaker U1 base.json new file mode 100644 index 0000000000..8f3b508aec --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyLite PLA @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL00", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @Snapmaker U1.json new file mode 100644 index 0000000000..62eb0798cc --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "PolyLite PLA @Snapmaker U1", + "renamed_from": "PolyLite PLA @U1", + "inherits": "PolyLite PLA @Snapmaker U1 base", + "from": "system", + "setting_id": "6486836500", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @U1 base.json deleted file mode 100644 index 9401e09caf..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @U1 base.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "filament", - "from": "system", - "instantiation": "false", - "name": "PolyLite PLA @U1 base", - "filament_id": "13938660340", - "inherits": "fdm_filament_pla", - "filament_flow_ratio": [ - "0.95" - ], - "filament_cost": [ - "90" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "default_filament_colour": [ - "" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @U1.json deleted file mode 100644 index d361109ae6..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA @U1.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "filament", - "from": "system", - "instantiation": "true", - "name": "PolyLite PLA @U1", - "setting_id": "6486836500", - "inherits": "PolyLite PLA @U1 base", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Galaxy @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Galaxy @Snapmaker U1 base.json new file mode 100644 index 0000000000..fc925c8faa --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Galaxy @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyLite PLA Galaxy @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL63", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Galaxy @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Galaxy @Snapmaker U1.json new file mode 100644 index 0000000000..adc7cb12d3 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Galaxy @Snapmaker U1.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyLite PLA Galaxy @Snapmaker U1", + "inherits": "PolyLite PLA Galaxy @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL63_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Glow @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Glow @Snapmaker U1 base.json new file mode 100644 index 0000000000..cc74173c06 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Glow @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyLite PLA Glow @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL64", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Glow @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Glow @Snapmaker U1.json new file mode 100644 index 0000000000..7bb103ab7e --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Glow @Snapmaker U1.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyLite PLA Glow @Snapmaker U1", + "inherits": "PolyLite PLA Glow @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL64_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Luminous @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Luminous @Snapmaker U1 base.json new file mode 100644 index 0000000000..a472e0bec0 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Luminous @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyLite PLA Luminous @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL65", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Luminous @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Luminous @Snapmaker U1.json new file mode 100644 index 0000000000..e9642afc2d --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Luminous @Snapmaker U1.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyLite PLA Luminous @Snapmaker U1", + "inherits": "PolyLite PLA Luminous @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL65_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Neon @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Neon @Snapmaker U1 base.json new file mode 100644 index 0000000000..5638bec3ff --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Neon @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyLite PLA Neon @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL66", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Neon @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Neon @Snapmaker U1.json new file mode 100644 index 0000000000..f40bfd290f --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Neon @Snapmaker U1.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyLite PLA Neon @Snapmaker U1", + "inherits": "PolyLite PLA Neon @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL66_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @Snapmaker U1 base.json similarity index 92% rename from resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @U1 base.json rename to resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @Snapmaker U1 base.json index 9708883d0e..c32655ff83 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @Snapmaker U1 base.json @@ -1,6 +1,6 @@ { "type": "filament", - "name": "PolyLite PLA Pro @U1 base", + "name": "PolyLite PLA Pro @Snapmaker U1 base", "inherits": "fdm_filament_pla", "from": "system", "filament_id": "GFPM019", diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @Snapmaker U1.json similarity index 71% rename from resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @U1.json rename to resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @Snapmaker U1.json index 865b177f4e..acd8c7ff72 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @U1.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro @Snapmaker U1.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "PolyLite PLA Pro @U1", - "inherits": "PolyLite PLA Pro @U1 base", + "name": "PolyLite PLA Pro @Snapmaker U1", + "renamed_from": "PolyLite PLA Pro @U1", + "inherits": "PolyLite PLA Pro @Snapmaker U1 base", "from": "system", "setting_id": "GFSPM019_00", "instantiation": "true", diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro Metallic @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro Metallic @Snapmaker U1 base.json new file mode 100644 index 0000000000..898460830f --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro Metallic @Snapmaker U1 base.json @@ -0,0 +1,80 @@ +{ + "type": "filament", + "name": "PolyLite PLA Pro Metallic @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL75", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_for_layer_cooling": [ + "1", + "0", + "0", + "0" + ], + "slow_down_layer_time": [ + "10" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "62" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro Metallic @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro Metallic @Snapmaker U1.json new file mode 100644 index 0000000000..e02ed22fac --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Pro Metallic @Snapmaker U1.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "name": "PolyLite PLA Pro Metallic @Snapmaker U1", + "inherits": "PolyLite PLA Pro Metallic @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL75_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_end_gcode": [ + "; filament end gcode \n\n" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >55)||(bed_temperature_initial_layer[current_extruder] >55)}M106 P3 S200\n{elsif(bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S150\n{elsif(bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S50\n{endif}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "description": " ", + "enable_overhang_bridge_fan": [ + "1", + "0", + "0", + "0" + ], + "enable_pressure_advance": [ + "0" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Starlight @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Starlight @Snapmaker U1 base.json new file mode 100644 index 0000000000..17e4d2816a --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Starlight @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyLite PLA Starlight @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL67", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Starlight @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Starlight @Snapmaker U1.json new file mode 100644 index 0000000000..ffdfc293fb --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Starlight @Snapmaker U1.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyLite PLA Starlight @Snapmaker U1", + "inherits": "PolyLite PLA Starlight @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL67_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Translucent @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Translucent @Snapmaker U1 base.json new file mode 100644 index 0000000000..29341f1c59 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Translucent @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyLite PLA Translucent @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL68", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "29.99" + ], + "filament_density": [ + "1.17" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Translucent @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Translucent @Snapmaker U1.json new file mode 100644 index 0000000000..b4c83fcb94 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyLite PLA Translucent @Snapmaker U1.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyLite PLA Translucent @Snapmaker U1", + "inherits": "PolyLite PLA Translucent @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL68_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @Snapmaker U1 base.json new file mode 100644 index 0000000000..533e781485 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL01", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @Snapmaker U1.json new file mode 100644 index 0000000000..1ab5d59bec --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @Snapmaker U1.json @@ -0,0 +1,15 @@ +{ + "type": "filament", + "name": "PolyTerra PLA @Snapmaker U1", + "renamed_from": "PolyTerra PLA @U1", + "inherits": "PolyTerra PLA @Snapmaker U1 base", + "from": "system", + "setting_id": "12580059400", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @U1 base.json deleted file mode 100644 index e6a4ed5197..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @U1 base.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "filament", - "from": "system", - "instantiation": "false", - "name": "PolyTerra PLA @U1 base", - "filament_id": "37895926870", - "inherits": "fdm_filament_pla", - "filament_cost": [ - "80" - ], - "filament_density": [ - "1.31" - ], - "filament_max_volumetric_speed": [ - "14.4" - ], - "default_filament_colour": [ - "" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @U1.json deleted file mode 100644 index 2ae299695f..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA @U1.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "filament", - "from": "system", - "instantiation": "true", - "name": "PolyTerra PLA @U1", - "setting_id": "12580059400", - "inherits": "PolyTerra PLA @U1 base", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA Marble @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA Marble @Snapmaker U1 base.json new file mode 100644 index 0000000000..141740a499 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA Marble @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyTerra PLA Marble @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL69", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "21.99" + ], + "filament_density": [ + "1.37" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "61" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA Marble @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA Marble @Snapmaker U1.json new file mode 100644 index 0000000000..90261c8d46 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA Marble @Snapmaker U1.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyTerra PLA Marble @Snapmaker U1", + "inherits": "PolyTerra PLA Marble @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL69_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA+ @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA+ @Snapmaker U1 base.json new file mode 100644 index 0000000000..19bec7d25b --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA+ @Snapmaker U1 base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "name": "PolyTerra PLA+ @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL70", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "filament_cost": [ + "20.99" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_speed": [ + "75" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "4" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "59" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA+ @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA+ @Snapmaker U1.json new file mode 100644 index 0000000000..ad807f99e1 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/PolyTerra PLA+ @Snapmaker U1.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "PolyTerra PLA+ @Snapmaker U1", + "inherits": "PolyTerra PLA+ @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL70_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @Snapmaker U1 base.json similarity index 59% rename from resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @U1 base.json rename to resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @Snapmaker U1 base.json index 491e4e2fb2..b447be1455 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @Snapmaker U1 base.json @@ -1,21 +1,39 @@ { "type": "filament", - "name": "Polymaker HT-PLA @U1 base", + "name": "Polymaker HT-PLA @Snapmaker U1 base", "inherits": "fdm_filament_pla", "from": "system", "filament_id": "GFPM017", "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], "filament_cost": [ - "26.99" + "0" ], "filament_density": [ "1.28" ], "filament_flow_ratio": [ - "0.98" + "0.96" ], "filament_max_volumetric_speed": [ - "20" + "15" ], "filament_vendor": [ "Polymaker" @@ -29,25 +47,31 @@ "nozzle_temperature": [ "220" ], - "nozzle_temperature_initial_layer": [ - "220" - ], "nozzle_temperature_range_high": [ "230" ], "nozzle_temperature_range_low": [ "210" ], + "overhang_fan_threshold": [ + "50%" + ], "slow_down_layer_time": [ - "4" + "6" + ], + "slow_down_min_speed": [ + "5" ], "temperature_vitrification": [ - "60" + "59.8" ], "textured_plate_temp": [ - "65" + "50" ], "textured_plate_temp_initial_layer": [ - "65" + "50" + ], + "filament_type": [ + "PLA" ] } diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @Snapmaker U1.json index 9e8d24a5aa..1dc9da3491 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @Snapmaker U1.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @Snapmaker U1.json @@ -1,96 +1,15 @@ { "type": "filament", "name": "Polymaker HT-PLA @Snapmaker U1", + "renamed_from": "Polymaker HT-PLA @U1", + "inherits": "Polymaker HT-PLA @Snapmaker U1 base", "from": "system", + "setting_id": "GFSPM017_00", "instantiation": "true", - "cool_plate_temp": [ - "50" - ], - "eng_plate_temp": [ - "50" - ], - "hot_plate_temp": [ - "65" - ], - "textured_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "overhang_fan_threshold": [ - "50%" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_cost": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "bed_type": [ - "Cool Plate" - ], - "full_fan_speed_layer": [ - "0" - ], - "fan_max_speed": [ - "100" - ], - "slow_down_min_speed": [ - "5" - ], - "slow_down_layer_time": [ - "6" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "nozzle_temperature": [ - "220" - ], - "temperature_vitrification": [ - "60" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "setting_id": "PMPL02_U1", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], - "inherits": "Polymaker HT-PLA @Base", - "filament_id": "PMPL02" + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] } diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @U1.json deleted file mode 100644 index 77641bc103..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Polymaker HT-PLA @U1", - "inherits": "Polymaker HT-PLA @U1 base", - "from": "system", - "setting_id": "GFSPM017_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @Snapmaker U1 base.json similarity index 59% rename from resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @U1 base.json rename to resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @Snapmaker U1 base.json index b3c7aaf23d..a98cb9b670 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @U1 base.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @Snapmaker U1 base.json @@ -1,21 +1,39 @@ { "type": "filament", - "name": "Polymaker HT-PLA-GF @U1 base", + "name": "Polymaker HT-PLA-GF @Snapmaker U1 base", "inherits": "fdm_filament_pla", "from": "system", "filament_id": "GFPM018", "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], "filament_cost": [ - "32.99" + "0" ], "filament_density": [ "1.34" ], "filament_flow_ratio": [ - "0.98" + "1.04" ], "filament_max_volumetric_speed": [ - "20" + "15" ], "filament_vendor": [ "Polymaker" @@ -29,25 +47,31 @@ "nozzle_temperature": [ "220" ], - "nozzle_temperature_initial_layer": [ - "220" - ], "nozzle_temperature_range_high": [ "230" ], "nozzle_temperature_range_low": [ "210" ], + "overhang_fan_threshold": [ + "50%" + ], "slow_down_layer_time": [ - "4" + "6" + ], + "slow_down_min_speed": [ + "5" ], "temperature_vitrification": [ - "60" + "59.76" ], "textured_plate_temp": [ - "65" + "50" ], "textured_plate_temp_initial_layer": [ - "65" + "50" + ], + "filament_type": [ + "PLA" ] } diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @Snapmaker U1.json index d22198f225..5ef9570687 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @Snapmaker U1.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @Snapmaker U1.json @@ -1,96 +1,15 @@ { "type": "filament", "name": "Polymaker HT-PLA-GF @Snapmaker U1", + "renamed_from": "Polymaker HT-PLA-GF @U1", + "inherits": "Polymaker HT-PLA-GF @Snapmaker U1 base", "from": "system", + "setting_id": "GFSPM018_00", "instantiation": "true", - "cool_plate_temp": [ - "50" - ], - "eng_plate_temp": [ - "50" - ], - "hot_plate_temp": [ - "65" - ], - "textured_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "overhang_fan_threshold": [ - "50%" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "filament_flow_ratio": [ - "1.04" - ], - "filament_cost": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "bed_type": [ - "Cool Plate" - ], - "full_fan_speed_layer": [ - "0" - ], - "fan_max_speed": [ - "100" - ], - "slow_down_min_speed": [ - "5" - ], - "slow_down_layer_time": [ - "6" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "nozzle_temperature": [ - "220" - ], - "temperature_vitrification": [ - "60" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "setting_id": "PMPL01_U1", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], - "inherits": "Polymaker HT-PLA-GF @Base", - "filament_id": "PMPL01" + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] } diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @U1.json deleted file mode 100644 index 21f6d9c7ef..0000000000 --- a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker HT-PLA-GF @U1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Polymaker HT-PLA-GF @U1", - "inherits": "Polymaker HT-PLA-GF @U1 base", - "from": "system", - "setting_id": "GFSPM018_00", - "instantiation": "true", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "fan_max_speed": [ - "100" - ], - "fan_min_speed": [ - "100" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "20" - ], - "slow_down_layer_time": [ - "4" - ] -} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG @Snapmaker U1 base.json new file mode 100644 index 0000000000..2209516118 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG @Snapmaker U1 base.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Polymaker PETG @Snapmaker U1 base", + "inherits": "fdm_filament_petg", + "from": "system", + "filament_id": "GFL76", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "fan_max_speed": [ + "10" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "71.24" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_type": [ + "PETG" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG @Snapmaker U1.json index cca59b8c23..4b8ff8daf2 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG @Snapmaker U1.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG @Snapmaker U1.json @@ -1,111 +1,20 @@ { "type": "filament", "name": "Polymaker PETG @Snapmaker U1", + "inherits": "Polymaker PETG @Snapmaker U1 base", "from": "system", + "setting_id": "GFSL76_00", "instantiation": "true", - "cool_plate_temp": [ - "60" - ], - "eng_plate_temp": [ - "0" - ], - "hot_plate_temp": [ - "80" - ], - "textured_plate_temp": [ - "80" - ], - "cool_plate_temp_initial_layer": [ - "60" - ], - "eng_plate_temp_initial_layer": [ - "0" - ], - "hot_plate_temp_initial_layer": [ - "80" - ], - "textured_plate_temp_initial_layer": [ - "80" - ], - "overhang_fan_threshold": [ - "95%" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_cost": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_max_volumetric_speed": [ - "15" + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" ], "filament_minimal_purge_on_wipe_tower": [ "15" ], - "filament_vendor": [ - "Polymaker" - ], - "bed_type": [ - "Cool Plate" - ], - "nozzle_temperature_initial_layer": [ - "260" - ], - "full_fan_speed_layer": [ - "0" - ], - "fan_max_speed": [ - "10" - ], - "fan_min_speed": [ - "50" - ], - "slow_down_min_speed": [ - "10" - ], - "slow_down_layer_time": [ - "6" - ], - "filament_start_gcode": [ - "; Filament gcode\n" - ], - "nozzle_temperature": [ - "260" - ], - "temperature_vitrification": [ - "71" - ], - "filament_id": "PMPE01", - "nozzle_temperature_range_high": [ - "260" - ], - "nozzle_temperature_range_low": [ - "240" - ], "supertack_plate_temp": [ "70" ], "supertack_plate_temp_initial_layer": [ "70" - ], - "setting_id": "PMPE01_U1", - "compatible_printers": [ - "Snapmaker U1 (0.4 nozzle)" - ], - "inherits": "Polymaker PETG @Base" + ] } diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG Galaxy @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG Galaxy @Snapmaker U1 base.json new file mode 100644 index 0000000000..5e32b79620 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG Galaxy @Snapmaker U1 base.json @@ -0,0 +1,83 @@ +{ + "type": "filament", + "name": "Polymaker PETG Galaxy @Snapmaker U1 base", + "inherits": "fdm_filament_petg", + "from": "system", + "filament_id": "GFL77", + "instantiation": "false", + "bed_type": [ + "Cool Plate" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "fan_max_speed": [ + "10" + ], + "fan_min_speed": [ + "50" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.3" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "260" + ], + "nozzle_temperature_initial_layer": [ + "260" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "240" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "95%" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "10" + ], + "temperature_vitrification": [ + "71.24" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_type": [ + "PETG" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG Galaxy @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG Galaxy @Snapmaker U1.json new file mode 100644 index 0000000000..47b67bb9ed --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PETG Galaxy @Snapmaker U1.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "name": "Polymaker PETG Galaxy @Snapmaker U1", + "inherits": "Polymaker PETG Galaxy @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL77_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA @Snapmaker U1 base.json new file mode 100644 index 0000000000..ebd4e5b11a --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA @Snapmaker U1 base.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Polymaker PLA @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL78", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "20" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "50" + ], + "hot_plate_temp_initial_layer": [ + "50" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "5" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "59" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA @Snapmaker U1.json new file mode 100644 index 0000000000..d20e23922f --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA @Snapmaker U1.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "name": "Polymaker PLA @Snapmaker U1", + "inherits": "Polymaker PLA @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL78_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_extruder_variant": [ + "Direct Drive Standard" + ], + "pressure_advance": [ + "0.05" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro @Snapmaker U1 base.json new file mode 100644 index 0000000000..a15908f18e --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro @Snapmaker U1 base.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Polymaker PLA Pro @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL79", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "55" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro @Snapmaker U1.json index 23d7dfad46..2cb55a8ee5 100644 --- a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro @Snapmaker U1.json +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro @Snapmaker U1.json @@ -1,96 +1,14 @@ { "type": "filament", "name": "Polymaker PLA Pro @Snapmaker U1", + "inherits": "Polymaker PLA Pro @Snapmaker U1 base", "from": "system", + "setting_id": "GFSL79_00", "instantiation": "true", - "cool_plate_temp": [ - "50" - ], - "eng_plate_temp": [ - "50" - ], - "hot_plate_temp": [ - "65" - ], - "textured_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "65" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], - "overhang_fan_threshold": [ - "50%" - ], - "overhang_fan_speed": [ - "100" - ], - "slow_down_for_layer_cooling": [ - "1" - ], - "filament_end_gcode": [ - "; filament end gcode \n" - ], - "filament_flow_ratio": [ - "0.96" - ], - "filament_cost": [ - "0" - ], - "filament_diameter": [ - "1.75" - ], - "filament_max_volumetric_speed": [ - "15" - ], - "filament_minimal_purge_on_wipe_tower": [ - "15" - ], - "filament_vendor": [ - "Polymaker" - ], - "bed_type": [ - "Cool Plate" - ], - "full_fan_speed_layer": [ - "0" - ], - "fan_max_speed": [ - "100" - ], - "slow_down_min_speed": [ - "5" - ], - "slow_down_layer_time": [ - "6" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ], - "nozzle_temperature": [ - "220" - ], - "temperature_vitrification": [ - "61" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "additional_cooling_fan_speed": [ - "0" - ], - "setting_id": "PMPL03_U1", "compatible_printers": [ "Snapmaker U1 (0.4 nozzle)" ], - "inherits": "Polymaker PLA Pro @Base", - "filament_id": "PMPL03" + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] } diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro Metallic @Snapmaker U1 base.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro Metallic @Snapmaker U1 base.json new file mode 100644 index 0000000000..9e2fc3f4e5 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro Metallic @Snapmaker U1 base.json @@ -0,0 +1,74 @@ +{ + "type": "filament", + "name": "Polymaker PLA Pro Metallic @Snapmaker U1 base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "GFL80", + "instantiation": "false", + "additional_cooling_fan_speed": [ + "0" + ], + "bed_type": [ + "Cool Plate" + ], + "cool_plate_temp": [ + "50" + ], + "cool_plate_temp_initial_layer": [ + "50" + ], + "eng_plate_temp": [ + "50" + ], + "eng_plate_temp_initial_layer": [ + "50" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "1.23" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_vendor": [ + "Polymaker" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "nozzle_temperature": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "overhang_fan_threshold": [ + "50%" + ], + "slow_down_layer_time": [ + "6" + ], + "slow_down_min_speed": [ + "5" + ], + "temperature_vitrification": [ + "55" + ], + "textured_plate_temp": [ + "50" + ], + "textured_plate_temp_initial_layer": [ + "50" + ], + "filament_type": [ + "PLA" + ] +} diff --git a/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro Metallic @Snapmaker U1.json b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro Metallic @Snapmaker U1.json new file mode 100644 index 0000000000..463c0f2e81 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Polymaker/Polymaker PLA Pro Metallic @Snapmaker U1.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "Polymaker PLA Pro Metallic @Snapmaker U1", + "inherits": "Polymaker PLA Pro Metallic @Snapmaker U1 base", + "from": "system", + "setting_id": "GFSL80_00", + "instantiation": "true", + "compatible_printers": [ + "Snapmaker U1 (0.4 nozzle)" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ] +} diff --git a/resources/profiles/Z-Bolt.json b/resources/profiles/Z-Bolt.json index c38063472e..0c9d52be1f 100644 --- a/resources/profiles/Z-Bolt.json +++ b/resources/profiles/Z-Bolt.json @@ -148,8 +148,20 @@ "sub_path": "process/0.16mm Standard @Z-Bolt 0.6 nozzle.json" }, { - "name": "0.20mm High Quality @Z-Bolt 0.6 nozzle", - "sub_path": "process/0.20mm High Quality @Z-Bolt 0.6 nozzle.json" + "name": "0.16mm Standard @Z-Bolt S300 0.6 nozzle", + "sub_path": "process/0.16mm Standard @Z-Bolt S300 0.6 nozzle.json" + }, + { + "name": "0.16mm Standard @Z-Bolt S400 0.6 nozzle", + "sub_path": "process/0.16mm Standard @Z-Bolt S400 0.6 nozzle.json" + }, + { + "name": "0.16mm Standard @Z-Bolt S600 0.6 nozzle", + "sub_path": "process/0.16mm Standard @Z-Bolt S600 0.6 nozzle.json" + }, + { + "name": "0.16mm Standard @Z-Bolt S800 0.6 nozzle", + "sub_path": "process/0.16mm Standard @Z-Bolt S800 0.6 nozzle.json" }, { "name": "0.20mm Standard @Z-Bolt 0.4 nozzle", @@ -159,10 +171,30 @@ "name": "0.20mm Strength @Z-Bolt 0.4 nozzle", "sub_path": "process/0.20mm Strength @Z-Bolt 0.4 nozzle.json" }, + { + "name": "0.20mm High Quality @Z-Bolt 0.6 nozzle", + "sub_path": "process/0.20mm High Quality @Z-Bolt 0.6 nozzle.json" + }, { "name": "0.20mm Standard @Z-Bolt 0.6 nozzle", "sub_path": "process/0.20mm Standard @Z-Bolt 0.6 nozzle.json" }, + { + "name": "0.20mm Standard @Z-Bolt S300 0.6 nozzle", + "sub_path": "process/0.20mm Standard @Z-Bolt S300 0.6 nozzle.json" + }, + { + "name": "0.20mm Standard @Z-Bolt S400 0.6 nozzle", + "sub_path": "process/0.20mm Standard @Z-Bolt S400 0.6 nozzle.json" + }, + { + "name": "0.20mm Standard @Z-Bolt S600 0.6 nozzle", + "sub_path": "process/0.20mm Standard @Z-Bolt S600 0.6 nozzle.json" + }, + { + "name": "0.20mm Standard @Z-Bolt S800 0.6 nozzle", + "sub_path": "process/0.20mm Standard @Z-Bolt S800 0.6 nozzle.json" + }, { "name": "0.24mm Draft @Z-Bolt 0.4 nozzle", "sub_path": "process/0.24mm Draft @Z-Bolt 0.4 nozzle.json" @@ -171,10 +203,42 @@ "name": "0.24mm Standard @Z-Bolt 0.6 nozzle", "sub_path": "process/0.24mm Standard @Z-Bolt 0.6 nozzle.json" }, + { + "name": "0.24mm Standard @Z-Bolt S300 0.6 nozzle", + "sub_path": "process/0.24mm Standard @Z-Bolt S300 0.6 nozzle.json" + }, + { + "name": "0.24mm Standard @Z-Bolt S400 0.6 nozzle", + "sub_path": "process/0.24mm Standard @Z-Bolt S400 0.6 nozzle.json" + }, + { + "name": "0.24mm Standard @Z-Bolt S600 0.6 nozzle", + "sub_path": "process/0.24mm Standard @Z-Bolt S600 0.6 nozzle.json" + }, + { + "name": "0.24mm Standard @Z-Bolt S800 0.6 nozzle", + "sub_path": "process/0.24mm Standard @Z-Bolt S800 0.6 nozzle.json" + }, { "name": "0.24mm Standard @Z-Bolt 0.8 nozzle", "sub_path": "process/0.24mm Standard @Z-Bolt 0.8 nozzle.json" }, + { + "name": "0.24mm Standard @Z-Bolt S300 0.8 nozzle", + "sub_path": "process/0.24mm Standard @Z-Bolt S300 0.8 nozzle.json" + }, + { + "name": "0.24mm Standard @Z-Bolt S400 0.8 nozzle", + "sub_path": "process/0.24mm Standard @Z-Bolt S400 0.8 nozzle.json" + }, + { + "name": "0.24mm Standard @Z-Bolt S600 0.8 nozzle", + "sub_path": "process/0.24mm Standard @Z-Bolt S600 0.8 nozzle.json" + }, + { + "name": "0.24mm Standard @Z-Bolt S800 0.8 nozzle", + "sub_path": "process/0.24mm Standard @Z-Bolt S800 0.8 nozzle.json" + }, { "name": "0.28mm Extra Draft @Z-Bolt 0.4 nozzle", "sub_path": "process/0.28mm Extra Draft @Z-Bolt 0.4 nozzle.json" @@ -183,29 +247,141 @@ "name": "0.30mm Standard @Z-Bolt 0.6 nozzle", "sub_path": "process/0.30mm Standard @Z-Bolt 0.6 nozzle.json" }, + { + "name": "0.30mm Standard @Z-Bolt S300 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Z-Bolt S300 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Z-Bolt S400 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Z-Bolt S400 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Z-Bolt S600 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Z-Bolt S600 0.6 nozzle.json" + }, + { + "name": "0.30mm Standard @Z-Bolt S800 0.6 nozzle", + "sub_path": "process/0.30mm Standard @Z-Bolt S800 0.6 nozzle.json" + }, { "name": "0.30mm Strength @Z-Bolt 0.6 nozzle", "sub_path": "process/0.30mm Strength @Z-Bolt 0.6 nozzle.json" }, + { + "name": "0.30mm Strength @Z-Bolt S300 0.6 nozzle", + "sub_path": "process/0.30mm Strength @Z-Bolt S300 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Z-Bolt S400 0.6 nozzle", + "sub_path": "process/0.30mm Strength @Z-Bolt S400 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Z-Bolt S600 0.6 nozzle", + "sub_path": "process/0.30mm Strength @Z-Bolt S600 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Z-Bolt S800 0.6 nozzle", + "sub_path": "process/0.30mm Strength @Z-Bolt S800 0.6 nozzle.json" + }, { "name": "0.32mm Standard @Z-Bolt 0.8 nozzle", "sub_path": "process/0.32mm Standard @Z-Bolt 0.8 nozzle.json" }, + { + "name": "0.32mm Standard @Z-Bolt S300 0.8 nozzle", + "sub_path": "process/0.32mm Standard @Z-Bolt S300 0.8 nozzle.json" + }, + { + "name": "0.32mm Standard @Z-Bolt S400 0.8 nozzle", + "sub_path": "process/0.32mm Standard @Z-Bolt S400 0.8 nozzle.json" + }, + { + "name": "0.32mm Standard @Z-Bolt S600 0.8 nozzle", + "sub_path": "process/0.32mm Standard @Z-Bolt S600 0.8 nozzle.json" + }, + { + "name": "0.32mm Standard @Z-Bolt S800 0.8 nozzle", + "sub_path": "process/0.32mm Standard @Z-Bolt S800 0.8 nozzle.json" + }, { "name": "0.36mm Standard @Z-Bolt 0.6 nozzle", "sub_path": "process/0.36mm Standard @Z-Bolt 0.6 nozzle.json" }, + { + "name": "0.36mm Standard @Z-Bolt S300 0.6 nozzle", + "sub_path": "process/0.36mm Standard @Z-Bolt S300 0.6 nozzle.json" + }, + { + "name": "0.36mm Standard @Z-Bolt S400 0.6 nozzle", + "sub_path": "process/0.36mm Standard @Z-Bolt S400 0.6 nozzle.json" + }, + { + "name": "0.36mm Standard @Z-Bolt S600 0.6 nozzle", + "sub_path": "process/0.36mm Standard @Z-Bolt S600 0.6 nozzle.json" + }, + { + "name": "0.36mm Standard @Z-Bolt S800 0.6 nozzle", + "sub_path": "process/0.36mm Standard @Z-Bolt S800 0.6 nozzle.json" + }, { "name": "0.40mm Standard @Z-Bolt 0.8 nozzle", "sub_path": "process/0.40mm Standard @Z-Bolt 0.8 nozzle.json" }, + { + "name": "0.40mm Standard @Z-Bolt S300 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Z-Bolt S300 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Z-Bolt S400 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Z-Bolt S400 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Z-Bolt S600 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Z-Bolt S600 0.8 nozzle.json" + }, + { + "name": "0.40mm Standard @Z-Bolt S800 0.8 nozzle", + "sub_path": "process/0.40mm Standard @Z-Bolt S800 0.8 nozzle.json" + }, { "name": "0.42mm Standard @Z-Bolt 0.6 nozzle", "sub_path": "process/0.42mm Standard @Z-Bolt 0.6 nozzle.json" }, + { + "name": "0.42mm Standard @Z-Bolt S300 0.6 nozzle", + "sub_path": "process/0.42mm Standard @Z-Bolt S300 0.6 nozzle.json" + }, + { + "name": "0.42mm Standard @Z-Bolt S400 0.6 nozzle", + "sub_path": "process/0.42mm Standard @Z-Bolt S400 0.6 nozzle.json" + }, + { + "name": "0.42mm Standard @Z-Bolt S600 0.6 nozzle", + "sub_path": "process/0.42mm Standard @Z-Bolt S600 0.6 nozzle.json" + }, + { + "name": "0.42mm Standard @Z-Bolt S800 0.6 nozzle", + "sub_path": "process/0.42mm Standard @Z-Bolt S800 0.6 nozzle.json" + }, { "name": "0.48mm Standard @Z-Bolt 0.8 nozzle", "sub_path": "process/0.48mm Standard @Z-Bolt 0.8 nozzle.json" + }, + { + "name": "0.48mm Standard @Z-Bolt S300 0.8 nozzle", + "sub_path": "process/0.48mm Standard @Z-Bolt S300 0.8 nozzle.json" + }, + { + "name": "0.48mm Standard @Z-Bolt S400 0.8 nozzle", + "sub_path": "process/0.48mm Standard @Z-Bolt S400 0.8 nozzle.json" + }, + { + "name": "0.48mm Standard @Z-Bolt S600 0.8 nozzle", + "sub_path": "process/0.48mm Standard @Z-Bolt S600 0.8 nozzle.json" + }, + { + "name": "0.48mm Standard @Z-Bolt S800 0.8 nozzle", + "sub_path": "process/0.48mm Standard @Z-Bolt S800 0.8 nozzle.json" } ], "filament_list": [ @@ -213,6 +389,18 @@ "name": "Generic ABS @Z-Bolt Base", "sub_path": "filament/Generic ABS @Z-Bolt Base.json" }, + { + "name": "Generic PA @Z-Bolt Base", + "sub_path": "filament/Generic PA @Z-Bolt Base.json" + }, + { + "name": "Generic PETG @Z-Bolt Base", + "sub_path": "filament/Generic PETG @Z-Bolt Base.json" + }, + { + "name": "Generic PLA @Z-Bolt Base", + "sub_path": "filament/Generic PLA @Z-Bolt Base.json" + }, { "name": "Generic ABS @Z-Bolt 0.4 nozzle", "sub_path": "filament/Generic ABS @Z-Bolt 0.4 nozzle.json" @@ -226,8 +414,8 @@ "sub_path": "filament/Generic ABS @Z-Bolt 0.8 nozzle.json" }, { - "name": "Generic PA @Z-Bolt Base", - "sub_path": "filament/Generic PA @Z-Bolt Base.json" + "name": "Generic ABS HT @Z-Bolt Base", + "sub_path": "filament/Generic ABS HT @Z-Bolt Base.json" }, { "name": "Generic PA @Z-Bolt 0.4 nozzle", @@ -241,10 +429,6 @@ "name": "Generic PA @Z-Bolt 0.8 nozzle", "sub_path": "filament/Generic PA @Z-Bolt 0.8 nozzle.json" }, - { - "name": "Generic PETG @Z-Bolt Base", - "sub_path": "filament/Generic PETG @Z-Bolt Base.json" - }, { "name": "Generic PETG @Z-Bolt 0.4 nozzle", "sub_path": "filament/Generic PETG @Z-Bolt 0.4 nozzle.json" @@ -257,10 +441,6 @@ "name": "Generic PETG @Z-Bolt 0.8 nozzle", "sub_path": "filament/Generic PETG @Z-Bolt 0.8 nozzle.json" }, - { - "name": "Generic PLA @Z-Bolt Base", - "sub_path": "filament/Generic PLA @Z-Bolt Base.json" - }, { "name": "Generic PLA @Z-Bolt 0.4 nozzle", "sub_path": "filament/Generic PLA @Z-Bolt 0.4 nozzle.json" @@ -273,10 +453,6 @@ "name": "Generic PLA @Z-Bolt 0.8 nozzle", "sub_path": "filament/Generic PLA @Z-Bolt 0.8 nozzle.json" }, - { - "name": "Generic ABS HT @Z-Bolt Base", - "sub_path": "filament/Generic ABS HT @Z-Bolt Base.json" - }, { "name": "Generic ABS HT @Z-Bolt 0.4 nozzle", "sub_path": "filament/Generic ABS HT @Z-Bolt 0.4 nozzle.json" diff --git a/resources/profiles/re3D.json b/resources/profiles/re3D.json index b081d3d6d9..7ab68290f2 100644 --- a/resources/profiles/re3D.json +++ b/resources/profiles/re3D.json @@ -50,25 +50,25 @@ "name": "0.26 Standard", "sub_path": "process/0.26mm Standard @re3D fdm 0.4.json" }, - { - "name": "0.32 Draft", - "sub_path": "process/0.32mm Draft @re3D fdm 0.4.json" - }, { "name": "0.3 Fine", "sub_path": "process/0.3mm Fine @re3D fdm 0.8.json" }, + { + "name": "0.32 Draft", + "sub_path": "process/0.32mm Draft @re3D fdm 0.4.json" + }, { "name": "0.4 Standard", "sub_path": "process/0.4mm Draft @re3D fdm 0.8.json" }, - { - "name": "1.0 Standard", - "sub_path": "process/1.0mm Standard @re3D fgf 1.75.json" - }, { "name": "0.6 Standard", "sub_path": "process/0.6mm Standard @re3D fgf 0.8.json" + }, + { + "name": "1.0 Standard", + "sub_path": "process/1.0mm Standard @re3D fgf 1.75.json" } ], "filament_list": [ @@ -77,53 +77,21 @@ "sub_path": "filament/fdm_filament_common.json" }, { - "name": "fdm_filament_pla", - "sub_path": "filament/fdm_filament_pla.json" + "name": "fdm_filament_pc", + "sub_path": "filament/fdm_filament_pc.json" }, { "name": "fdm_filament_pet", "sub_path": "filament/fdm_filament_pet.json" }, { - "name": "fdm_filament_pc", - "sub_path": "filament/fdm_filament_pc.json" - }, - { - "name": "re3D PLA", - "sub_path": "filament/re3D PLA.json" - }, - { - "name": "re3D PETG", - "sub_path": "filament/re3D PETG.json" + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" }, { "name": "re3D PC", "sub_path": "filament/re3D PC.json" }, - { - "name": "re3D Greengate rPETG", - "sub_path": "filament/re3D Greengate rPETG.json" - }, - { - "name": "re3D rPP", - "sub_path": "filament/re3D rPP.json" - }, - { - "name": "re3D PLA @0.4 nozzle", - "sub_path": "filament/re3D PLA @0.4 nozzle.json" - }, - { - "name": "re3D PLA @0.8 nozzle", - "sub_path": "filament/re3D PLA @0.8 nozzle.json" - }, - { - "name": "re3D PETG @0.4 nozzle", - "sub_path": "filament/re3D PETG @0.4 nozzle.json" - }, - { - "name": "re3D PETG @0.8 nozzle", - "sub_path": "filament/re3D PETG @0.8 nozzle.json" - }, { "name": "re3D PC @0.4 nozzle", "sub_path": "filament/re3D PC @0.4 nozzle.json" @@ -132,6 +100,10 @@ "name": "re3D PC @0.8 nozzle", "sub_path": "filament/re3D PC @0.8 nozzle.json" }, + { + "name": "re3D Greengate rPETG", + "sub_path": "filament/re3D Greengate rPETG.json" + }, { "name": "re3D Greengate rPETG @0.8 nozzle", "sub_path": "filament/re3D Greengate rPETG @0.8 nozzle.json" @@ -140,6 +112,22 @@ "name": "re3D Greengate rPETG @1.75 nozzle", "sub_path": "filament/re3D Greengate rPETG @1.75 nozzle.json" }, + { + "name": "re3D PETG", + "sub_path": "filament/re3D PETG.json" + }, + { + "name": "re3D PETG @0.4 nozzle", + "sub_path": "filament/re3D PETG @0.4 nozzle.json" + }, + { + "name": "re3D PETG @0.8 nozzle", + "sub_path": "filament/re3D PETG @0.8 nozzle.json" + }, + { + "name": "re3D rPP", + "sub_path": "filament/re3D rPP.json" + }, { "name": "re3D rPP @0.8 nozzle", "sub_path": "filament/re3D rPP @0.8 nozzle.json" @@ -147,6 +135,18 @@ { "name": "re3D rPP @1.75 nozzle", "sub_path": "filament/re3D rPP @1.75 nozzle.json" + }, + { + "name": "re3D PLA", + "sub_path": "filament/re3D PLA.json" + }, + { + "name": "re3D PLA @0.4 nozzle", + "sub_path": "filament/re3D PLA @0.4 nozzle.json" + }, + { + "name": "re3D PLA @0.8 nozzle", + "sub_path": "filament/re3D PLA @0.8 nozzle.json" } ], "machine_list": [ @@ -178,6 +178,14 @@ "name": "re3D Gigabot 4 XLT 0.8 nozzle", "sub_path": "machine/re3D Gigabot 4 XLT 0.8 nozzle.json" }, + { + "name": "re3D Terabot 4 0.4 nozzle", + "sub_path": "machine/re3D Terabot 4 0.4 nozzle.json" + }, + { + "name": "re3D Terabot 4 0.8 nozzle", + "sub_path": "machine/re3D Terabot 4 0.8 nozzle.json" + }, { "name": "re3D GigabotX 2 0.8 nozzle", "sub_path": "machine/re3D GigabotX 2 0.8 nozzle.json" @@ -194,14 +202,6 @@ "name": "re3D GigabotX 2 XLT 1.75 nozzle", "sub_path": "machine/re3D GigabotX 2 XLT 1.75 nozzle.json" }, - { - "name": "re3D Terabot 4 0.4 nozzle", - "sub_path": "machine/re3D Terabot 4 0.4 nozzle.json" - }, - { - "name": "re3D Terabot 4 0.8 nozzle", - "sub_path": "machine/re3D Terabot 4 0.8 nozzle.json" - }, { "name": "re3D TerabotX 2 0.8 nozzle", "sub_path": "machine/re3D TerabotX 2 0.8 nozzle.json" @@ -211,4 +211,4 @@ "sub_path": "machine/re3D TerabotX 2 1.75 nozzle.json" } ] -} \ No newline at end of file +} From 6b55e324c9ed97f5006899dbc3824b1c979b66dd Mon Sep 17 00:00:00 2001 From: Ian Chua Date: Fri, 29 May 2026 15:49:36 +0800 Subject: [PATCH 32/69] fix: temporary wxstring going out of scope causing crash on linux (#13925) --- src/slic3r/GUI/GUI_App.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 082eb12b6a..8a1d317b97 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -2981,7 +2981,11 @@ bool GUI_App::on_init_inner() } #endif - if (scrn) { scrn->SetText(_L("Creating main window") + dots); wxYield(); } + if (scrn) { + const auto scrn_txt = _L("Creating main window") + dots; + scrn->SetText(scrn_txt); + wxYield(); + } BOOST_LOG_TRIVIAL(info) << "create the main window"; mainframe = new MainFrame(); // hide settings tabs after first Layout From 83946f3df8bd3ec69fb3223ce2346df7a1420abc Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Sat, 30 May 2026 00:09:47 +0300 Subject: [PATCH 33/69] Fix division by zero in organic tree support generation (#13936) --- src/libslic3r/Support/TreeSupport3D.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/Support/TreeSupport3D.cpp b/src/libslic3r/Support/TreeSupport3D.cpp index 9b6758b8c2..8c3a66398a 100644 --- a/src/libslic3r/Support/TreeSupport3D.cpp +++ b/src/libslic3r/Support/TreeSupport3D.cpp @@ -124,6 +124,9 @@ static std::vector>> group_me { std::vector>> grouped_meshes; + // Orca: Recompute static mesh-group state for this support generation pass. + TreeSupportSettings::zero_top_z_gap = false; + //FIXME this is ugly, it does not belong here. for (size_t object_id : print_object_ids) { const PrintObject &print_object = *print.get_object(object_id); @@ -1604,9 +1607,14 @@ static Point move_inside_if_outside(const Polygons &polygons, Point from, int di if (settings.move) { increased = relevant_offset; if (overspeed > 0) { - const coord_t safe_movement_distance = + coord_t safe_movement_distance = (current_elem.use_min_xy_dist ? config.xy_min_distance : config.xy_distance) + (std::min(config.z_distance_top_layers, config.z_distance_bottom_layers) > 0 ? config.min_feature_size : 0); + // Orca: + // safe_movement_distance is used as the safe_offset_inc() step, so keep it non-zero + // to preserve branch movement with zero-clearance support settings. + if (safe_movement_distance == 0) + safe_movement_distance = scaled(0.1); // The difference to ensure that the result not only conforms to wall_restriction, but collision/avoidance is done later. // The higher last_safe_step_movement_distance comes exactly from the fact that the collision will be subtracted later. increased = safe_offset_inc(increased, overspeed, volumes.getWallRestriction(support_element_collision_radius(config, parent.state), layer_idx, parent.state.use_min_xy_dist), @@ -1817,9 +1825,15 @@ static void increase_areas_one_layer( * layer z-1:dddddxxxxxxxxxx * For more detailed visualisation see calculateWallRestrictions */ - const coord_t safe_movement_distance = + coord_t safe_movement_distance = (elem.use_min_xy_dist ? config.xy_min_distance : config.xy_distance) + (std::min(config.z_distance_top_layers, config.z_distance_bottom_layers) > 0 ? config.min_feature_size : 0); + + // safe_movement_distance is used as a divisor and as the safe_offset_inc() step, + // so keep it non-zero to avoid division by zero and preserve branch movement. + if (safe_movement_distance == 0) + safe_movement_distance = scaled(0.1); + if (ceiled_parent_radius == volumes.ceilRadius(projected_radius_increased, parent.state.use_min_xy_dist) || projected_radius_increased < config.increase_radius_until_radius) // If it is guaranteed possible to increase the radius, the maximum movement speed can be increased, as it is assumed that the maximum movement speed is the one of the slower moving wall From 9a01df4a800bb3333ae748d230b95416b2b77cf7 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Sat, 30 May 2026 03:16:59 -0300 Subject: [PATCH 34/69] Filament for features for SEMM (#13937) * Remove limit for SEMM * Remove legacy check * Revert "Remove legacy check" This reverts commit c6e5074114c5544974b07612c06faee3e78a912c. --- src/slic3r/GUI/ConfigManipulation.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 1df4dba9c2..49b4410d18 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -836,9 +836,6 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co toggle_line("enable_tower_interface_cooldown_during_tower", have_prime_tower && config->opt_bool("enable_tower_interface_features")); - for (auto el : {"wall_filament", "sparse_infill_filament", "solid_infill_filament", "wipe_tower_filament"}) - toggle_line(el, !bSEMM); - bool purge_in_primetower = preset_bundle->printers.get_edited_preset().config.opt_bool("purge_in_prime_tower"); for (auto el : {"wipe_tower_rotation_angle", "wipe_tower_cone_angle", From 9d8c7cc495c43af8041abbb48ff2a489418aba80 Mon Sep 17 00:00:00 2001 From: Tobias Gloth Date: Sat, 30 May 2026 04:51:31 -0400 Subject: [PATCH 35/69] use /bigobj when building Eigen with MSVC (#13922) --- deps/Eigen/Eigen.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/deps/Eigen/Eigen.cmake b/deps/Eigen/Eigen.cmake index ed87582b16..599976debb 100644 --- a/deps/Eigen/Eigen.cmake +++ b/deps/Eigen/Eigen.cmake @@ -1,5 +1,11 @@ +set(_eigen_extra_flags "") +if (MSVC) + set(_eigen_extra_flags "-DCMAKE_CXX_FLAGS:STRING=/bigobj") +endif () + orcaslicer_add_cmake_project(Eigen URL https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.zip URL_HASH SHA256=0dbb1f9e3aaad66f352c03227d8c983f6f0b49e0b07e71a7300f4abcc01aee12 + CMAKE_ARGS "${_eigen_extra_flags}" DEPENDS dep_Boost dep_GMP dep_MPFR ) From 61e2abfb2b9cf5bfad8db54678e78baaa1519746 Mon Sep 17 00:00:00 2001 From: Wegerich Date: Sat, 30 May 2026 14:57:54 +0100 Subject: [PATCH 36/69] Enhance G92 E0 case sensitivity check (#13933) --- src/libslic3r/Print.cpp | 72 +++++++++++++++++++++++++++++------------ 1 file changed, 51 insertions(+), 21 deletions(-) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index a335e29b82..d53a168ec2 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -1254,10 +1254,6 @@ StringObjectException Print::check_multi_filament_valid(const Print& print) return ret; } -// Orca: this g92e0 regex is used copied from PrusaSlicer -// Matches "G92 E0" with various forms of writing the zero and with an optional comment. -boost::regex regex_g92e0 { "^[ \\t]*[gG]92[ \\t]*[eE](0(\\.0*)?|\\.0+)[ \\t]*(;.*)?$" }; - // Precondition: Print::validate() requires the Print::apply() to be called its invocation. //BBS: refine seq-print validation logic.....FIXME:StringObjectException *warning can only contain one warning, but there might be many warnings, need a vector StringObjectException Print::validate(StringObjectException *warning, Polygons* collison_polygons, std::vector>* height_polygons) const @@ -1675,26 +1671,60 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons* } // Orca: G92 E0 is not supported when using absolute extruder addressing - // This check is copied from PrusaSlicer, the original author is Vojtech Bubnik - if(!is_BBL_printer()) { - bool before_layer_gcode_resets_extruder = - boost::regex_search(m_config.before_layer_change_gcode.value, regex_g92e0); - bool layer_gcode_resets_extruder = boost::regex_search(m_config.layer_change_gcode.value, regex_g92e0); - if (m_config.use_relative_e_distances) { - // See GH issues #6336 #5073 - if ((m_config.gcode_flavor == gcfMarlinLegacy || m_config.gcode_flavor == gcfMarlinFirmware) && - !before_layer_gcode_resets_extruder && !layer_gcode_resets_extruder) - return {L("Relative extruder addressing requires resetting the extruder position at each layer to " - "prevent loss of floating point accuracy. Add \"G92 E0\" to layer_gcode."), - nullptr, "before_layer_change_gcode"}; - } else if (before_layer_gcode_resets_extruder) - return {L("\"G92 E0\" was found in before_layer_gcode, which is incompatible with absolute extruder " + // This check is modified from PrusaSlicer, the original author is Vojtech Bubnik + // Orca: case‑sensitive match for exactly "G92 E0" (uppercase G and E only) + // because gcode is case sensitive and G92 e0 satisfies the regex but causes a slicing error + // https://github.com/OrcaSlicer/OrcaSlicer/issues/13927 + + // Matches any case of "G92 E0" (original pattern) + static const boost::regex regex_g92e0 { + "^[ \\t]*[gG]92[ \\t]*[eE](0(\\.0*)?|\\.0+)[ \\t]*(;.*)?$" + }; + // Matches only the exact uppercase "G92 E0" + static const boost::regex regex_g92e0_correct { + "^[ \\t]*G92[ \\t]*E(0(\\.0*)?|\\.0+)[ \\t]*(;.*)?$" + }; + + const bool before_has_g92_any = boost::regex_search( + m_config.before_layer_change_gcode.value, regex_g92e0); + const bool layer_has_g92_any = boost::regex_search( + m_config.layer_change_gcode.value, regex_g92e0); + + if (m_config.use_relative_e_distances) { + // Relative mode: "G92 E0" is required to reset extruder position. + const bool before_has_g92_exact = boost::regex_search( + m_config.before_layer_change_gcode.value, regex_g92e0_correct); + const bool layer_has_g92_exact = boost::regex_search( + m_config.layer_change_gcode.value, regex_g92e0_correct); + + // Wrong case found? + if (before_has_g92_any && !before_has_g92_exact) + return {L("\"G92 E0\" was found in before_layer_change_gcode, but the G or E are not uppercase. " + "Please change them to the exact uppercase \"G92 E0\"."), + nullptr, "before_layer_change_gcode"}; + if (layer_has_g92_any && !layer_has_g92_exact) + return {L("\"G92 E0\" was found in layer_change_gcode, but the G or E are not uppercase. " + "Please change them to the exact uppercase \"G92 E0\"."), + nullptr, "layer_change_gcode"}; + + // Only Marlin flavours need the reset; BBL printers do not. + if ((m_config.gcode_flavor == gcfMarlinLegacy || m_config.gcode_flavor == gcfMarlinFirmware) && + !is_BBL_printer() && + !before_has_g92_exact && !layer_has_g92_exact) + return {L("Relative extruder addressing requires resetting the extruder position at each layer to " + "prevent loss of floating point accuracy. Add \"G92 E0\" to layer_gcode."), + nullptr, "before_layer_change_gcode"}; + } else { + // Absolute mode: any occurrence of "G92 E0" is incompatible. + if (before_has_g92_any) + return {L("\"G92 E0\" was found in before_layer_change_gcode, which is incompatible with absolute extruder " "addressing."), nullptr, "before_layer_change_gcode"}; - else if (layer_gcode_resets_extruder) - return {L("\"G92 E0\" was found in layer_gcode, which is incompatible with absolute extruder addressing."), + if (layer_has_g92_any) + return {L("\"G92 E0\" was found in layer_change_gcode, which is incompatible with absolute extruder " + "addressing."), nullptr, "layer_change_gcode"}; - } + } const ConfigOptionDef* bed_type_def = print_config_def.get("curr_bed_type"); assert(bed_type_def != nullptr); From b78d5b94dc4758801d9d89b53a13dd18c891c3b6 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sat, 30 May 2026 22:06:54 +0800 Subject: [PATCH 37/69] Add SeeMeCNC printer profiles (#13924) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add SeeMeCNC printer profiles Adds machine, filament, and process profiles for SeeMeCNC printers: Artemis, BOSSdelta 300, BOSSdelta 500 (0505/0510/0521), and RostockMAX v3.2/v4 — covering 0.4mm, 0.5mm, 0.7mm, and 1.0mm nozzles. Includes PLA, ABS, PETG, PETG-CF, PA-CF, and TPU filament profiles. Co-authored-by: Sam <47287571+Sewbot@users.noreply.github.com> * bump version --------- Co-authored-by: Sam <47287571+Sewbot@users.noreply.github.com> --- resources/profiles/SeeMeCNC.json | 694 ++++++++++++++++++ .../SeeMeCNC/SeeMeCNC Artemis 300_cover.png | Bin 0 -> 8270 bytes .../SeeMeCNC/SeeMeCNC BOSSdelta 300_cover.png | Bin 0 -> 7996 bytes .../SeeMeCNC BOSSdelta 500 0505_cover.png | Bin 0 -> 45019 bytes .../SeeMeCNC BOSSdelta 500 0510_cover.png | Bin 0 -> 34369 bytes .../SeeMeCNC BOSSdelta 500 0521_cover.png | Bin 0 -> 32495 bytes .../SeeMeCNC RostockMAX v3.2_cover.png | Bin 0 -> 28813 bytes .../SeeMeCNC/SeeMeCNC RostockMAX v4_cover.png | Bin 0 -> 23501 bytes .../SeeMeCNC/SeeMeCNC_Buildplate_Model.STL | Bin 0 -> 60084 bytes .../SeeMeCNC_Buildplate_Model_500.STL | Bin 0 -> 60084 bytes .../SeeMeCNC/SeeMeCNC_Buildplate_texture.png | Bin 0 -> 9085 bytes .../SeeMeCNC/filament/SeeMeCNC_ABS.json | 265 +++++++ .../SeeMeCNC/filament/SeeMeCNC_PA-CF.json | 268 +++++++ .../SeeMeCNC/filament/SeeMeCNC_PETG-CF.json | 265 +++++++ .../SeeMeCNC/filament/SeeMeCNC_PETG.json | 265 +++++++ .../SeeMeCNC/filament/SeeMeCNC_PLA.json | 447 +++++++++++ .../SeeMeCNC/filament/SeeMeCNC_TPU.json | 185 +++++ .../filament/SeeMeCNC_filament_base.json | 185 +++++ .../machine/SeeMeCNC Artemis 300.json | 15 + .../machine/SeeMeCNC BOSSdelta 300.json | 15 + .../machine/SeeMeCNC BOSSdelta 500 0505.json | 15 + .../machine/SeeMeCNC BOSSdelta 500 0510.json | 15 + .../machine/SeeMeCNC BOSSdelta 500 0521.json | 15 + .../machine/SeeMeCNC RostockMAX v3.2.json | 15 + .../machine/SeeMeCNC RostockMAX v4.json | 15 + .../machine/SeeMeCNC_Artemis_0_4mm.json | 351 +++++++++ .../machine/SeeMeCNC_Artemis_0_5mm.json | 351 +++++++++ .../machine/SeeMeCNC_Artemis_0_7mm.json | 351 +++++++++ .../machine/SeeMeCNC_Artemis_1_0mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0505_0_4mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0505_0_5mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0505_0_7mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0505_1_0mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0510_0_4mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0510_0_5mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0510_0_7mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0510_1_0mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0521_0_4mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0521_0_5mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0521_0_7mm.json | 351 +++++++++ .../SeeMeCNC_BOSSdelta500_0521_1_0mm.json | 351 +++++++++ .../machine/SeeMeCNC_BOSSdelta_300_0_4mm.json | 351 +++++++++ .../machine/SeeMeCNC_BOSSdelta_300_0_5mm.json | 351 +++++++++ .../machine/SeeMeCNC_BOSSdelta_300_0_7mm.json | 351 +++++++++ .../machine/SeeMeCNC_BOSSdelta_300_1_0mm.json | 351 +++++++++ .../SeeMeCNC_RostockMAX_v3.2_0_4mm.json | 351 +++++++++ .../SeeMeCNC_RostockMAX_v3.2_0_5mm.json | 351 +++++++++ .../SeeMeCNC_RostockMAX_v3.2_0_7mm.json | 351 +++++++++ .../SeeMeCNC_RostockMAX_v3.2_1_0mm.json | 351 +++++++++ .../machine/SeeMeCNC_RostockMAX_v4_0_4mm.json | 351 +++++++++ .../machine/SeeMeCNC_RostockMAX_v4_0_5mm.json | 351 +++++++++ .../machine/SeeMeCNC_RostockMAX_v4_0_7mm.json | 351 +++++++++ .../machine/SeeMeCNC_RostockMAX_v4_1_0mm.json | 351 +++++++++ .../0.16mm Fine @SeeMeCNC Artemis 0.4.json | 22 + ...16mm Fine @SeeMeCNC BOSSdelta 300 0.4.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0505 0.4.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0510 0.4.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0521 0.4.json | 22 + ...mm Fine @SeeMeCNC RostockMAX v3.2 0.4.json | 22 + ...16mm Fine @SeeMeCNC RostockMAX v4 0.4.json | 22 + ...m Draft @SeeMeCNC RostockMAX v3.2 0.4.json | 22 + .../0.20mm Fine @SeeMeCNC Artemis 0.5.json | 22 + ...20mm Fine @SeeMeCNC BOSSdelta 300 0.5.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0505 0.5.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0510 0.5.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0521 0.5.json | 22 + ...mm Fine @SeeMeCNC RostockMAX v3.2 0.5.json | 22 + ...20mm Fine @SeeMeCNC RostockMAX v4 0.5.json | 22 + ...0.20mm Standard @SeeMeCNC Artemis 0.4.json | 22 + ... Standard @SeeMeCNC BOSSdelta 300 0.4.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0505 0.4.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0510 0.4.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0521 0.4.json | 22 + ...tandard @SeeMeCNC RostockMAX v3.2 0.4.json | 22 + ... Standard @SeeMeCNC RostockMAX v4 0.4.json | 22 + .../0.24mm Draft @SeeMeCNC Artemis 0.4.json | 22 + ...4mm Draft @SeeMeCNC BOSSdelta 300 0.4.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0505 0.4.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0510 0.4.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0521 0.4.json | 22 + ...m Draft @SeeMeCNC RostockMAX v3.2 0.4.json | 22 + ...4mm Draft @SeeMeCNC RostockMAX v4 0.4.json | 22 + ...0.25mm Standard @SeeMeCNC Artemis 0.5.json | 22 + ... Standard @SeeMeCNC BOSSdelta 300 0.5.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0505 0.5.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0510 0.5.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0521 0.5.json | 22 + ...tandard @SeeMeCNC RostockMAX v3.2 0.5.json | 22 + ... Standard @SeeMeCNC RostockMAX v4 0.5.json | 22 + ...8mm Extra Draft @SeeMeCNC Artemis 0.4.json | 22 + ...tra Draft @SeeMeCNC BOSSdelta 300 0.4.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0505 0.4.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0510 0.4.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0521 0.4.json | 22 + ...a Draft @SeeMeCNC RostockMAX v3.2 0.4.json | 22 + ...tra Draft @SeeMeCNC RostockMAX v4 0.4.json | 22 + .../0.28mm Fine @SeeMeCNC Artemis 0.7.json | 22 + ...28mm Fine @SeeMeCNC BOSSdelta 300 0.7.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0505 0.7.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0510 0.7.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0521 0.7.json | 22 + ...mm Fine @SeeMeCNC RostockMAX v3.2 0.7.json | 22 + ...28mm Fine @SeeMeCNC RostockMAX v4 0.7.json | 22 + .../0.30mm Draft @SeeMeCNC Artemis 0.5.json | 22 + ...0mm Draft @SeeMeCNC BOSSdelta 300 0.5.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0505 0.5.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0510 0.5.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0521 0.5.json | 22 + ...m Draft @SeeMeCNC RostockMAX v3.2 0.5.json | 22 + ...0mm Draft @SeeMeCNC RostockMAX v4 0.5.json | 22 + ....30mm TPU Solid @SeeMeCNC Artemis 0.7.json | 34 + ...TPU Solid @SeeMeCNC BOSSdelta 300 0.7.json | 34 + ...olid @SeeMeCNC BOSSdelta 500 0505 0.7.json | 34 + ...olid @SeeMeCNC BOSSdelta 500 0510 0.7.json | 34 + ...olid @SeeMeCNC BOSSdelta 500 0521 0.7.json | 34 + ...U Solid @SeeMeCNC RostockMAX v3.2 0.7.json | 34 + ...TPU Solid @SeeMeCNC RostockMAX v4 0.7.json | 34 + ...5mm Extra Draft @SeeMeCNC Artemis 0.5.json | 22 + ...tra Draft @SeeMeCNC BOSSdelta 300 0.5.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0505 0.5.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0510 0.5.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0521 0.5.json | 22 + ...a Draft @SeeMeCNC RostockMAX v3.2 0.5.json | 22 + ...tra Draft @SeeMeCNC RostockMAX v4 0.5.json | 22 + ...0.35mm Standard @SeeMeCNC Artemis 0.7.json | 22 + ... Standard @SeeMeCNC BOSSdelta 300 0.7.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0505 0.7.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0510 0.7.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0521 0.7.json | 22 + ...tandard @SeeMeCNC RostockMAX v3.2 0.7.json | 22 + ... Standard @SeeMeCNC RostockMAX v4 0.7.json | 22 + ...0.35mm TPU Vase @SeeMeCNC Artemis 0.7.json | 37 + ... TPU Vase @SeeMeCNC BOSSdelta 300 0.7.json | 37 + ...Vase @SeeMeCNC BOSSdelta 500 0505 0.7.json | 37 + ...Vase @SeeMeCNC BOSSdelta 500 0510 0.7.json | 37 + ...Vase @SeeMeCNC BOSSdelta 500 0521 0.7.json | 37 + ...PU Vase @SeeMeCNC RostockMAX v3.2 0.7.json | 37 + ... TPU Vase @SeeMeCNC RostockMAX v4 0.7.json | 37 + .../0.40mm Fine @SeeMeCNC Artemis 1.0.json | 22 + ...40mm Fine @SeeMeCNC BOSSdelta 300 1.0.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0505 1.0.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0510 1.0.json | 22 + ...Fine @SeeMeCNC BOSSdelta 500 0521 1.0.json | 22 + ...mm Fine @SeeMeCNC RostockMAX v3.2 1.0.json | 22 + ...40mm Fine @SeeMeCNC RostockMAX v4 1.0.json | 22 + .../0.42mm Draft @SeeMeCNC Artemis 0.7.json | 22 + ...2mm Draft @SeeMeCNC BOSSdelta 300 0.7.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0505 0.7.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0510 0.7.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0521 0.7.json | 22 + ...m Draft @SeeMeCNC RostockMAX v3.2 0.7.json | 22 + ...2mm Draft @SeeMeCNC RostockMAX v4 0.7.json | 22 + ...9mm Extra Draft @SeeMeCNC Artemis 0.7.json | 22 + ...tra Draft @SeeMeCNC BOSSdelta 300 0.7.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0505 0.7.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0510 0.7.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0521 0.7.json | 22 + ...a Draft @SeeMeCNC RostockMAX v3.2 0.7.json | 22 + ...tra Draft @SeeMeCNC RostockMAX v4 0.7.json | 22 + ...0.50mm Standard @SeeMeCNC Artemis 1.0.json | 22 + ... Standard @SeeMeCNC BOSSdelta 300 1.0.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0505 1.0.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0510 1.0.json | 22 + ...dard @SeeMeCNC BOSSdelta 500 0521 1.0.json | 22 + ...tandard @SeeMeCNC RostockMAX v3.2 1.0.json | 22 + ... Standard @SeeMeCNC RostockMAX v4 1.0.json | 22 + .../0.60mm Draft @SeeMeCNC Artemis 1.0.json | 22 + ...0mm Draft @SeeMeCNC BOSSdelta 300 1.0.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0505 1.0.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0510 1.0.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0521 1.0.json | 22 + ...m Draft @SeeMeCNC RostockMAX v3.2 1.0.json | 22 + ...0mm Draft @SeeMeCNC RostockMAX v4 1.0.json | 22 + ...0mm Extra Draft @SeeMeCNC Artemis 1.0.json | 22 + ...tra Draft @SeeMeCNC BOSSdelta 300 1.0.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0505 1.0.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0510 1.0.json | 22 + ...raft @SeeMeCNC BOSSdelta 500 0521 1.0.json | 22 + ...a Draft @SeeMeCNC RostockMAX v3.2 1.0.json | 22 + ...tra Draft @SeeMeCNC RostockMAX v4 1.0.json | 22 + .../process/SeeMeCNC_process_base.json | 351 +++++++++ 181 files changed, 15841 insertions(+) create mode 100644 resources/profiles/SeeMeCNC.json create mode 100644 resources/profiles/SeeMeCNC/SeeMeCNC Artemis 300_cover.png create mode 100644 resources/profiles/SeeMeCNC/SeeMeCNC BOSSdelta 300_cover.png create mode 100644 resources/profiles/SeeMeCNC/SeeMeCNC BOSSdelta 500 0505_cover.png create mode 100644 resources/profiles/SeeMeCNC/SeeMeCNC BOSSdelta 500 0510_cover.png create mode 100644 resources/profiles/SeeMeCNC/SeeMeCNC BOSSdelta 500 0521_cover.png create mode 100644 resources/profiles/SeeMeCNC/SeeMeCNC RostockMAX v3.2_cover.png create mode 100644 resources/profiles/SeeMeCNC/SeeMeCNC RostockMAX v4_cover.png create mode 100644 resources/profiles/SeeMeCNC/SeeMeCNC_Buildplate_Model.STL create mode 100644 resources/profiles/SeeMeCNC/SeeMeCNC_Buildplate_Model_500.STL create mode 100644 resources/profiles/SeeMeCNC/SeeMeCNC_Buildplate_texture.png create mode 100644 resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS.json create mode 100644 resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA-CF.json create mode 100644 resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG-CF.json create mode 100644 resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG.json create mode 100644 resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA.json create mode 100644 resources/profiles/SeeMeCNC/filament/SeeMeCNC_TPU.json create mode 100644 resources/profiles/SeeMeCNC/filament/SeeMeCNC_filament_base.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC Artemis 300.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 300.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0505.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0510.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0521.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC RostockMAX v3.2.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC RostockMAX v4.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_4mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_5mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_7mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_1_0mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_4mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_5mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_7mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_1_0mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_4mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_5mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_7mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_1_0mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_4mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_5mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_7mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_1_0mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_4mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_5mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_7mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_1_0mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_4mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_5mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_7mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_1_0mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_4mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_5mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_7mm.json create mode 100644 resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_1_0mm.json create mode 100644 resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC Artemis 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC RostockMAX v4 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC Artemis 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC RostockMAX v4 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC Artemis 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC RostockMAX v4 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC Artemis 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC RostockMAX v4 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC Artemis 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC RostockMAX v4 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC Artemis 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC Artemis 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC RostockMAX v4 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC Artemis 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC RostockMAX v4 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC Artemis 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC Artemis 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC Artemis 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC RostockMAX v4 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC Artemis 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC Artemis 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC RostockMAX v4 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC Artemis 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC RostockMAX v4 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC Artemis 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7.json create mode 100644 resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC Artemis 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC RostockMAX v4 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC Artemis 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC RostockMAX v4 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC Artemis 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0.json create mode 100644 resources/profiles/SeeMeCNC/process/SeeMeCNC_process_base.json diff --git a/resources/profiles/SeeMeCNC.json b/resources/profiles/SeeMeCNC.json new file mode 100644 index 0000000000..401a0f81c9 --- /dev/null +++ b/resources/profiles/SeeMeCNC.json @@ -0,0 +1,694 @@ +{ + "name": "SeeMeCNC", + "version": "2.4.0.00", + "force_update": "1", + "description": "SeeMeCNC configurations - Full profile set for Artemis, BOSSdelta, and RostockMAX printers", + "machine_model_list": [ + { + "name": "SeeMeCNC Artemis 300", + "sub_path": "machine/SeeMeCNC Artemis 300.json" + }, + { + "name": "SeeMeCNC BOSSdelta 300", + "sub_path": "machine/SeeMeCNC BOSSdelta 300.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0505", + "sub_path": "machine/SeeMeCNC BOSSdelta 500 0505.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0510", + "sub_path": "machine/SeeMeCNC BOSSdelta 500 0510.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0521", + "sub_path": "machine/SeeMeCNC BOSSdelta 500 0521.json" + }, + { + "name": "SeeMeCNC RostockMAX v3.2", + "sub_path": "machine/SeeMeCNC RostockMAX v3.2.json" + }, + { + "name": "SeeMeCNC RostockMAX v4", + "sub_path": "machine/SeeMeCNC RostockMAX v4.json" + } + ], + "process_list": [ + { + "name": "SeeMeCNC process base", + "sub_path": "process/SeeMeCNC_process_base.json" + }, + { + "name": "0.16mm Fine @SeeMeCNC Artemis 0.4", + "sub_path": "process/0.16mm Fine @SeeMeCNC Artemis 0.4.json" + }, + { + "name": "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", + "sub_path": "process/0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4.json" + }, + { + "name": "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", + "sub_path": "process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4.json" + }, + { + "name": "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", + "sub_path": "process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4.json" + }, + { + "name": "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", + "sub_path": "process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4.json" + }, + { + "name": "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", + "sub_path": "process/0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4.json" + }, + { + "name": "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", + "sub_path": "process/0.16mm Fine @SeeMeCNC RostockMAX v4 0.4.json" + }, + { + "name": "0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "sub_path": "process/0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json" + }, + { + "name": "0.20mm Fine @SeeMeCNC Artemis 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC Artemis 0.5.json" + }, + { + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5.json" + }, + { + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5.json" + }, + { + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5.json" + }, + { + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5.json" + }, + { + "name": "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5.json" + }, + { + "name": "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", + "sub_path": "process/0.20mm Fine @SeeMeCNC RostockMAX v4 0.5.json" + }, + { + "name": "0.20mm Standard @SeeMeCNC Artemis 0.4", + "sub_path": "process/0.20mm Standard @SeeMeCNC Artemis 0.4.json" + }, + { + "name": "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", + "sub_path": "process/0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4.json" + }, + { + "name": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", + "sub_path": "process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4.json" + }, + { + "name": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", + "sub_path": "process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4.json" + }, + { + "name": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", + "sub_path": "process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4.json" + }, + { + "name": "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", + "sub_path": "process/0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4.json" + }, + { + "name": "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", + "sub_path": "process/0.20mm Standard @SeeMeCNC RostockMAX v4 0.4.json" + }, + { + "name": "0.24mm Draft @SeeMeCNC Artemis 0.4", + "sub_path": "process/0.24mm Draft @SeeMeCNC Artemis 0.4.json" + }, + { + "name": "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", + "sub_path": "process/0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4.json" + }, + { + "name": "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "sub_path": "process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4.json" + }, + { + "name": "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "sub_path": "process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4.json" + }, + { + "name": "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "sub_path": "process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4.json" + }, + { + "name": "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "sub_path": "process/0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json" + }, + { + "name": "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", + "sub_path": "process/0.24mm Draft @SeeMeCNC RostockMAX v4 0.4.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC Artemis 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC Artemis 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5.json" + }, + { + "name": "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", + "sub_path": "process/0.25mm Standard @SeeMeCNC RostockMAX v4 0.5.json" + }, + { + "name": "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", + "sub_path": "process/0.28mm Extra Draft @SeeMeCNC Artemis 0.4.json" + }, + { + "name": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", + "sub_path": "process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4.json" + }, + { + "name": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "sub_path": "process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4.json" + }, + { + "name": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "sub_path": "process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4.json" + }, + { + "name": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "sub_path": "process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4.json" + }, + { + "name": "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", + "sub_path": "process/0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4.json" + }, + { + "name": "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4", + "sub_path": "process/0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC Artemis 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC Artemis 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7.json" + }, + { + "name": "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", + "sub_path": "process/0.28mm Fine @SeeMeCNC RostockMAX v4 0.7.json" + }, + { + "name": "0.30mm Draft @SeeMeCNC Artemis 0.5", + "sub_path": "process/0.30mm Draft @SeeMeCNC Artemis 0.5.json" + }, + { + "name": "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", + "sub_path": "process/0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5.json" + }, + { + "name": "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "sub_path": "process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5.json" + }, + { + "name": "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "sub_path": "process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5.json" + }, + { + "name": "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "sub_path": "process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5.json" + }, + { + "name": "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", + "sub_path": "process/0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5.json" + }, + { + "name": "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", + "sub_path": "process/0.30mm Draft @SeeMeCNC RostockMAX v4 0.5.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC Artemis 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC Artemis 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7.json" + }, + { + "name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7", + "sub_path": "process/0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7.json" + }, + { + "name": "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", + "sub_path": "process/0.35mm Extra Draft @SeeMeCNC Artemis 0.5.json" + }, + { + "name": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", + "sub_path": "process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5.json" + }, + { + "name": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "sub_path": "process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5.json" + }, + { + "name": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "sub_path": "process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5.json" + }, + { + "name": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "sub_path": "process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5.json" + }, + { + "name": "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", + "sub_path": "process/0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5.json" + }, + { + "name": "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5", + "sub_path": "process/0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5.json" + }, + { + "name": "0.35mm Standard @SeeMeCNC Artemis 0.7", + "sub_path": "process/0.35mm Standard @SeeMeCNC Artemis 0.7.json" + }, + { + "name": "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", + "sub_path": "process/0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7.json" + }, + { + "name": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", + "sub_path": "process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7.json" + }, + { + "name": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", + "sub_path": "process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7.json" + }, + { + "name": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", + "sub_path": "process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7.json" + }, + { + "name": "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", + "sub_path": "process/0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7.json" + }, + { + "name": "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", + "sub_path": "process/0.35mm Standard @SeeMeCNC RostockMAX v4 0.7.json" + }, + { + "name": "0.35mm TPU Vase @SeeMeCNC Artemis 0.7", + "sub_path": "process/0.35mm TPU Vase @SeeMeCNC Artemis 0.7.json" + }, + { + "name": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7", + "sub_path": "process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7.json" + }, + { + "name": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7", + "sub_path": "process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7.json" + }, + { + "name": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7", + "sub_path": "process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7.json" + }, + { + "name": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7", + "sub_path": "process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7.json" + }, + { + "name": "0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7", + "sub_path": "process/0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7.json" + }, + { + "name": "0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7", + "sub_path": "process/0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC Artemis 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC Artemis 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0.json" + }, + { + "name": "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", + "sub_path": "process/0.40mm Fine @SeeMeCNC RostockMAX v4 1.0.json" + }, + { + "name": "0.42mm Draft @SeeMeCNC Artemis 0.7", + "sub_path": "process/0.42mm Draft @SeeMeCNC Artemis 0.7.json" + }, + { + "name": "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", + "sub_path": "process/0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7.json" + }, + { + "name": "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "sub_path": "process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7.json" + }, + { + "name": "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "sub_path": "process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7.json" + }, + { + "name": "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "sub_path": "process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7.json" + }, + { + "name": "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", + "sub_path": "process/0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7.json" + }, + { + "name": "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", + "sub_path": "process/0.42mm Draft @SeeMeCNC RostockMAX v4 0.7.json" + }, + { + "name": "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", + "sub_path": "process/0.49mm Extra Draft @SeeMeCNC Artemis 0.7.json" + }, + { + "name": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", + "sub_path": "process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7.json" + }, + { + "name": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "sub_path": "process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7.json" + }, + { + "name": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "sub_path": "process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7.json" + }, + { + "name": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "sub_path": "process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7.json" + }, + { + "name": "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", + "sub_path": "process/0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7.json" + }, + { + "name": "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7", + "sub_path": "process/0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7.json" + }, + { + "name": "0.50mm Standard @SeeMeCNC Artemis 1.0", + "sub_path": "process/0.50mm Standard @SeeMeCNC Artemis 1.0.json" + }, + { + "name": "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", + "sub_path": "process/0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0.json" + }, + { + "name": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", + "sub_path": "process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0.json" + }, + { + "name": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", + "sub_path": "process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0.json" + }, + { + "name": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", + "sub_path": "process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0.json" + }, + { + "name": "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", + "sub_path": "process/0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0.json" + }, + { + "name": "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", + "sub_path": "process/0.50mm Standard @SeeMeCNC RostockMAX v4 1.0.json" + }, + { + "name": "0.60mm Draft @SeeMeCNC Artemis 1.0", + "sub_path": "process/0.60mm Draft @SeeMeCNC Artemis 1.0.json" + }, + { + "name": "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", + "sub_path": "process/0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0.json" + }, + { + "name": "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "sub_path": "process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0.json" + }, + { + "name": "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "sub_path": "process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0.json" + }, + { + "name": "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "sub_path": "process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0.json" + }, + { + "name": "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", + "sub_path": "process/0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0.json" + }, + { + "name": "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", + "sub_path": "process/0.60mm Draft @SeeMeCNC RostockMAX v4 1.0.json" + }, + { + "name": "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", + "sub_path": "process/0.70mm Extra Draft @SeeMeCNC Artemis 1.0.json" + }, + { + "name": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", + "sub_path": "process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0.json" + }, + { + "name": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "sub_path": "process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0.json" + }, + { + "name": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "sub_path": "process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0.json" + }, + { + "name": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "sub_path": "process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0.json" + }, + { + "name": "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", + "sub_path": "process/0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0.json" + }, + { + "name": "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0", + "sub_path": "process/0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0.json" + } + ], + "filament_list": [ + { + "name": "SeeMeCNC filament base", + "sub_path": "filament/SeeMeCNC_filament_base.json" + }, + { + "name": "SeeMeCNC ABS", + "sub_path": "filament/SeeMeCNC_ABS.json" + }, + { + "name": "SeeMeCNC PA-CF", + "sub_path": "filament/SeeMeCNC_PA-CF.json" + }, + { + "name": "SeeMeCNC PETG", + "sub_path": "filament/SeeMeCNC_PETG.json" + }, + { + "name": "SeeMeCNC PETG-CF", + "sub_path": "filament/SeeMeCNC_PETG-CF.json" + }, + { + "name": "SeeMeCNC TPU", + "sub_path": "filament/SeeMeCNC_TPU.json" + }, + { + "name": "SeeMeCNC PLA", + "sub_path": "filament/SeeMeCNC_PLA.json" + } + ], + "machine_list": [ + { + "name": "SeeMeCNC Artemis 0.4 nozzle", + "sub_path": "machine/SeeMeCNC_Artemis_0_4mm.json" + }, + { + "name": "SeeMeCNC Artemis 0.5 nozzle", + "sub_path": "machine/SeeMeCNC_Artemis_0_5mm.json" + }, + { + "name": "SeeMeCNC Artemis 0.7 nozzle", + "sub_path": "machine/SeeMeCNC_Artemis_0_7mm.json" + }, + { + "name": "SeeMeCNC Artemis 1.0 nozzle", + "sub_path": "machine/SeeMeCNC_Artemis_1_0mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 300 0.4 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta_300_0_4mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 300 0.5 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta_300_0_5mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 300 0.7 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta_300_0_7mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 300 1.0 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta_300_1_0mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0505_0_4mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0505_0_5mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0505_0_7mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0505_1_0mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0510_0_4mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0510_0_5mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0510_0_7mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0510_1_0mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0521_0_4mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0521_0_5mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0521_0_7mm.json" + }, + { + "name": "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", + "sub_path": "machine/SeeMeCNC_BOSSdelta500_0521_1_0mm.json" + }, + { + "name": "SeeMeCNC RostockMAX v3.2 0.4 nozzle", + "sub_path": "machine/SeeMeCNC_RostockMAX_v3.2_0_4mm.json" + }, + { + "name": "SeeMeCNC RostockMAX v3.2 0.5 nozzle", + "sub_path": "machine/SeeMeCNC_RostockMAX_v3.2_0_5mm.json" + }, + { + "name": "SeeMeCNC RostockMAX v3.2 0.7 nozzle", + "sub_path": "machine/SeeMeCNC_RostockMAX_v3.2_0_7mm.json" + }, + { + "name": "SeeMeCNC RostockMAX v3.2 1.0 nozzle", + "sub_path": "machine/SeeMeCNC_RostockMAX_v3.2_1_0mm.json" + }, + { + "name": "SeeMeCNC RostockMAX v4 0.4 nozzle", + "sub_path": "machine/SeeMeCNC_RostockMAX_v4_0_4mm.json" + }, + { + "name": "SeeMeCNC RostockMAX v4 0.5 nozzle", + "sub_path": "machine/SeeMeCNC_RostockMAX_v4_0_5mm.json" + }, + { + "name": "SeeMeCNC RostockMAX v4 0.7 nozzle", + "sub_path": "machine/SeeMeCNC_RostockMAX_v4_0_7mm.json" + }, + { + "name": "SeeMeCNC RostockMAX v4 1.0 nozzle", + "sub_path": "machine/SeeMeCNC_RostockMAX_v4_1_0mm.json" + } + ] +} diff --git a/resources/profiles/SeeMeCNC/SeeMeCNC Artemis 300_cover.png b/resources/profiles/SeeMeCNC/SeeMeCNC Artemis 300_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..f98182e5733173caf0f3b7b2597b7f690fe06d00 GIT binary patch literal 8270 zcmeHs^;6W36ZiY>h~th_N;tZtQAFx!rH+#B6lpj>y6(siQc6oogB;!crd1FWMUe79 z3CUAL5L6z&GtXb~%(JsGubus6cV>5XXOoQ#v}h1)2mk9#c z_Rl~9jkVMvA76^a`~zfeYWivb(2{}t?L__$bGv98>jOZzAOPUv0pR?f3%3IRK~ey) z>j(e}`2fIzE$Y381^^gfq-T1UkB#l`-@igaLKYSl*REZ=efzeSmR3?ylAD`bUS3{E zNJw>cbyrs>5{cZ|*_oW2Tv+(<>{-e1@L+swl#7#{nyS*rrO)f@tA4V#$_k&xM+Eb5 zbE+z%b8}k0tSvp2yHTkqJ<{LP-SbjONzKvDy5w2W5IDKM_C;A$E&0FZ>N^TNT-*l2 zLXlCi(YTlx94<{%DC>?=g06OkrD=kPYhBGaC+EKqZhL#jkn2KG5!HoHN7^lo2El?k!A zRXb-p2S-P5E=~^)?ig;4099pod*^&-2YfW{QPOZ}W@KsEv*&L2%c8?aZ4BPHTfS(h z|5wBRPyer0K>5Emx_`Mr9vT~%0IFMy5B>ovthQAk03fgaPar@+5i07ZMdU&n!s2Uuy4tdHRZe_FenYw!HjzQ}O3r?%$pPDgHzIUw z33dhVjJjPeo9I*hM`!r??;i7yTTkl9A%<9Ck!iG)%PrIaT}(7~U@MhW+9Ly3n`fOKX= zo?sWw22Ltc^dzIO<*VJ@k%e0Oi}V@%BHH(kDECRdm`KlGrAS1Tl=AP5{qbI>hzwL) zOBm5m;J9*ZN1UKMUv-Y}=OeDTHS|fm7To+VWt;DUC(IB(wb}bny4r)XpQ>VKD#M{% z(&6^KGXa7F1@WXpN{Ih|VuP;FK zj?IT($$nP`7(0249AYB1tv$U9eq`cm2H4)-l9vlgf1OHy;Eu)cPZn&nujGGt=X;AR zU1x^v(7D@&o1|KFNIpB+LYrQ}wf(s%Df)gu=1zLz!`Q20dQwTr6(h^!G@jSa^6iB5 zma5u!bn;f5>$EE&rzZv_V zKh{Ha!u;hQ4vH%mNS<2XhRI9kMVQryj~gF3qL5Pi(sB z;Co0?3b_I8v1q*J28oDyHXmH*QP=TmVcN{Pa;G*n`@Sywpx)&barbDzAT1kX-mL@# zivDu_#qKFvtHV}nn7LO)_Q!j-hyyPJ9OWXs)4{RU-AIL6uOXYZ+YCC$sHjlSs>b%l zb{+G1ML+_wsE7Nd3!c_>H12+(GJWf_=UnV?4i?lgMI?duD;D+%5T6!qr$Gimnl)yY z7$Mg^_dxI5pKv{9gjfye-DaHD0|**PZG7a?AjOfXOm!N6hbl)=*3&TD= zXuN+Dg+D1x=sbeRaXA|}wlZYR5Il8cphEZcwF5H8ge?Z! zQFwtU2k_<*B-5~lnw!P!R+U`wo5t~vR27VcT*~3U7#1b2$|(a`kZvJji_E9e9Oloz zM?%~*_Lz-tb?Uf4`OXI*alMCHSjhf_)Ph^F7UE!Ws%3r4c8U=fHxAV(G<~4d@f|=B z#h=zoJH~vtB$rZXAM!mSlTEmlye~?iacG%i@{QYxqA?b@&{JG77otAxU_=xXiI}t4y0*7)=?po6~^MHT*xQ+LU8Kt@G@{1A}1*{&O7eJ9!Q>F z0=U)q%#n3}m@>0ebkr9dV7I`$<42PRx48*{i-HZAIw~Xpwej%XO(xp*PTEjj_l$D= za<5Vc;rJO>kpP`K7s2BBnlf1?6Ftc|z4r4O{IU!R zN^vG+=_k&3zF$f8AP=*3UoI#96hU@g0sA0}& z!iT+U;j|ylN}OJQ3i4qqL!#Pk#IP|4)c6xF%Eya0bLu&MOMF`@f-HVh@65EceuW{< zy3&870g{fOtZeUFjF=U@pOOY^(btREFVB>%if3PPW7S=R<7z)yhWfW_6W{P+rGTXM z%31zNLOazC99?v8XPG~GZHjIQ)_mdh7K*PR!cpTjo-}a~Bh{t1RniJSvi3dS+3PWu zLYnNEwSGgvU^3;aW7s;fpwYbEJxDjktV!Y1T5x`i z>djS?Ql-w#6>SY1#3Y+puu5~g_=xLtQ7~ZvhXiP8K}?_*9m)t$R^$b%$;!K>ddqabCi@2ovH4spT1{c0e;F+9e4tV7gXOm>0M-e~U&&dW3u zN}&CP^zv}eU@{Dy`3iVTh1Gv4aPJHP3z5WedIxgmN#<)_9s;;r>>9KgZ|`zAaoA|D z=|K+oeb$eH^k*0B!6Q*)?}P%yD99*nb4li+FwmF#{0Adm_+NvTN-)`rSM}98>;@7& zZa)g`T@rmPyKS34lYOUsXWGpTo|?N#VXyn?E8LsbKh)SrHjxc+rHg4CIm4>v_BYYC zlxB4eVo!0S`yqOaw4R-m)n_y*O^^S_r(5Gb#Cd4B+@pQ@W_d3MMc$iGp6R9AG~6C)IUS$B zOjI3OXP5O*^@m?n3tOjwN%Fj56V5qxu;jd)PScP&qQW%6a+Sio3m@V)+t*r%1vs70 z_Sv@6=wJCpsELkx3nriw8n-L;|8421hEM*7IsQCrEy_; zZ)G;>fe29sI;UXvX_|^65V~Mtfe;)}oIZF&sEd7@#81cSr2cg+Bqarf-Q5lCytrZD_+tsjM@=8Osr@ zd*F2hAi)J-XhF4sTSSj{(!D=&KiTXf@uz{fWwCww&^CTzULa9p?))!^PMP1pg%lza zzETq#iy&hEHjHnrI9VY+%pgZ~Qi%I^aXp}O z3Rsw@-;A^Y@g>7Vc8hEXTZsj#u@awt5&XHMzIhMVe>6CTALhFvB zyw-Ynmkl-cjXf-Q+j@;$;=MO<1|lioG5%#g{Q&r_x?WyLZcFmPfhjuHeI&H(*QW@@ zyu&T1q~>~FPUZsBhx-?-p_c>rQjU?n9ACrPU$1E;iU$%$${lh?7#i!sx8}Y@CcFy+ zzd7S%Ewxh4Z((A{Nqs5nG$mRtzb-3A4(#%x!xylh*Y4GMf#?X^(1*wPIC98Q^|Jns zAs)8&{lJCzr=OKJH>*8Se*H^mkHOC?)BYaEGFA#_g#xY~LZZb`%EOzSYbs>sZ8#75 zI}3POKMFLJ3+2jC$w;sj`1xb{z+y2>=#MDC4y-M6hxbtYuGS!VqK~vQz?DG+)=v>g zXNIn@D^%7i$OFre?wEuT7+x4iLPFN!yVD=_2}i#0z5kwWfs=v`KW|GsLttyyoR6yH z9>>y-`oOS+la)%d>0~Fe#?e)IEXV!cPz66r7`88s$6GqlW~hnx>I-?$VRP;SMcG6> zYGT?F;qdjb#XW<2Dfk|j$V!CB$bWScE}9AcDn6OD4avW?GpF)vzU%VBue5^rOGh*{ zEnBxcs>y%YJ#mc6gA-=sU_JMJxHJ0IB=)WpmmvS7=+X^dZ>+@6*^7WoiR`W+bDzjCm4#?@S&y91_ z?@Iq@)=7jS^CntnucMQ=%u1knbhZW2!pf__uH^LiU|Y2X$^StTGJov%TCe2yP^$ceoT;k5m)RfcA- zi*+<5=9>wXZqDfB%OQ%;>Jf88+wetX8wMWL*5TQa-73f6I6araSOU|_vNyC_f)yGM zu6Fk0bMLCzHnRO>-7;W0HgZz1aXPqgrgTKV@RL^?L=r1lUipnaa--R^Ak$2c5%4vE z^IRV@6pkCTpD`8>$ouGRPCaX}xFnU0v?IgvIka+THC0P(#ZlubygRH#nj0MGx-}Bo zl;M0AgZL9Y#{zds)PNYP99#yPWdYfOd&iL%dxg;wD2d-CX%@xHe&~Y3nfSKXaMT** zZ58^2E_;VzzTEt8mF9TgTVz>MY;-)6S z@`__z6)ZYAk6O&_y4aw>`Z#n5z=}=DODI{a55Vkq%*E^7C7O47uYt}Fzq;31Da^4e zUd^AO>@2Lc7bB&>J~Ywv+a@@4Hq~Ko{_i41y<*`YCbq`hkPzqN*h!MGizb)4@6l&d zgrV$4=%l6WkKF|F4)uflP#>qgbKg`k$XSzNB~JtLE9Vm+&SnHcYgG{96Zv1=yqS?u z2v{Yos>`&Q{S9dGM{5jY+^AgfUmF_heaFCb>VG10(}on`xa`#D@m^+ zUdbT|^{T^+uuc{B<1ar{Zk9{tL;-qKC1*wdMszl!B>!1sTr=$k8~Vkur%%bPWVY~( z+hYxL+IZOzUW?Q)qW!msCJWM7Vsp`pYoL{|dm(9>LXDn6&BsT?Y#m?P@vc)0Ej8Ij z*UnS73?kZf?5p|oU2n^==oSoz$qrXUL0eZ}91&-FYl<&Lhh(ssCh1K7I& z*;u?bNlH^yG%Vszw1@_~;wSw}Xv)QiAMTIK0*u3wkAp@oHW;vmb}Lzb^c>MLaP*Rb z6p1&P*pxiQeZRz81oXxWeBt)L zENYCMefx>(p%2!}9nT(9O>>{G%nj%&HrA|-7L*bujNWx*87xL!IWdV{RIs~hdzGF2 zPTg|#I=|tYnvYActiBjW;C2QsnOzC5Qm-WWf>115&#;L8%jP%MhO#ruCYz(V z-Nq61*T7-uhHb9^he#@~O+)IoD`~BkByH`yfDnZ}+*g#oFTNxH7z&iB%6jg5sCYd8DG=*r*esjDof{P0a@< zoWifIRkci=_)>k zsKcFAsgj%rs<-OERBjYc<1`tuqlSFB@CUy1ml(}W6>8NqkmmgG-?iYDgZg9}9nIYQ z1Ju?Ipq#D&-$xz;q4k-x3S%$Pj`O(Z*UldLCGp!mewASGi{H^Z3A2HJx|e!gG+9G2DqDu@uXC7E zcjL!7ZRM**?39uhYAO*&i*eYu;*Qo%%@3Gm_i~|r?5At7d4{{(z19VpWO%zdkzZ^k z%*SC0GH%E#@sA^ni?~*gPJKn`ZrBSzhAJJgmz#D6nXa-D`@PRpH$`SG-1&H{@UCg{I)qe9vr(j6C69WUua zpdeT9nGUfSGXErmAfJd8t;1=R^-Z&tzcEyk&uivJCpkSbxUTo6ZhB?-1yS{fM&!Q_ zff)8@-DtJQCZ%KO^ZD}8Q$3!#R*%?){v!iF# z7vw8uL6*F_?%@oB|=3g{@cFMn7}Gn zgyLhx*WvoUx(kC$0jM~riiDn1wK?0~3q#?fid^mp-0g-}_vPP{0AxaVGTR`K>?>(QG;|7{rS<^Zz<&j!9? z7U_g)QzZ^;Gij~J)Mv(DjO)En^6KwdHVd2-8RoIyTvYX2UgxfdwpbWSi$y)9JQU5ouLZ__W;ITZU$c(JgoX6)Y2hO*j!^PMVT|y7Va1X>uw6grO zEBCMRxy&akrLNGNuD5bg+u^=duaovEVj6q_lgvJUCT*L?&(m1(n6i>EopN(w{s!MB zg_&B9sOfJ(YcDfz-+x1WFR?Jp_fA$|&YR~O6htK8t2g3m;0~q3DnC@2p}xuD6<_)z z389CqwT{ZlQ4X;}e?ITb&w$!;ly<4p)696lD``6S#z zNxbc+!1vuHa1Hg+Lj*qMpA}PcdHvMn0>QDyZw2#zZaYkVg-+P^>3o*HhDI&jsIn_h z=I!CH9ct^3XllqE?VaVjebhs31PCw5@85j1cT0fm{5{$C@br4*6F&FD`-yonmM>)v ze{)+?7(G@ycsoFI6oxr5sr%`Re&+T4RgGAttg^tmJV)q*J6WSGI4+W%OqjAq&3B4c zn@v>tH6?amQzqueb@lg1M9q6BR$2Z^b3Z?spKM4#khA;wO6r~TGPF

JOD`vq&C| z+d_-=!S?!s3=q&Lzc6c9VznxTc%ohi#jVF(#KyMRFpamI%gJ0qvswDfJObc_Rrd5T zaJTnX^g(aGNz$cc;F#2l-{);iKPwwS`raKnZ>GEWzs!~Xhf8euMXUZT3+(^?v^sYU K?lh`9#{M7eZDL^n literal 0 HcmV?d00001 diff --git a/resources/profiles/SeeMeCNC/SeeMeCNC BOSSdelta 300_cover.png b/resources/profiles/SeeMeCNC/SeeMeCNC BOSSdelta 300_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..fb6e603a0994d1b2cb7f4c95c7ef56894c373e38 GIT binary patch literal 7996 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 Ty7y@T0+*VS)}v}gtFZqEMhFb` literal 0 HcmV?d00001 diff --git a/resources/profiles/SeeMeCNC/SeeMeCNC BOSSdelta 500 0510_cover.png b/resources/profiles/SeeMeCNC/SeeMeCNC BOSSdelta 500 0510_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..2e40b46d3692b5bf1da643c8856132709e8937aa GIT binary patch literal 34369 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

UclMY({m(HMa5ibf_TvA; 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͙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 SFZ_$?hUjS<-Kx_>J^mknb!RsK literal 0 HcmV?d00001 diff --git a/resources/profiles/SeeMeCNC/SeeMeCNC_Buildplate_Model.STL b/resources/profiles/SeeMeCNC/SeeMeCNC_Buildplate_Model.STL new file mode 100644 index 0000000000000000000000000000000000000000..7a1db1f9fcf53158672e57e7b52f890d5b36fd61 GIT binary patch literal 60084 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 SRlTQCgPw<-Yy2tn*Z%`CB`hBR literal 0 HcmV?d00001 diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS.json new file mode 100644 index 0000000000..49e1191c75 --- /dev/null +++ b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_ABS.json @@ -0,0 +1,265 @@ +{ + "type": "filament", + "name": "SeeMeCNC ABS", + "inherits": "SeeMeCNC filament base", + "from": "System", + "filament_id": "SMCFB001", + "instantiation": "true", + "filament_settings_id": [ + "SeeMeCNC ABS" + ], + "compatible_printers": [ + "SeeMeCNC Artemis 0.4 nozzle", + "SeeMeCNC Artemis 0.5 nozzle", + "SeeMeCNC Artemis 0.7 nozzle", + "SeeMeCNC Artemis 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", + "SeeMeCNC BOSSdelta 300 0.4 nozzle", + "SeeMeCNC BOSSdelta 300 0.5 nozzle", + "SeeMeCNC BOSSdelta 300 0.7 nozzle", + "SeeMeCNC BOSSdelta 300 1.0 nozzle", + "SeeMeCNC RostockMAX v3.2 0.4 nozzle", + "SeeMeCNC RostockMAX v3.2 0.5 nozzle", + "SeeMeCNC RostockMAX v3.2 0.7 nozzle", + "SeeMeCNC RostockMAX v3.2 1.0 nozzle", + "SeeMeCNC RostockMAX v4 0.4 nozzle", + "SeeMeCNC RostockMAX v4 0.5 nozzle", + "SeeMeCNC RostockMAX v4 0.7 nozzle", + "SeeMeCNC RostockMAX v4 1.0 nozzle" + ], + "compatible_printers_condition": "", + "compatible_prints": [ + "0.16mm Fine @SeeMeCNC Artemis 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", + "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", + "0.20mm Fine @SeeMeCNC Artemis 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", + "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", + "0.20mm Standard @SeeMeCNC Artemis 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", + "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", + "0.24mm Draft @SeeMeCNC Artemis 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", + "0.25mm Standard @SeeMeCNC Artemis 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", + "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", + "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", + "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4", + "0.28mm Fine @SeeMeCNC Artemis 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", + "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", + "0.30mm Draft @SeeMeCNC Artemis 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", + "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", + "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", + "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5", + "0.35mm Standard @SeeMeCNC Artemis 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", + "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", + "0.40mm Fine @SeeMeCNC Artemis 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", + "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", + "0.42mm Draft @SeeMeCNC Artemis 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", + "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", + "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", + "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7", + "0.50mm Standard @SeeMeCNC Artemis 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", + "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", + "0.60mm Draft @SeeMeCNC Artemis 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", + "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", + "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", + "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0" + ], + "compatible_prints_condition": "", + "close_fan_the_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "100" + ], + "cool_plate_temp_initial_layer": [ + "100" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "eng_plate_temp": [ + "100" + ], + "eng_plate_temp_initial_layer": [ + "100" + ], + "fan_cooling_layer_time": [ + "40" + ], + "fan_max_speed": [ + "30" + ], + "fan_min_speed": [ + "0" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.04" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_notes": [ + "Pressure Advance starting values by machine and nozzle size:\nArtemis / BOSSdelta 300:\n 0.4mm nozzle: 0.4000\n 0.5mm nozzle: 0.3200\n 0.7mm nozzle: 0.2286\n 1.0mm nozzle: 0.1600\n\nRostockMAX v3.2 / v4:\n 0.4mm nozzle: 0.4789\n 0.5mm nozzle: 0.3831\n 0.7mm nozzle: 0.2736\n 1.0mm nozzle: 0.1915\n\nBOSSdelta 0505:\n 0.4mm nozzle: 0.5352\n 0.5mm nozzle: 0.4282\n 0.7mm nozzle: 0.3058\n 1.0mm nozzle: 0.2141\n\nBOSSdelta 0510:\n 0.4mm nozzle: 0.7887\n 0.5mm nozzle: 0.6310\n 0.7mm nozzle: 0.4507\n 1.0mm nozzle: 0.3155\n\nBOSSdelta 0521:\n 0.4mm nozzle: 1.3239\n 0.5mm nozzle: 1.0592\n 0.7mm nozzle: 0.7565\n 1.0mm nozzle: 0.5296\n\nRun OrcaSlicer PA calibration to fine-tune for your setup.\n\nABS prints best with an enclosure to prevent warping.\nBed surface: PEI or garolite recommended.\nBed temp: 100C. Avoid drafts." + ], + "filament_type": [ + "ABS" + ], + "full_fan_speed_layer": [ + "5" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "internal_bridge_fan_speed": [ + "30" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "270" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.4" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "30" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "100" + ], + "supertack_plate_temp_initial_layer": [ + "100" + ], + "temperature_vitrification": [ + "98" + ], + "textured_cool_plate_temp": [ + "100" + ], + "textured_cool_plate_temp_initial_layer": [ + "100" + ], + "textured_plate_temp": [ + "100" + ], + "textured_plate_temp_initial_layer": [ + "100" + ], + "keep_fan_always_on": [ + "0" + ] +} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA-CF.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA-CF.json new file mode 100644 index 0000000000..aaee59be50 --- /dev/null +++ b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PA-CF.json @@ -0,0 +1,268 @@ +{ + "type": "filament", + "name": "SeeMeCNC PA-CF", + "inherits": "SeeMeCNC filament base", + "from": "System", + "filament_id": "SMCFN001", + "instantiation": "true", + "filament_settings_id": [ + "SeeMeCNC PA-CF" + ], + "compatible_printers": [ + "SeeMeCNC Artemis 0.4 nozzle", + "SeeMeCNC Artemis 0.5 nozzle", + "SeeMeCNC Artemis 0.7 nozzle", + "SeeMeCNC Artemis 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", + "SeeMeCNC BOSSdelta 300 0.4 nozzle", + "SeeMeCNC BOSSdelta 300 0.5 nozzle", + "SeeMeCNC BOSSdelta 300 0.7 nozzle", + "SeeMeCNC BOSSdelta 300 1.0 nozzle", + "SeeMeCNC RostockMAX v3.2 0.4 nozzle", + "SeeMeCNC RostockMAX v3.2 0.5 nozzle", + "SeeMeCNC RostockMAX v3.2 0.7 nozzle", + "SeeMeCNC RostockMAX v3.2 1.0 nozzle", + "SeeMeCNC RostockMAX v4 0.4 nozzle", + "SeeMeCNC RostockMAX v4 0.5 nozzle", + "SeeMeCNC RostockMAX v4 0.7 nozzle", + "SeeMeCNC RostockMAX v4 1.0 nozzle" + ], + "compatible_printers_condition": "", + "compatible_prints": [ + "0.16mm Fine @SeeMeCNC Artemis 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", + "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", + "0.20mm Fine @SeeMeCNC Artemis 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", + "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", + "0.20mm Standard @SeeMeCNC Artemis 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", + "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", + "0.24mm Draft @SeeMeCNC Artemis 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", + "0.25mm Standard @SeeMeCNC Artemis 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", + "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", + "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", + "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4", + "0.28mm Fine @SeeMeCNC Artemis 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", + "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", + "0.30mm Draft @SeeMeCNC Artemis 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", + "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", + "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", + "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5", + "0.35mm Standard @SeeMeCNC Artemis 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", + "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", + "0.40mm Fine @SeeMeCNC Artemis 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", + "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", + "0.42mm Draft @SeeMeCNC Artemis 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", + "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", + "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", + "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7", + "0.50mm Standard @SeeMeCNC Artemis 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", + "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", + "0.60mm Draft @SeeMeCNC Artemis 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", + "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", + "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", + "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0" + ], + "compatible_prints_condition": "", + "close_fan_the_first_x_layers": [ + "6" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "eng_plate_temp": [ + "90" + ], + "eng_plate_temp_initial_layer": [ + "90" + ], + "fan_cooling_layer_time": [ + "60" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "35" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.15" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_notes": [ + "Pressure Advance starting values by machine and nozzle size:\n\nArtemis / BOSSdelta 300:\n 0.4mm nozzle: 0.5500\n 0.5mm nozzle: 0.4400\n 0.7mm nozzle: 0.3143\n 1.0mm nozzle: 0.2200\n\nRostockMAX v3.2 / v4:\n 0.4mm nozzle: 0.6585\n 0.5mm nozzle: 0.5268\n 0.7mm nozzle: 0.3763\n 1.0mm nozzle: 0.2634\n\nBOSSdelta 0505:\n 0.4mm nozzle: 0.7359\n 0.5mm nozzle: 0.5887\n 0.7mm nozzle: 0.4205\n 1.0mm nozzle: 0.2944\n\nBOSSdelta 0510:\n 0.4mm nozzle: 1.0845\n 0.5mm nozzle: 0.8676\n 0.7mm nozzle: 0.6197\n 1.0mm nozzle: 0.4338\n\nBOSSdelta 0521:\n 0.4mm nozzle: 1.8204\n 0.5mm nozzle: 1.4563\n 0.7mm nozzle: 1.0402\n 1.0mm nozzle: 0.7282\n\nRun OrcaSlicer PA calibration to fine-tune for your setup." + ], + "filament_type": [ + "PA-CF" + ], + "full_fan_speed_layer": [ + "5" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "internal_bridge_fan_speed": [ + "35" + ], + "nozzle_temperature": [ + "265" + ], + "nozzle_temperature_initial_layer": [ + "265" + ], + "nozzle_temperature_range_high": [ + "285" + ], + "nozzle_temperature_range_low": [ + "255" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.55" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "0" + ], + "slow_down_layer_time": [ + "45" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "temperature_vitrification": [ + "180" + ], + "textured_cool_plate_temp": [ + "80" + ], + "textured_cool_plate_temp_initial_layer": [ + "80" + ], + "textured_plate_temp": [ + "90" + ], + "textured_plate_temp_initial_layer": [ + "90" + ], + "overhang_fan_speed": [ + "50" + ], + "keep_fan_always_on": [ + "0" + ] +} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG-CF.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG-CF.json new file mode 100644 index 0000000000..b2822f0baf --- /dev/null +++ b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG-CF.json @@ -0,0 +1,265 @@ +{ + "type": "filament", + "name": "SeeMeCNC PETG-CF", + "inherits": "SeeMeCNC filament base", + "from": "System", + "filament_id": "SMCFG002", + "instantiation": "true", + "filament_settings_id": [ + "SeeMeCNC PETG-CF" + ], + "compatible_printers": [ + "SeeMeCNC Artemis 0.4 nozzle", + "SeeMeCNC Artemis 0.5 nozzle", + "SeeMeCNC Artemis 0.7 nozzle", + "SeeMeCNC Artemis 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", + "SeeMeCNC BOSSdelta 300 0.4 nozzle", + "SeeMeCNC BOSSdelta 300 0.5 nozzle", + "SeeMeCNC BOSSdelta 300 0.7 nozzle", + "SeeMeCNC BOSSdelta 300 1.0 nozzle", + "SeeMeCNC RostockMAX v3.2 0.4 nozzle", + "SeeMeCNC RostockMAX v3.2 0.5 nozzle", + "SeeMeCNC RostockMAX v3.2 0.7 nozzle", + "SeeMeCNC RostockMAX v3.2 1.0 nozzle", + "SeeMeCNC RostockMAX v4 0.4 nozzle", + "SeeMeCNC RostockMAX v4 0.5 nozzle", + "SeeMeCNC RostockMAX v4 0.7 nozzle", + "SeeMeCNC RostockMAX v4 1.0 nozzle" + ], + "compatible_printers_condition": "", + "compatible_prints": [ + "0.16mm Fine @SeeMeCNC Artemis 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", + "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", + "0.20mm Fine @SeeMeCNC Artemis 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", + "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", + "0.20mm Standard @SeeMeCNC Artemis 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", + "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", + "0.24mm Draft @SeeMeCNC Artemis 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", + "0.25mm Standard @SeeMeCNC Artemis 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", + "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", + "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", + "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4", + "0.28mm Fine @SeeMeCNC Artemis 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", + "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", + "0.30mm Draft @SeeMeCNC Artemis 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", + "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", + "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", + "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5", + "0.35mm Standard @SeeMeCNC Artemis 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", + "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", + "0.40mm Fine @SeeMeCNC Artemis 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", + "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", + "0.42mm Draft @SeeMeCNC Artemis 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", + "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", + "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", + "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7", + "0.50mm Standard @SeeMeCNC Artemis 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", + "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", + "0.60mm Draft @SeeMeCNC Artemis 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", + "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", + "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", + "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0" + ], + "compatible_prints_condition": "", + "close_fan_the_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "60" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "35" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.32" + ], + "filament_max_volumetric_speed": [ + "7" + ], + "filament_notes": [ + "Pressure Advance starting values by machine and nozzle size:\nArtemis / BOSSdelta 300:\n 0.4mm nozzle: 0.4500\n 0.5mm nozzle: 0.3600\n 0.7mm nozzle: 0.2571\n 1.0mm nozzle: 0.1800\n\nRostockMAX v3.2 / v4:\n 0.4mm nozzle: 0.5387\n 0.5mm nozzle: 0.4310\n 0.7mm nozzle: 0.3078\n 1.0mm nozzle: 0.2155\n\nBOSSdelta 0505:\n 0.4mm nozzle: 0.6021\n 0.5mm nozzle: 0.4817\n 0.7mm nozzle: 0.3441\n 1.0mm nozzle: 0.2408\n\nBOSSdelta 0510:\n 0.4mm nozzle: 0.8873\n 0.5mm nozzle: 0.7099\n 0.7mm nozzle: 0.5070\n 1.0mm nozzle: 0.3549\n\nBOSSdelta 0521:\n 0.4mm nozzle: 1.4894\n 0.5mm nozzle: 1.1915\n 0.7mm nozzle: 0.8511\n 1.0mm nozzle: 0.5958\n\nRun OrcaSlicer PA calibration to fine-tune for your setup." + ], + "filament_type": [ + "PETG-CF" + ], + "full_fan_speed_layer": [ + "5" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "internal_bridge_fan_speed": [ + "55" + ], + "nozzle_temperature": [ + "235" + ], + "nozzle_temperature_initial_layer": [ + "235" + ], + "nozzle_temperature_range_high": [ + "255" + ], + "nozzle_temperature_range_low": [ + "225" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.45" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "45" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + "temperature_vitrification": [ + "80" + ], + "textured_cool_plate_temp": [ + "70" + ], + "textured_cool_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "keep_fan_always_on": [ + "0" + ] +} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG.json new file mode 100644 index 0000000000..a3f862eacc --- /dev/null +++ b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PETG.json @@ -0,0 +1,265 @@ +{ + "type": "filament", + "name": "SeeMeCNC PETG", + "inherits": "SeeMeCNC filament base", + "from": "System", + "filament_id": "SMCFG001", + "instantiation": "true", + "filament_settings_id": [ + "SeeMeCNC PETG" + ], + "compatible_printers": [ + "SeeMeCNC Artemis 0.4 nozzle", + "SeeMeCNC Artemis 0.5 nozzle", + "SeeMeCNC Artemis 0.7 nozzle", + "SeeMeCNC Artemis 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", + "SeeMeCNC BOSSdelta 300 0.4 nozzle", + "SeeMeCNC BOSSdelta 300 0.5 nozzle", + "SeeMeCNC BOSSdelta 300 0.7 nozzle", + "SeeMeCNC BOSSdelta 300 1.0 nozzle", + "SeeMeCNC RostockMAX v3.2 0.4 nozzle", + "SeeMeCNC RostockMAX v3.2 0.5 nozzle", + "SeeMeCNC RostockMAX v3.2 0.7 nozzle", + "SeeMeCNC RostockMAX v3.2 1.0 nozzle", + "SeeMeCNC RostockMAX v4 0.4 nozzle", + "SeeMeCNC RostockMAX v4 0.5 nozzle", + "SeeMeCNC RostockMAX v4 0.7 nozzle", + "SeeMeCNC RostockMAX v4 1.0 nozzle" + ], + "compatible_printers_condition": "", + "compatible_prints": [ + "0.16mm Fine @SeeMeCNC Artemis 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", + "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", + "0.20mm Fine @SeeMeCNC Artemis 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", + "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", + "0.20mm Standard @SeeMeCNC Artemis 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", + "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", + "0.24mm Draft @SeeMeCNC Artemis 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", + "0.25mm Standard @SeeMeCNC Artemis 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", + "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", + "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", + "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4", + "0.28mm Fine @SeeMeCNC Artemis 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", + "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", + "0.30mm Draft @SeeMeCNC Artemis 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", + "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", + "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", + "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5", + "0.35mm Standard @SeeMeCNC Artemis 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", + "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", + "0.40mm Fine @SeeMeCNC Artemis 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", + "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", + "0.42mm Draft @SeeMeCNC Artemis 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", + "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", + "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", + "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7", + "0.50mm Standard @SeeMeCNC Artemis 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", + "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", + "0.60mm Draft @SeeMeCNC Artemis 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", + "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", + "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", + "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0" + ], + "compatible_prints_condition": "", + "close_fan_the_first_x_layers": [ + "5" + ], + "cool_plate_temp": [ + "70" + ], + "cool_plate_temp_initial_layer": [ + "70" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "eng_plate_temp": [ + "70" + ], + "eng_plate_temp_initial_layer": [ + "70" + ], + "fan_cooling_layer_time": [ + "45" + ], + "fan_max_speed": [ + "70" + ], + "fan_min_speed": [ + "40" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_notes": [ + "Pressure Advance starting values by machine and nozzle size:\nArtemis / BOSSdelta 300:\n 0.4mm nozzle: 0.5000\n 0.5mm nozzle: 0.4000\n 0.7mm nozzle: 0.2857\n 1.0mm nozzle: 0.2000\n\nRostockMAX v3.2 / v4:\n 0.4mm nozzle: 0.5986\n 0.5mm nozzle: 0.4789\n 0.7mm nozzle: 0.3421\n 1.0mm nozzle: 0.2394\n\nBOSSdelta 0505:\n 0.4mm nozzle: 0.6690\n 0.5mm nozzle: 0.5352\n 0.7mm nozzle: 0.3823\n 1.0mm nozzle: 0.2676\n\nBOSSdelta 0510:\n 0.4mm nozzle: 0.9859\n 0.5mm nozzle: 0.7887\n 0.7mm nozzle: 0.5634\n 1.0mm nozzle: 0.3944\n\nBOSSdelta 0521:\n 0.4mm nozzle: 1.6549\n 0.5mm nozzle: 1.3239\n 0.7mm nozzle: 0.9457\n 1.0mm nozzle: 0.6620\n\nRun OrcaSlicer PA calibration to fine-tune for your setup." + ], + "filament_type": [ + "PETG" + ], + "full_fan_speed_layer": [ + "5" + ], + "hot_plate_temp": [ + "70" + ], + "hot_plate_temp_initial_layer": [ + "70" + ], + "internal_bridge_fan_speed": [ + "65" + ], + "nozzle_temperature": [ + "230" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.5" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "30" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "70" + ], + "supertack_plate_temp_initial_layer": [ + "70" + ], + "temperature_vitrification": [ + "80" + ], + "textured_cool_plate_temp": [ + "70" + ], + "textured_cool_plate_temp_initial_layer": [ + "70" + ], + "textured_plate_temp": [ + "70" + ], + "textured_plate_temp_initial_layer": [ + "70" + ], + "keep_fan_always_on": [ + "1" + ] +} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA.json new file mode 100644 index 0000000000..88065139a5 --- /dev/null +++ b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_PLA.json @@ -0,0 +1,447 @@ +{ + "type": "filament", + "name": "SeeMeCNC PLA", + "from": "System", + "filament_id": "SMCFL001", + "instantiation": "true", + "filament_settings_id": [ + "SeeMeCNC PLA" + ], + "compatible_printers": [ + "SeeMeCNC Artemis 0.4 nozzle", + "SeeMeCNC Artemis 0.5 nozzle", + "SeeMeCNC Artemis 0.7 nozzle", + "SeeMeCNC Artemis 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", + "SeeMeCNC BOSSdelta 300 0.4 nozzle", + "SeeMeCNC BOSSdelta 300 0.5 nozzle", + "SeeMeCNC BOSSdelta 300 0.7 nozzle", + "SeeMeCNC BOSSdelta 300 1.0 nozzle", + "SeeMeCNC RostockMAX v3.2 0.4 nozzle", + "SeeMeCNC RostockMAX v3.2 0.5 nozzle", + "SeeMeCNC RostockMAX v3.2 0.7 nozzle", + "SeeMeCNC RostockMAX v3.2 1.0 nozzle", + "SeeMeCNC RostockMAX v4 0.4 nozzle", + "SeeMeCNC RostockMAX v4 0.5 nozzle", + "SeeMeCNC RostockMAX v4 0.7 nozzle", + "SeeMeCNC RostockMAX v4 1.0 nozzle" + ], + "compatible_printers_condition": "", + "compatible_prints": [ + "0.16mm Fine @SeeMeCNC Artemis 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", + "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", + "0.20mm Fine @SeeMeCNC Artemis 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", + "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", + "0.20mm Standard @SeeMeCNC Artemis 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", + "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", + "0.24mm Draft @SeeMeCNC Artemis 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", + "0.25mm Standard @SeeMeCNC Artemis 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", + "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", + "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", + "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4", + "0.28mm Fine @SeeMeCNC Artemis 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", + "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", + "0.30mm Draft @SeeMeCNC Artemis 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", + "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", + "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", + "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5", + "0.35mm Standard @SeeMeCNC Artemis 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", + "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", + "0.40mm Fine @SeeMeCNC Artemis 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", + "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", + "0.42mm Draft @SeeMeCNC Artemis 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", + "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", + "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", + "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7", + "0.50mm Standard @SeeMeCNC Artemis 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", + "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", + "0.60mm Draft @SeeMeCNC Artemis 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", + "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", + "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", + "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0" + ], + "compatible_prints_condition": "", + "close_fan_the_first_x_layers": [ + "3" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "eng_plate_temp": [ + "55" + ], + "eng_plate_temp_initial_layer": [ + "55" + ], + "fan_cooling_layer_time": [ + "45" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.24" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_notes": [ + "Pressure Advance starting values by machine and nozzle size:\nArtemis / BOSSdelta 300:\n 0.4mm nozzle: 0.4000\n 0.5mm nozzle: 0.3200\n 0.7mm nozzle: 0.2286\n 1.0mm nozzle: 0.1600\n\nRostockMAX v3.2 / v4:\n 0.4mm nozzle: 0.4789\n 0.5mm nozzle: 0.3831\n 0.7mm nozzle: 0.2736\n 1.0mm nozzle: 0.1915\n\nBOSSdelta 0505:\n 0.4mm nozzle: 0.5352\n 0.5mm nozzle: 0.4282\n 0.7mm nozzle: 0.3058\n 1.0mm nozzle: 0.2141\n\nBOSSdelta 0510:\n 0.4mm nozzle: 0.7887\n 0.5mm nozzle: 0.6310\n 0.7mm nozzle: 0.4507\n 1.0mm nozzle: 0.3155\n\nBOSSdelta 0521:\n 0.4mm nozzle: 1.3239\n 0.5mm nozzle: 1.0592\n 0.7mm nozzle: 0.7565\n 1.0mm nozzle: 0.5296\n\nRun OrcaSlicer PA calibration to fine-tune for your setup." + ], + "filament_type": [ + "PLA" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "internal_bridge_fan_speed": [ + "100" + ], + "nozzle_temperature": [ + "190" + ], + "nozzle_temperature_initial_layer": [ + "190" + ], + "nozzle_temperature_range_high": [ + "225" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.4" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "30" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "temperature_vitrification": [ + "60" + ], + "textured_cool_plate_temp": [ + "55" + ], + "textured_cool_plate_temp_initial_layer": [ + "55" + ], + "textured_plate_temp": [ + "55" + ], + "textured_plate_temp_initial_layer": [ + "55" + ], + "keep_fan_always_on": [ + "1" + ], + "shrink_ratio": [ + "1", + "1" + ], + "dont_slow_down_outer_wall": [ + "0" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "adaptive_pressure_advance": [ + "0" + ], + "adaptive_pressure_advance_bridges": [ + "0" + ], + "adaptive_pressure_advance_model": [ + "0,0,0\n0,0,0" + ], + "adaptive_pressure_advance_overhangs": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "chamber_temperature": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_adaptive_volumetric_speed": [ + "0" + ], + "filament_adhesiveness_category": [ + "0" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + " " + ], + "filament_extruder_variant": [ + "Bowden Standard" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_volumetric_speed": [ + "0" + ], + "filament_ironing_flow": [ + "nil" + ], + "filament_ironing_inset": [ + "nil" + ], + "filament_ironing_spacing": [ + "nil" + ], + "filament_ironing_speed": [ + "nil" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "20" + ], + "filament_loading_speed_start": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "10" + ], + "filament_multitool_ramming_volume": [ + "10" + ], + "filament_printable": [ + "3" + ], + "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_shrink": [ + "100%" + ], + "filament_shrinkage_compensation_z": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_stamping_distance": [ + "0" + ], + "filament_stamping_loading_speed": [ + "0" + ], + "filament_start_gcode": [ + " " + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_toolchange_time": "4", + "filament_tower_interface_pre_extrusion_dist": [ + "10" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_interface_print_temp": [ + "-1" + ], + "filament_tower_interface_purge_volume": [ + "20" + ], + "filament_tower_ironing_area": [ + "4" + ], + "filament_unloading_speed": [ + "60" + ], + "filament_unloading_speed_start": [ + "80" + ], + "filament_vendor": [ + "SeeMeCNC" + ], + "idle_temperature": [ + "0" + ], + "ironing_fan_speed": [ + "-1" + ], + "overhang_fan_speed": [ + "100" + ], + "pellet_flow_coefficient": [ + "0.4157" + ], + "required_nozzle_HRC": [ + "0" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "volumetric_speed_coefficients": [ + "" + ], + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_TPU.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_TPU.json new file mode 100644 index 0000000000..34327f0b91 --- /dev/null +++ b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_TPU.json @@ -0,0 +1,185 @@ +{ + "type": "filament", + "name": "SeeMeCNC TPU", + "inherits": "SeeMeCNC filament base", + "from": "System", + "filament_id": "SMCFU001", + "instantiation": "true", + "filament_settings_id": [ + "SeeMeCNC TPU" + ], + "compatible_printers": [ + "SeeMeCNC Artemis 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", + "SeeMeCNC BOSSdelta 300 0.7 nozzle", + "SeeMeCNC RostockMAX v3.2 0.7 nozzle", + "SeeMeCNC RostockMAX v4 0.7 nozzle" + ], + "compatible_printers_condition": "", + "compatible_prints": [ + "0.30mm TPU Solid @SeeMeCNC Artemis 0.7", + "0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7", + "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7", + "0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7", + "0.35mm TPU Vase @SeeMeCNC Artemis 0.7", + "0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7", + "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7", + "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7", + "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7", + "0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7", + "0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7" + ], + "compatible_prints_condition": "", + "close_fan_the_first_x_layers": [ + "999" + ], + "cool_plate_temp": [ + "60" + ], + "cool_plate_temp_initial_layer": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "0" + ], + "eng_plate_temp": [ + "60" + ], + "eng_plate_temp_initial_layer": [ + "60" + ], + "fan_cooling_layer_time": [ + "35" + ], + "fan_max_speed": [ + "60" + ], + "fan_min_speed": [ + "35" + ], + "filament_cost": [ + "35" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "filament_notes": [ + "Pressure Advance starting values by machine and nozzle size:\nArtemis / BOSSdelta 300:\n 0.7mm nozzle: 0.4571\n\nRostockMAX v3.2 / v4:\n 0.7mm nozzle: 0.5473\n\nBOSSdelta 0505:\n 0.7mm nozzle: 0.6117\n - Expect significant tuning required\n\nBOSSdelta 0510:\n Not recommended for TPU.\n\nBOSSdelta 0521:\n Not recommended for TPU.\n\nRun OrcaSlicer PA calibration to fine-tune for your setup.\n\nNote: TPU profiles are designed for 0.7mm nozzles only." + ], + "filament_type": [ + "TPU" + ], + "full_fan_speed_layer": [ + "999" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "internal_bridge_fan_speed": [ + "-1" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.8" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "0" + ], + "slow_down_layer_time": [ + "25" + ], + "slow_down_min_speed": [ + "20" + ], + "supertack_plate_temp": [ + "35" + ], + "supertack_plate_temp_initial_layer": [ + "35" + ], + "temperature_vitrification": [ + "60" + ], + "textured_cool_plate_temp": [ + "60" + ], + "textured_cool_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ], + "filament_retraction_length": [ + "20" + ], + "filament_retraction_speed": [ + "120" + ], + "filament_deretraction_speed": [ + "120" + ], + "filament_retraction_minimum_travel": [ + "15" + ], + "filament_retract_restart_extra": [ + "0.5" + ], + "filament_retract_before_wipe": [ + "0%" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_z_hop": [ + "0" + ], + "filament_z_hop_types": [ + "Normal Lift" + ], + "filament_retract_lift_above": [ + "0" + ], + "filament_retract_lift_below": [ + "0" + ], + "filament_retract_lift_enforce": [ + "All Surfaces" + ], + "overhang_fan_speed": [ + "30" + ], + "keep_fan_always_on": [ + "0" + ] +} diff --git a/resources/profiles/SeeMeCNC/filament/SeeMeCNC_filament_base.json b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_filament_base.json new file mode 100644 index 0000000000..bf5de9ce70 --- /dev/null +++ b/resources/profiles/SeeMeCNC/filament/SeeMeCNC_filament_base.json @@ -0,0 +1,185 @@ +{ + "type": "filament", + "name": "SeeMeCNC filament base", + "from": "system", + "instantiation": "false", + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "adaptive_pressure_advance": [ + "0" + ], + "adaptive_pressure_advance_bridges": [ + "0" + ], + "adaptive_pressure_advance_model": [ + "0,0,0\n0,0,0" + ], + "adaptive_pressure_advance_overhangs": [ + "0" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "chamber_temperature": [ + "0" + ], + "complete_print_exhaust_fan_speed": [ + "80" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_adaptive_volumetric_speed": [ + "0" + ], + "filament_adhesiveness_category": [ + "0" + ], + "filament_change_length": [ + "10" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + " " + ], + "filament_extruder_variant": [ + "Bowden Standard" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_flush_temp": [ + "0" + ], + "filament_flush_volumetric_speed": [ + "0" + ], + "filament_ironing_flow": [ + "nil" + ], + "filament_ironing_inset": [ + "nil" + ], + "filament_ironing_spacing": [ + "nil" + ], + "filament_ironing_speed": [ + "nil" + ], + "filament_is_support": [ + "0" + ], + "filament_loading_speed": [ + "20" + ], + "filament_loading_speed_start": [ + "3" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "10" + ], + "filament_multitool_ramming_volume": [ + "10" + ], + "filament_printable": [ + "3" + ], + "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_shrink": [ + "100%" + ], + "filament_shrinkage_compensation_z": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_stamping_distance": [ + "0" + ], + "filament_stamping_loading_speed": [ + "0" + ], + "filament_start_gcode": [ + " " + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_toolchange_time": "4", + "filament_tower_interface_pre_extrusion_dist": [ + "10" + ], + "filament_tower_interface_pre_extrusion_length": [ + "0" + ], + "filament_tower_interface_print_temp": [ + "-1" + ], + "filament_tower_interface_purge_volume": [ + "20" + ], + "filament_tower_ironing_area": [ + "4" + ], + "filament_unloading_speed": [ + "60" + ], + "filament_unloading_speed_start": [ + "80" + ], + "filament_vendor": [ + "SeeMeCNC" + ], + "idle_temperature": [ + "0" + ], + "ironing_fan_speed": [ + "-1" + ], + "overhang_fan_speed": [ + "100" + ], + "pellet_flow_coefficient": [ + "0.4157" + ], + "required_nozzle_HRC": [ + "0" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "volumetric_speed_coefficients": [ + "" + ], + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC Artemis 300.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC Artemis 300.json new file mode 100644 index 0000000000..cd0ba84775 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC Artemis 300.json @@ -0,0 +1,15 @@ +{ + "type": "machine_model", + "name": "SeeMeCNC Artemis 300", + "bed_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_texture": "SeeMeCNC_Buildplate_texture.png", + "default_materials": "SeeMeCNC PLA", + "nozzle_diameter": "0.4;0.5;0.7;1.0", + "machine_tech": "FFF", + "family": "SeeMeCNC Artemis 300", + "thumbnail": "SeeMeCNC Artemis 300_cover.png", + "machine_load_filament_time": "4", + "machine_unload_filament_time": "4", + "model_id": "SEEMECNC_ARTEMIS_300", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 300.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 300.json new file mode 100644 index 0000000000..1586b6f445 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 300.json @@ -0,0 +1,15 @@ +{ + "type": "machine_model", + "name": "SeeMeCNC BOSSdelta 300", + "bed_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_texture": "SeeMeCNC_Buildplate_texture.png", + "default_materials": "SeeMeCNC PLA", + "nozzle_diameter": "0.4;0.5;0.7;1.0", + "machine_tech": "FFF", + "family": "SeeMeCNC BOSSdelta 300", + "thumbnail": "SeeMeCNC BOSSdelta 300_cover.png", + "machine_load_filament_time": "4", + "machine_unload_filament_time": "4", + "model_id": "SEEMECNC_BOSSDELTA_300", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0505.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0505.json new file mode 100644 index 0000000000..9a08105772 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0505.json @@ -0,0 +1,15 @@ +{ + "type": "machine_model", + "name": "SeeMeCNC BOSSdelta 500 0505", + "bed_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_texture": "SeeMeCNC_Buildplate_texture.png", + "default_materials": "SeeMeCNC PLA", + "nozzle_diameter": "0.4;0.5;0.7;1.0", + "machine_tech": "FFF", + "family": "SeeMeCNC BOSSdelta 500 0505", + "thumbnail": "SeeMeCNC BOSSdelta 500 0505_cover.png", + "machine_load_filament_time": "4", + "machine_unload_filament_time": "4", + "model_id": "SEEMECNC_BOSSDELTA_500_0505", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0510.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0510.json new file mode 100644 index 0000000000..5ae339af38 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0510.json @@ -0,0 +1,15 @@ +{ + "type": "machine_model", + "name": "SeeMeCNC BOSSdelta 500 0510", + "bed_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_texture": "SeeMeCNC_Buildplate_texture.png", + "default_materials": "SeeMeCNC PLA", + "nozzle_diameter": "0.4;0.5;0.7;1.0", + "machine_tech": "FFF", + "family": "SeeMeCNC BOSSdelta 500 0510", + "thumbnail": "SeeMeCNC BOSSdelta 500 0510_cover.png", + "machine_load_filament_time": "4", + "machine_unload_filament_time": "4", + "model_id": "SEEMECNC_BOSSDELTA_500_0510", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0521.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0521.json new file mode 100644 index 0000000000..1243cc47bb --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC BOSSdelta 500 0521.json @@ -0,0 +1,15 @@ +{ + "type": "machine_model", + "name": "SeeMeCNC BOSSdelta 500 0521", + "bed_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_texture": "SeeMeCNC_Buildplate_texture.png", + "default_materials": "SeeMeCNC PLA", + "nozzle_diameter": "0.4;0.5;0.7;1.0", + "machine_tech": "FFF", + "family": "SeeMeCNC BOSSdelta 500 0521", + "thumbnail": "SeeMeCNC BOSSdelta 500 0521_cover.png", + "machine_load_filament_time": "4", + "machine_unload_filament_time": "4", + "model_id": "SEEMECNC_BOSSDELTA_500_0521", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC RostockMAX v3.2.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC RostockMAX v3.2.json new file mode 100644 index 0000000000..be7fde668d --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC RostockMAX v3.2.json @@ -0,0 +1,15 @@ +{ + "type": "machine_model", + "name": "SeeMeCNC RostockMAX v3.2", + "bed_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_texture": "SeeMeCNC_Buildplate_texture.png", + "default_materials": "SeeMeCNC PLA", + "nozzle_diameter": "0.4;0.5;0.7;1.0", + "machine_tech": "FFF", + "family": "SeeMeCNC RostockMAX v3.2", + "thumbnail": "SeeMeCNC RostockMAX v3.2_cover.png", + "machine_load_filament_time": "4", + "machine_unload_filament_time": "4", + "model_id": "SEEMECNC_ROSTOCKMAX_V32", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC RostockMAX v4.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC RostockMAX v4.json new file mode 100644 index 0000000000..f5bd01a6c4 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC RostockMAX v4.json @@ -0,0 +1,15 @@ +{ + "type": "machine_model", + "name": "SeeMeCNC RostockMAX v4", + "bed_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_texture": "SeeMeCNC_Buildplate_texture.png", + "default_materials": "SeeMeCNC PLA", + "nozzle_diameter": "0.4;0.5;0.7;1.0", + "machine_tech": "FFF", + "family": "SeeMeCNC RostockMAX v4", + "thumbnail": "SeeMeCNC RostockMAX v4_cover.png", + "machine_load_filament_time": "4", + "machine_unload_filament_time": "4", + "model_id": "SEEMECNC_ROSTOCKMAX_V4", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_4mm.json new file mode 100644 index 0000000000..d09e9f376e --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_4mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC Artemis 0.4 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.20mm Standard @SeeMeCNC Artemis 0.4", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "500" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ARTEMIS END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ARTEMIS START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 290mm bed) ---\nG92 E0\nG1 X-50 Y-129.9 Z0.4 F5000 ; Move to arc start (inside 145mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-129.9 R139.2 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-119.9 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.32" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.4" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "145.0000x0.0000", + "144.4482x12.6376", + "142.7971x25.1790", + "140.0592x37.5288", + "136.2554x49.5929", + "131.4146x61.2796", + "125.5737x72.5000", + "118.7770x83.1686", + "111.0764x93.2042", + "102.5305x102.5305", + "93.2042x111.0764", + "83.1686x118.7770", + "72.5000x125.5737", + "61.2796x131.4146", + "49.5929x136.2554", + "37.5288x140.0592", + "25.1790x142.7971", + "12.6376x144.4482", + "0.0000x145.0000", + "-12.6376x144.4482", + "-25.1790x142.7971", + "-37.5288x140.0592", + "-49.5929x136.2554", + "-61.2796x131.4146", + "-72.5000x125.5737", + "-83.1686x118.7770", + "-93.2042x111.0764", + "-102.5305x102.5305", + "-111.0764x93.2042", + "-118.7770x83.1686", + "-125.5737x72.5000", + "-131.4146x61.2796", + "-136.2554x49.5929", + "-140.0592x37.5288", + "-142.7971x25.1790", + "-144.4482x12.6376", + "-145.0000x0.0000", + "-144.4482x-12.6376", + "-142.7971x-25.1790", + "-140.0592x-37.5288", + "-136.2554x-49.5929", + "-131.4146x-61.2796", + "-125.5737x-72.5000", + "-118.7770x-83.1686", + "-111.0764x-93.2042", + "-102.5305x-102.5305", + "-93.2042x-111.0764", + "-83.1686x-118.7770", + "-72.5000x-125.5737", + "-61.2796x-131.4146", + "-49.5929x-136.2554", + "-37.5288x-140.0592", + "-25.1790x-142.7971", + "-12.6376x-144.4482", + "-0.0000x-145.0000", + "12.6376x-144.4482", + "25.1790x-142.7971", + "37.5288x-140.0592", + "49.5929x-136.2554", + "61.2796x-131.4146", + "72.5000x-125.5737", + "83.1686x-118.7770", + "93.2042x-111.0764", + "102.5305x-102.5305", + "111.0764x-93.2042", + "118.7770x-83.1686", + "125.5737x-72.5000", + "131.4146x-61.2796", + "136.2554x-49.5929", + "140.0592x-37.5288", + "142.7971x-25.1790", + "144.4482x-12.6376" + ], + "printable_height": "500", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC Artemis 300", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC Artemis 0.4 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC Artemis 300", + "thumbnail": "SeeMeCNC Artemis 300_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_5mm.json new file mode 100644 index 0000000000..bf9e3c1e2a --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_5mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC Artemis 0.5 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.25mm Standard @SeeMeCNC Artemis 0.5", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "500" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ARTEMIS END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ARTEMIS START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 290mm bed) ---\nG92 E0\nG1 X-50 Y-129.9 Z0.4 F5000 ; Move to arc start (inside 145mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-129.9 R139.2 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-119.9 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.40" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.10" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.5" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "145.0000x0.0000", + "144.4482x12.6376", + "142.7971x25.1790", + "140.0592x37.5288", + "136.2554x49.5929", + "131.4146x61.2796", + "125.5737x72.5000", + "118.7770x83.1686", + "111.0764x93.2042", + "102.5305x102.5305", + "93.2042x111.0764", + "83.1686x118.7770", + "72.5000x125.5737", + "61.2796x131.4146", + "49.5929x136.2554", + "37.5288x140.0592", + "25.1790x142.7971", + "12.6376x144.4482", + "0.0000x145.0000", + "-12.6376x144.4482", + "-25.1790x142.7971", + "-37.5288x140.0592", + "-49.5929x136.2554", + "-61.2796x131.4146", + "-72.5000x125.5737", + "-83.1686x118.7770", + "-93.2042x111.0764", + "-102.5305x102.5305", + "-111.0764x93.2042", + "-118.7770x83.1686", + "-125.5737x72.5000", + "-131.4146x61.2796", + "-136.2554x49.5929", + "-140.0592x37.5288", + "-142.7971x25.1790", + "-144.4482x12.6376", + "-145.0000x0.0000", + "-144.4482x-12.6376", + "-142.7971x-25.1790", + "-140.0592x-37.5288", + "-136.2554x-49.5929", + "-131.4146x-61.2796", + "-125.5737x-72.5000", + "-118.7770x-83.1686", + "-111.0764x-93.2042", + "-102.5305x-102.5305", + "-93.2042x-111.0764", + "-83.1686x-118.7770", + "-72.5000x-125.5737", + "-61.2796x-131.4146", + "-49.5929x-136.2554", + "-37.5288x-140.0592", + "-25.1790x-142.7971", + "-12.6376x-144.4482", + "-0.0000x-145.0000", + "12.6376x-144.4482", + "25.1790x-142.7971", + "37.5288x-140.0592", + "49.5929x-136.2554", + "61.2796x-131.4146", + "72.5000x-125.5737", + "83.1686x-118.7770", + "93.2042x-111.0764", + "102.5305x-102.5305", + "111.0764x-93.2042", + "118.7770x-83.1686", + "125.5737x-72.5000", + "131.4146x-61.2796", + "136.2554x-49.5929", + "140.0592x-37.5288", + "142.7971x-25.1790", + "144.4482x-12.6376" + ], + "printable_height": "500", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC Artemis 300", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC Artemis 0.5 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.5", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC Artemis 300", + "thumbnail": "SeeMeCNC Artemis 300_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_7mm.json new file mode 100644 index 0000000000..1e189118ef --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_0_7mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC Artemis 0.7 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.35mm Standard @SeeMeCNC Artemis 0.7", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "500" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ARTEMIS END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ARTEMIS START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 290mm bed) ---\nG92 E0\nG1 X-50 Y-129.9 Z0.4 F5000 ; Move to arc start (inside 145mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-129.9 R139.2 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-119.9 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.56" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.15" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.7" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "145.0000x0.0000", + "144.4482x12.6376", + "142.7971x25.1790", + "140.0592x37.5288", + "136.2554x49.5929", + "131.4146x61.2796", + "125.5737x72.5000", + "118.7770x83.1686", + "111.0764x93.2042", + "102.5305x102.5305", + "93.2042x111.0764", + "83.1686x118.7770", + "72.5000x125.5737", + "61.2796x131.4146", + "49.5929x136.2554", + "37.5288x140.0592", + "25.1790x142.7971", + "12.6376x144.4482", + "0.0000x145.0000", + "-12.6376x144.4482", + "-25.1790x142.7971", + "-37.5288x140.0592", + "-49.5929x136.2554", + "-61.2796x131.4146", + "-72.5000x125.5737", + "-83.1686x118.7770", + "-93.2042x111.0764", + "-102.5305x102.5305", + "-111.0764x93.2042", + "-118.7770x83.1686", + "-125.5737x72.5000", + "-131.4146x61.2796", + "-136.2554x49.5929", + "-140.0592x37.5288", + "-142.7971x25.1790", + "-144.4482x12.6376", + "-145.0000x0.0000", + "-144.4482x-12.6376", + "-142.7971x-25.1790", + "-140.0592x-37.5288", + "-136.2554x-49.5929", + "-131.4146x-61.2796", + "-125.5737x-72.5000", + "-118.7770x-83.1686", + "-111.0764x-93.2042", + "-102.5305x-102.5305", + "-93.2042x-111.0764", + "-83.1686x-118.7770", + "-72.5000x-125.5737", + "-61.2796x-131.4146", + "-49.5929x-136.2554", + "-37.5288x-140.0592", + "-25.1790x-142.7971", + "-12.6376x-144.4482", + "-0.0000x-145.0000", + "12.6376x-144.4482", + "25.1790x-142.7971", + "37.5288x-140.0592", + "49.5929x-136.2554", + "61.2796x-131.4146", + "72.5000x-125.5737", + "83.1686x-118.7770", + "93.2042x-111.0764", + "102.5305x-102.5305", + "111.0764x-93.2042", + "118.7770x-83.1686", + "125.5737x-72.5000", + "131.4146x-61.2796", + "136.2554x-49.5929", + "140.0592x-37.5288", + "142.7971x-25.1790", + "144.4482x-12.6376" + ], + "printable_height": "500", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC Artemis 300", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC Artemis 0.7 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.7", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC Artemis 300", + "thumbnail": "SeeMeCNC Artemis 300_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_1_0mm.json new file mode 100644 index 0000000000..9deb062a37 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_Artemis_1_0mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC Artemis 1.0 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.50mm Standard @SeeMeCNC Artemis 1.0", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "500" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ARTEMIS END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ARTEMIS START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 290mm bed) ---\nG92 E0\nG1 X-50 Y-129.9 Z0.4 F5000 ; Move to arc start (inside 145mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-129.9 R139.2 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-119.9 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.80" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.20" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "1.0" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "2.5", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "145.0000x0.0000", + "144.4482x12.6376", + "142.7971x25.1790", + "140.0592x37.5288", + "136.2554x49.5929", + "131.4146x61.2796", + "125.5737x72.5000", + "118.7770x83.1686", + "111.0764x93.2042", + "102.5305x102.5305", + "93.2042x111.0764", + "83.1686x118.7770", + "72.5000x125.5737", + "61.2796x131.4146", + "49.5929x136.2554", + "37.5288x140.0592", + "25.1790x142.7971", + "12.6376x144.4482", + "0.0000x145.0000", + "-12.6376x144.4482", + "-25.1790x142.7971", + "-37.5288x140.0592", + "-49.5929x136.2554", + "-61.2796x131.4146", + "-72.5000x125.5737", + "-83.1686x118.7770", + "-93.2042x111.0764", + "-102.5305x102.5305", + "-111.0764x93.2042", + "-118.7770x83.1686", + "-125.5737x72.5000", + "-131.4146x61.2796", + "-136.2554x49.5929", + "-140.0592x37.5288", + "-142.7971x25.1790", + "-144.4482x12.6376", + "-145.0000x0.0000", + "-144.4482x-12.6376", + "-142.7971x-25.1790", + "-140.0592x-37.5288", + "-136.2554x-49.5929", + "-131.4146x-61.2796", + "-125.5737x-72.5000", + "-118.7770x-83.1686", + "-111.0764x-93.2042", + "-102.5305x-102.5305", + "-93.2042x-111.0764", + "-83.1686x-118.7770", + "-72.5000x-125.5737", + "-61.2796x-131.4146", + "-49.5929x-136.2554", + "-37.5288x-140.0592", + "-25.1790x-142.7971", + "-12.6376x-144.4482", + "-0.0000x-145.0000", + "12.6376x-144.4482", + "25.1790x-142.7971", + "37.5288x-140.0592", + "49.5929x-136.2554", + "61.2796x-131.4146", + "72.5000x-125.5737", + "83.1686x-118.7770", + "93.2042x-111.0764", + "102.5305x-102.5305", + "111.0764x-93.2042", + "118.7770x-83.1686", + "125.5737x-72.5000", + "131.4146x-61.2796", + "136.2554x-49.5929", + "140.0592x-37.5288", + "142.7971x-25.1790", + "144.4482x-12.6376" + ], + "printable_height": "500", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC Artemis 300", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC Artemis 1.0 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "1.0", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC Artemis 300", + "thumbnail": "SeeMeCNC Artemis 300_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_4mm.json new file mode 100644 index 0000000000..3911e1dc29 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_4mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "580" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0505 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "150", + "150" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0505 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.32" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.4" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "500", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0505", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0505", + "thumbnail": "SeeMeCNC BOSSdelta 500 0505_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_5mm.json new file mode 100644 index 0000000000..874cdd3b65 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_5mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "580" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0505 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "150", + "150" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0505 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.4" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.5" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "500", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0505", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.5", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0505", + "thumbnail": "SeeMeCNC BOSSdelta 500 0505_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_7mm.json new file mode 100644 index 0000000000..648f15efab --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_0_7mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "580" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0505 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "150", + "150" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0505 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.56" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.7" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "500", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0505", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.7", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0505", + "thumbnail": "SeeMeCNC BOSSdelta 500 0505_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_1_0mm.json new file mode 100644 index 0000000000..e1878aac4b --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0505_1_0mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "580" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0505 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "150", + "150" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0505 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.8" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "1.0" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "500", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0505", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "1.0", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0505", + "thumbnail": "SeeMeCNC BOSSdelta 500 0505_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_4mm.json new file mode 100644 index 0000000000..a161d1aece --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_4mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "1000" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0510 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "100", + "100" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0510 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.32" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.4" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "1000", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0510", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0510", + "thumbnail": "SeeMeCNC BOSSdelta 500 0510_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_5mm.json new file mode 100644 index 0000000000..41d6e5eeff --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_5mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "1000" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0510 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "100", + "100" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0510 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.4" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.5" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "1000", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0510", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.5", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0510", + "thumbnail": "SeeMeCNC BOSSdelta 500 0510_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_7mm.json new file mode 100644 index 0000000000..e7d67f4ff8 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_0_7mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "1000" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0510 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "100", + "100" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0510 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.56" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.7" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "1000", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0510", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.7", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0510", + "thumbnail": "SeeMeCNC BOSSdelta 500 0510_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_1_0mm.json new file mode 100644 index 0000000000..39e8945cb1 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0510_1_0mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "1000" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0510 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "100", + "100" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0510 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.8" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "1.0" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "1000", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0510", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "1.0", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0510", + "thumbnail": "SeeMeCNC BOSSdelta 500 0510_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_4mm.json new file mode 100644 index 0000000000..ea01fe1b58 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_4mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "2100" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0521 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "100", + "100" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0521 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.32" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.4" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "2100", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0521", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0521", + "thumbnail": "SeeMeCNC BOSSdelta 500 0521_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_5mm.json new file mode 100644 index 0000000000..b7ebd27e1c --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_5mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "2100" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0521 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "100", + "100" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0521 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.4" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.5" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "2100", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0521", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.5", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0521", + "thumbnail": "SeeMeCNC BOSSdelta 500 0521_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_7mm.json new file mode 100644 index 0000000000..bb0b909f5e --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_0_7mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "2100" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0521 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "100", + "100" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0521 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.56" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.7" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "2100", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0521", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.7", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0521", + "thumbnail": "SeeMeCNC BOSSdelta 500 0521_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_1_0mm.json new file mode 100644 index 0000000000..6c308dfc32 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta500_0521_1_0mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model_500.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "260", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "2100" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0521 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "100", + "100" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 500 0521 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 500mm bed) ---\nG92 E0\nG1 X-50 Y-234.7 Z0.4 F5000 ; Move to arc start (inside 250mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-234.7 R240.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-224.7 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.8" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "1.0" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "260", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "250.0000x0.0000", + "249.0487x21.7889", + "246.2019x43.4120", + "241.4815x64.7048", + "234.9232x85.5050", + "226.5769x105.6546", + "216.5064x125.0000", + "204.7880x143.3941", + "191.5111x160.6969", + "176.7767x176.7767", + "160.6969x191.5111", + "143.3941x204.7880", + "125.0000x216.5064", + "105.6546x226.5769", + "85.5050x234.9232", + "64.7048x241.4815", + "43.4120x246.2019", + "21.7889x249.0487", + "0.0000x250.0000", + "-21.7889x249.0487", + "-43.4120x246.2019", + "-64.7048x241.4815", + "-85.5050x234.9232", + "-105.6546x226.5769", + "-125.0000x216.5064", + "-143.3941x204.7880", + "-160.6969x191.5111", + "-176.7767x176.7767", + "-191.5111x160.6969", + "-204.7880x143.3941", + "-216.5064x125.0000", + "-226.5769x105.6546", + "-234.9232x85.5050", + "-241.4815x64.7048", + "-246.2019x43.4120", + "-249.0487x21.7889", + "-250.0000x0.0000", + "-249.0487x-21.7889", + "-246.2019x-43.4120", + "-241.4815x-64.7048", + "-234.9232x-85.5050", + "-226.5769x-105.6546", + "-216.5064x-125.0000", + "-204.7880x-143.3941", + "-191.5111x-160.6969", + "-176.7767x-176.7767", + "-160.6969x-191.5111", + "-143.3941x-204.7880", + "-125.0000x-216.5064", + "-105.6546x-226.5769", + "-85.5050x-234.9232", + "-64.7048x-241.4815", + "-43.4120x-246.2019", + "-21.7889x-249.0487", + "-0.0000x-250.0000", + "21.7889x-249.0487", + "43.4120x-246.2019", + "64.7048x-241.4815", + "85.5050x-234.9232", + "105.6546x-226.5769", + "125.0000x-216.5064", + "143.3941x-204.7880", + "160.6969x-191.5111", + "176.7767x-176.7767", + "191.5111x-160.6969", + "204.7880x-143.3941", + "216.5064x-125.0000", + "226.5769x-105.6546", + "234.9232x-85.5050", + "241.4815x-64.7048", + "246.2019x-43.4120", + "249.0487x-21.7889" + ], + "printable_height": "2100", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 500 0521", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "1.0", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "0", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 500 0521", + "thumbnail": "SeeMeCNC BOSSdelta 500 0521_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_4mm.json new file mode 100644 index 0000000000..8f63f8c97d --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_4mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 300 0.4 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "495" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 300 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 300 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 300mm bed) ---\nG92 E0\nG1 X-50 Y-135.0 Z0.4 F5000 ; Move to arc start (inside 150mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-135.0 R144.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-125.0 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.32" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.4" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "150.0000x0.0000", + "149.4292x13.0734", + "147.7212x26.0472", + "144.8889x38.8229", + "140.9539x51.3030", + "135.9462x63.3927", + "129.9038x75.0000", + "122.8728x86.0365", + "114.9067x96.4181", + "106.0660x106.0660", + "96.4181x114.9067", + "86.0365x122.8728", + "75.0000x129.9038", + "63.3927x135.9462", + "51.3030x140.9539", + "38.8229x144.8889", + "26.0472x147.7212", + "13.0734x149.4292", + "0.0000x150.0000", + "-13.0734x149.4292", + "-26.0472x147.7212", + "-38.8229x144.8889", + "-51.3030x140.9539", + "-63.3927x135.9462", + "-75.0000x129.9038", + "-86.0365x122.8728", + "-96.4181x114.9067", + "-106.0660x106.0660", + "-114.9067x96.4181", + "-122.8728x86.0365", + "-129.9038x75.0000", + "-135.9462x63.3927", + "-140.9539x51.3030", + "-144.8889x38.8229", + "-147.7212x26.0472", + "-149.4292x13.0734", + "-150.0000x0.0000", + "-149.4292x-13.0734", + "-147.7212x-26.0472", + "-144.8889x-38.8229", + "-140.9539x-51.3030", + "-135.9462x-63.3927", + "-129.9038x-75.0000", + "-122.8728x-86.0365", + "-114.9067x-96.4181", + "-106.0660x-106.0660", + "-96.4181x-114.9067", + "-86.0365x-122.8728", + "-75.0000x-129.9038", + "-63.3927x-135.9462", + "-51.3030x-140.9539", + "-38.8229x-144.8889", + "-26.0472x-147.7212", + "-13.0734x-149.4292", + "-0.0000x-150.0000", + "13.0734x-149.4292", + "26.0472x-147.7212", + "38.8229x-144.8889", + "51.3030x-140.9539", + "63.3927x-135.9462", + "75.0000x-129.9038", + "86.0365x-122.8728", + "96.4181x-114.9067", + "106.0660x-106.0660", + "114.9067x-96.4181", + "122.8728x-86.0365", + "129.9038x-75.0000", + "135.9462x-63.3927", + "140.9539x-51.3030", + "144.8889x-38.8229", + "147.7212x-26.0472", + "149.4292x-13.0734" + ], + "printable_height": "495", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 300", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 300 0.4 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 300", + "thumbnail": "SeeMeCNC BOSSdelta 300_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_5mm.json new file mode 100644 index 0000000000..2e3c6891fa --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_5mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 300 0.5 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "495" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 300 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 300 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 300mm bed) ---\nG92 E0\nG1 X-50 Y-135.0 Z0.4 F5000 ; Move to arc start (inside 150mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-135.0 R144.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-125.0 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.40" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.10" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.5" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "150.0000x0.0000", + "149.4292x13.0734", + "147.7212x26.0472", + "144.8889x38.8229", + "140.9539x51.3030", + "135.9462x63.3927", + "129.9038x75.0000", + "122.8728x86.0365", + "114.9067x96.4181", + "106.0660x106.0660", + "96.4181x114.9067", + "86.0365x122.8728", + "75.0000x129.9038", + "63.3927x135.9462", + "51.3030x140.9539", + "38.8229x144.8889", + "26.0472x147.7212", + "13.0734x149.4292", + "0.0000x150.0000", + "-13.0734x149.4292", + "-26.0472x147.7212", + "-38.8229x144.8889", + "-51.3030x140.9539", + "-63.3927x135.9462", + "-75.0000x129.9038", + "-86.0365x122.8728", + "-96.4181x114.9067", + "-106.0660x106.0660", + "-114.9067x96.4181", + "-122.8728x86.0365", + "-129.9038x75.0000", + "-135.9462x63.3927", + "-140.9539x51.3030", + "-144.8889x38.8229", + "-147.7212x26.0472", + "-149.4292x13.0734", + "-150.0000x0.0000", + "-149.4292x-13.0734", + "-147.7212x-26.0472", + "-144.8889x-38.8229", + "-140.9539x-51.3030", + "-135.9462x-63.3927", + "-129.9038x-75.0000", + "-122.8728x-86.0365", + "-114.9067x-96.4181", + "-106.0660x-106.0660", + "-96.4181x-114.9067", + "-86.0365x-122.8728", + "-75.0000x-129.9038", + "-63.3927x-135.9462", + "-51.3030x-140.9539", + "-38.8229x-144.8889", + "-26.0472x-147.7212", + "-13.0734x-149.4292", + "-0.0000x-150.0000", + "13.0734x-149.4292", + "26.0472x-147.7212", + "38.8229x-144.8889", + "51.3030x-140.9539", + "63.3927x-135.9462", + "75.0000x-129.9038", + "86.0365x-122.8728", + "96.4181x-114.9067", + "106.0660x-106.0660", + "114.9067x-96.4181", + "122.8728x-86.0365", + "129.9038x-75.0000", + "135.9462x-63.3927", + "140.9539x-51.3030", + "144.8889x-38.8229", + "147.7212x-26.0472", + "149.4292x-13.0734" + ], + "printable_height": "495", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 300", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 300 0.5 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.5", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 300", + "thumbnail": "SeeMeCNC BOSSdelta 300_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_7mm.json new file mode 100644 index 0000000000..ba36df00d2 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_0_7mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 300 0.7 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "495" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 300 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 300 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 300mm bed) ---\nG92 E0\nG1 X-50 Y-135.0 Z0.4 F5000 ; Move to arc start (inside 150mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-135.0 R144.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-125.0 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.56" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.15" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.7" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "150.0000x0.0000", + "149.4292x13.0734", + "147.7212x26.0472", + "144.8889x38.8229", + "140.9539x51.3030", + "135.9462x63.3927", + "129.9038x75.0000", + "122.8728x86.0365", + "114.9067x96.4181", + "106.0660x106.0660", + "96.4181x114.9067", + "86.0365x122.8728", + "75.0000x129.9038", + "63.3927x135.9462", + "51.3030x140.9539", + "38.8229x144.8889", + "26.0472x147.7212", + "13.0734x149.4292", + "0.0000x150.0000", + "-13.0734x149.4292", + "-26.0472x147.7212", + "-38.8229x144.8889", + "-51.3030x140.9539", + "-63.3927x135.9462", + "-75.0000x129.9038", + "-86.0365x122.8728", + "-96.4181x114.9067", + "-106.0660x106.0660", + "-114.9067x96.4181", + "-122.8728x86.0365", + "-129.9038x75.0000", + "-135.9462x63.3927", + "-140.9539x51.3030", + "-144.8889x38.8229", + "-147.7212x26.0472", + "-149.4292x13.0734", + "-150.0000x0.0000", + "-149.4292x-13.0734", + "-147.7212x-26.0472", + "-144.8889x-38.8229", + "-140.9539x-51.3030", + "-135.9462x-63.3927", + "-129.9038x-75.0000", + "-122.8728x-86.0365", + "-114.9067x-96.4181", + "-106.0660x-106.0660", + "-96.4181x-114.9067", + "-86.0365x-122.8728", + "-75.0000x-129.9038", + "-63.3927x-135.9462", + "-51.3030x-140.9539", + "-38.8229x-144.8889", + "-26.0472x-147.7212", + "-13.0734x-149.4292", + "-0.0000x-150.0000", + "13.0734x-149.4292", + "26.0472x-147.7212", + "38.8229x-144.8889", + "51.3030x-140.9539", + "63.3927x-135.9462", + "75.0000x-129.9038", + "86.0365x-122.8728", + "96.4181x-114.9067", + "106.0660x-106.0660", + "114.9067x-96.4181", + "122.8728x-86.0365", + "129.9038x-75.0000", + "135.9462x-63.3927", + "140.9539x-51.3030", + "144.8889x-38.8229", + "147.7212x-26.0472", + "149.4292x-13.0734" + ], + "printable_height": "495", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 300", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 300 0.7 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.7", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 300", + "thumbnail": "SeeMeCNC BOSSdelta 300_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_1_0mm.json new file mode 100644 index 0000000000..c9c7cfe489 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_BOSSdelta_300_1_0mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC BOSSdelta 300 1.0 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "495" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC BOSSDELTA 300 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC BOSSDELTA 300 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 300mm bed) ---\nG92 E0\nG1 X-50 Y-135.0 Z0.4 F5000 ; Move to arc start (inside 150mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-135.0 R144.0 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-125.0 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.80" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.20" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "1.0" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "150.0000x0.0000", + "149.4292x13.0734", + "147.7212x26.0472", + "144.8889x38.8229", + "140.9539x51.3030", + "135.9462x63.3927", + "129.9038x75.0000", + "122.8728x86.0365", + "114.9067x96.4181", + "106.0660x106.0660", + "96.4181x114.9067", + "86.0365x122.8728", + "75.0000x129.9038", + "63.3927x135.9462", + "51.3030x140.9539", + "38.8229x144.8889", + "26.0472x147.7212", + "13.0734x149.4292", + "0.0000x150.0000", + "-13.0734x149.4292", + "-26.0472x147.7212", + "-38.8229x144.8889", + "-51.3030x140.9539", + "-63.3927x135.9462", + "-75.0000x129.9038", + "-86.0365x122.8728", + "-96.4181x114.9067", + "-106.0660x106.0660", + "-114.9067x96.4181", + "-122.8728x86.0365", + "-129.9038x75.0000", + "-135.9462x63.3927", + "-140.9539x51.3030", + "-144.8889x38.8229", + "-147.7212x26.0472", + "-149.4292x13.0734", + "-150.0000x0.0000", + "-149.4292x-13.0734", + "-147.7212x-26.0472", + "-144.8889x-38.8229", + "-140.9539x-51.3030", + "-135.9462x-63.3927", + "-129.9038x-75.0000", + "-122.8728x-86.0365", + "-114.9067x-96.4181", + "-106.0660x-106.0660", + "-96.4181x-114.9067", + "-86.0365x-122.8728", + "-75.0000x-129.9038", + "-63.3927x-135.9462", + "-51.3030x-140.9539", + "-38.8229x-144.8889", + "-26.0472x-147.7212", + "-13.0734x-149.4292", + "-0.0000x-150.0000", + "13.0734x-149.4292", + "26.0472x-147.7212", + "38.8229x-144.8889", + "51.3030x-140.9539", + "63.3927x-135.9462", + "75.0000x-129.9038", + "86.0365x-122.8728", + "96.4181x-114.9067", + "106.0660x-106.0660", + "114.9067x-96.4181", + "122.8728x-86.0365", + "129.9038x-75.0000", + "135.9462x-63.3927", + "140.9539x-51.3030", + "144.8889x-38.8229", + "147.7212x-26.0472", + "149.4292x-13.0734" + ], + "printable_height": "495", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC BOSSdelta 300", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC BOSSdelta 300 1.0 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "1.0", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC BOSSdelta 300", + "thumbnail": "SeeMeCNC BOSSdelta 300_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_4mm.json new file mode 100644 index 0000000000..de09d587c0 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_4mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC RostockMAX v3.2 0.4 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "385" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V3.2 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V3.2 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 270mm bed) ---\nG92 E0\nG1 X-50 Y-119.6 Z0.4 F5000 ; Move to arc start (inside 135mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-119.6 R129.6 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-109.6 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.32" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.4" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "135.0000x0.0000", + "134.4863x11.7660", + "132.9490x23.4425", + "130.4000x34.9406", + "126.8585x46.1727", + "122.3516x57.0535", + "116.9134x67.5000", + "110.5855x77.4328", + "103.4160x86.7763", + "95.4594x95.4594", + "86.7763x103.4160", + "77.4328x110.5855", + "67.5000x116.9134", + "57.0535x122.3516", + "46.1727x126.8585", + "34.9406x130.4000", + "23.4425x132.9490", + "11.7660x134.4863", + "0.0000x135.0000", + "-11.7660x134.4863", + "-23.4425x132.9490", + "-34.9406x130.4000", + "-46.1727x126.8585", + "-57.0535x122.3516", + "-67.5000x116.9134", + "-77.4328x110.5855", + "-86.7763x103.4160", + "-95.4594x95.4594", + "-103.4160x86.7763", + "-110.5855x77.4328", + "-116.9134x67.5000", + "-122.3516x57.0535", + "-126.8585x46.1727", + "-130.4000x34.9406", + "-132.9490x23.4425", + "-134.4863x11.7660", + "-135.0000x0.0000", + "-134.4863x-11.7660", + "-132.9490x-23.4425", + "-130.4000x-34.9406", + "-126.8585x-46.1727", + "-122.3516x-57.0535", + "-116.9134x-67.5000", + "-110.5855x-77.4328", + "-103.4160x-86.7763", + "-95.4594x-95.4594", + "-86.7763x-103.4160", + "-77.4328x-110.5855", + "-67.5000x-116.9134", + "-57.0535x-122.3516", + "-46.1727x-126.8585", + "-34.9406x-130.4000", + "-23.4425x-132.9490", + "-11.7660x-134.4863", + "-0.0000x-135.0000", + "11.7660x-134.4863", + "23.4425x-132.9490", + "34.9406x-130.4000", + "46.1727x-126.8585", + "57.0535x-122.3516", + "67.5000x-116.9134", + "77.4328x-110.5855", + "86.7763x-103.4160", + "95.4594x-95.4594", + "103.4160x-86.7763", + "110.5855x-77.4328", + "116.9134x-67.5000", + "122.3516x-57.0535", + "126.8585x-46.1727", + "130.4000x-34.9406", + "132.9490x-23.4425", + "134.4863x-11.7660" + ], + "printable_height": "385", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC RostockMAX v3.2", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC RostockMAX v3.2 0.4 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC RostockMAX v3.2", + "thumbnail": "SeeMeCNC RostockMAX v3.2_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_5mm.json new file mode 100644 index 0000000000..8ee029401b --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_5mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC RostockMAX v3.2 0.5 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "385" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V3.2 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V3.2 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 270mm bed) ---\nG92 E0\nG1 X-50 Y-119.6 Z0.4 F5000 ; Move to arc start (inside 135mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-119.6 R129.6 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-109.6 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.4" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.5" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "135.0000x0.0000", + "134.4863x11.7660", + "132.9490x23.4425", + "130.4000x34.9406", + "126.8585x46.1727", + "122.3516x57.0535", + "116.9134x67.5000", + "110.5855x77.4328", + "103.4160x86.7763", + "95.4594x95.4594", + "86.7763x103.4160", + "77.4328x110.5855", + "67.5000x116.9134", + "57.0535x122.3516", + "46.1727x126.8585", + "34.9406x130.4000", + "23.4425x132.9490", + "11.7660x134.4863", + "0.0000x135.0000", + "-11.7660x134.4863", + "-23.4425x132.9490", + "-34.9406x130.4000", + "-46.1727x126.8585", + "-57.0535x122.3516", + "-67.5000x116.9134", + "-77.4328x110.5855", + "-86.7763x103.4160", + "-95.4594x95.4594", + "-103.4160x86.7763", + "-110.5855x77.4328", + "-116.9134x67.5000", + "-122.3516x57.0535", + "-126.8585x46.1727", + "-130.4000x34.9406", + "-132.9490x23.4425", + "-134.4863x11.7660", + "-135.0000x0.0000", + "-134.4863x-11.7660", + "-132.9490x-23.4425", + "-130.4000x-34.9406", + "-126.8585x-46.1727", + "-122.3516x-57.0535", + "-116.9134x-67.5000", + "-110.5855x-77.4328", + "-103.4160x-86.7763", + "-95.4594x-95.4594", + "-86.7763x-103.4160", + "-77.4328x-110.5855", + "-67.5000x-116.9134", + "-57.0535x-122.3516", + "-46.1727x-126.8585", + "-34.9406x-130.4000", + "-23.4425x-132.9490", + "-11.7660x-134.4863", + "-0.0000x-135.0000", + "11.7660x-134.4863", + "23.4425x-132.9490", + "34.9406x-130.4000", + "46.1727x-126.8585", + "57.0535x-122.3516", + "67.5000x-116.9134", + "77.4328x-110.5855", + "86.7763x-103.4160", + "95.4594x-95.4594", + "103.4160x-86.7763", + "110.5855x-77.4328", + "116.9134x-67.5000", + "122.3516x-57.0535", + "126.8585x-46.1727", + "130.4000x-34.9406", + "132.9490x-23.4425", + "134.4863x-11.7660" + ], + "printable_height": "385", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC RostockMAX v3.2", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC RostockMAX v3.2 0.5 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.5", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC RostockMAX v3.2", + "thumbnail": "SeeMeCNC RostockMAX v3.2_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_7mm.json new file mode 100644 index 0000000000..38114f1099 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_0_7mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC RostockMAX v3.2 0.7 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "385" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V3.2 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V3.2 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 270mm bed) ---\nG92 E0\nG1 X-50 Y-119.6 Z0.4 F5000 ; Move to arc start (inside 135mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-119.6 R129.6 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-109.6 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.56" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.7" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "135.0000x0.0000", + "134.4863x11.7660", + "132.9490x23.4425", + "130.4000x34.9406", + "126.8585x46.1727", + "122.3516x57.0535", + "116.9134x67.5000", + "110.5855x77.4328", + "103.4160x86.7763", + "95.4594x95.4594", + "86.7763x103.4160", + "77.4328x110.5855", + "67.5000x116.9134", + "57.0535x122.3516", + "46.1727x126.8585", + "34.9406x130.4000", + "23.4425x132.9490", + "11.7660x134.4863", + "0.0000x135.0000", + "-11.7660x134.4863", + "-23.4425x132.9490", + "-34.9406x130.4000", + "-46.1727x126.8585", + "-57.0535x122.3516", + "-67.5000x116.9134", + "-77.4328x110.5855", + "-86.7763x103.4160", + "-95.4594x95.4594", + "-103.4160x86.7763", + "-110.5855x77.4328", + "-116.9134x67.5000", + "-122.3516x57.0535", + "-126.8585x46.1727", + "-130.4000x34.9406", + "-132.9490x23.4425", + "-134.4863x11.7660", + "-135.0000x0.0000", + "-134.4863x-11.7660", + "-132.9490x-23.4425", + "-130.4000x-34.9406", + "-126.8585x-46.1727", + "-122.3516x-57.0535", + "-116.9134x-67.5000", + "-110.5855x-77.4328", + "-103.4160x-86.7763", + "-95.4594x-95.4594", + "-86.7763x-103.4160", + "-77.4328x-110.5855", + "-67.5000x-116.9134", + "-57.0535x-122.3516", + "-46.1727x-126.8585", + "-34.9406x-130.4000", + "-23.4425x-132.9490", + "-11.7660x-134.4863", + "-0.0000x-135.0000", + "11.7660x-134.4863", + "23.4425x-132.9490", + "34.9406x-130.4000", + "46.1727x-126.8585", + "57.0535x-122.3516", + "67.5000x-116.9134", + "77.4328x-110.5855", + "86.7763x-103.4160", + "95.4594x-95.4594", + "103.4160x-86.7763", + "110.5855x-77.4328", + "116.9134x-67.5000", + "122.3516x-57.0535", + "126.8585x-46.1727", + "130.4000x-34.9406", + "132.9490x-23.4425", + "134.4863x-11.7660" + ], + "printable_height": "385", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC RostockMAX v3.2", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC RostockMAX v3.2 0.7 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.7", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC RostockMAX v3.2", + "thumbnail": "SeeMeCNC RostockMAX v3.2_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_1_0mm.json new file mode 100644 index 0000000000..31ec6793e2 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v3.2_1_0mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC RostockMAX v3.2 1.0 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "385" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V3.2 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V3.2 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 270mm bed) ---\nG92 E0\nG1 X-50 Y-119.6 Z0.4 F5000 ; Move to arc start (inside 135mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-119.6 R129.6 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-109.6 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.8" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "1.0" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "135.0000x0.0000", + "134.4863x11.7660", + "132.9490x23.4425", + "130.4000x34.9406", + "126.8585x46.1727", + "122.3516x57.0535", + "116.9134x67.5000", + "110.5855x77.4328", + "103.4160x86.7763", + "95.4594x95.4594", + "86.7763x103.4160", + "77.4328x110.5855", + "67.5000x116.9134", + "57.0535x122.3516", + "46.1727x126.8585", + "34.9406x130.4000", + "23.4425x132.9490", + "11.7660x134.4863", + "0.0000x135.0000", + "-11.7660x134.4863", + "-23.4425x132.9490", + "-34.9406x130.4000", + "-46.1727x126.8585", + "-57.0535x122.3516", + "-67.5000x116.9134", + "-77.4328x110.5855", + "-86.7763x103.4160", + "-95.4594x95.4594", + "-103.4160x86.7763", + "-110.5855x77.4328", + "-116.9134x67.5000", + "-122.3516x57.0535", + "-126.8585x46.1727", + "-130.4000x34.9406", + "-132.9490x23.4425", + "-134.4863x11.7660", + "-135.0000x0.0000", + "-134.4863x-11.7660", + "-132.9490x-23.4425", + "-130.4000x-34.9406", + "-126.8585x-46.1727", + "-122.3516x-57.0535", + "-116.9134x-67.5000", + "-110.5855x-77.4328", + "-103.4160x-86.7763", + "-95.4594x-95.4594", + "-86.7763x-103.4160", + "-77.4328x-110.5855", + "-67.5000x-116.9134", + "-57.0535x-122.3516", + "-46.1727x-126.8585", + "-34.9406x-130.4000", + "-23.4425x-132.9490", + "-11.7660x-134.4863", + "-0.0000x-135.0000", + "11.7660x-134.4863", + "23.4425x-132.9490", + "34.9406x-130.4000", + "46.1727x-126.8585", + "57.0535x-122.3516", + "67.5000x-116.9134", + "77.4328x-110.5855", + "86.7763x-103.4160", + "95.4594x-95.4594", + "103.4160x-86.7763", + "110.5855x-77.4328", + "116.9134x-67.5000", + "122.3516x-57.0535", + "126.8585x-46.1727", + "130.4000x-34.9406", + "132.9490x-23.4425", + "134.4863x-11.7660" + ], + "printable_height": "385", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC RostockMAX v3.2", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC RostockMAX v3.2 1.0 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "1.0", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC RostockMAX v3.2", + "thumbnail": "SeeMeCNC RostockMAX v3.2_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_4mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_4mm.json new file mode 100644 index 0000000000..18017a7ecf --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_4mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC RostockMAX v4 0.4 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "385" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V4 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V4 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 280mm bed) ---\nG92 E0\nG1 X-50 Y-124.8 Z0.4 F5000 ; Move to arc start (inside 140mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-124.8 R134.4 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-114.8 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.32" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.08" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.4" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "140.0000x0.0000", + "139.4673x12.2018", + "137.8731x24.3107", + "135.2296x36.2347", + "131.5570x47.8828", + "126.8831x59.1666", + "121.2436x70.0000", + "114.6813x80.3007", + "107.2462x89.9903", + "98.9949x98.9949", + "89.9903x107.2462", + "80.3007x114.6813", + "70.0000x121.2436", + "59.1666x126.8831", + "47.8828x131.5570", + "36.2347x135.2296", + "24.3107x137.8731", + "12.2018x139.4673", + "0.0000x140.0000", + "-12.2018x139.4673", + "-24.3107x137.8731", + "-36.2347x135.2296", + "-47.8828x131.5570", + "-59.1666x126.8831", + "-70.0000x121.2436", + "-80.3007x114.6813", + "-89.9903x107.2462", + "-98.9949x98.9949", + "-107.2462x89.9903", + "-114.6813x80.3007", + "-121.2436x70.0000", + "-126.8831x59.1666", + "-131.5570x47.8828", + "-135.2296x36.2347", + "-137.8731x24.3107", + "-139.4673x12.2018", + "-140.0000x0.0000", + "-139.4673x-12.2018", + "-137.8731x-24.3107", + "-135.2296x-36.2347", + "-131.5570x-47.8828", + "-126.8831x-59.1666", + "-121.2436x-70.0000", + "-114.6813x-80.3007", + "-107.2462x-89.9903", + "-98.9949x-98.9949", + "-89.9903x-107.2462", + "-80.3007x-114.6813", + "-70.0000x-121.2436", + "-59.1666x-126.8831", + "-47.8828x-131.5570", + "-36.2347x-135.2296", + "-24.3107x-137.8731", + "-12.2018x-139.4673", + "-0.0000x-140.0000", + "12.2018x-139.4673", + "24.3107x-137.8731", + "36.2347x-135.2296", + "47.8828x-131.5570", + "59.1666x-126.8831", + "70.0000x-121.2436", + "80.3007x-114.6813", + "89.9903x-107.2462", + "98.9949x-98.9949", + "107.2462x-89.9903", + "114.6813x-80.3007", + "121.2436x-70.0000", + "126.8831x-59.1666", + "131.5570x-47.8828", + "135.2296x-36.2347", + "137.8731x-24.3107", + "139.4673x-12.2018" + ], + "printable_height": "385", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC RostockMAX v4", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC RostockMAX v4 0.4 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC RostockMAX v4", + "thumbnail": "SeeMeCNC RostockMAX v4_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_5mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_5mm.json new file mode 100644 index 0000000000..413cce5b8e --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_5mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC RostockMAX v4 0.5 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "385" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V4 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V4 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 280mm bed) ---\nG92 E0\nG1 X-50 Y-124.8 Z0.4 F5000 ; Move to arc start (inside 140mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-124.8 R134.4 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-114.8 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.40" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.10" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.5" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "140.0000x0.0000", + "139.4673x12.2018", + "137.8731x24.3107", + "135.2296x36.2347", + "131.5570x47.8828", + "126.8831x59.1666", + "121.2436x70.0000", + "114.6813x80.3007", + "107.2462x89.9903", + "98.9949x98.9949", + "89.9903x107.2462", + "80.3007x114.6813", + "70.0000x121.2436", + "59.1666x126.8831", + "47.8828x131.5570", + "36.2347x135.2296", + "24.3107x137.8731", + "12.2018x139.4673", + "0.0000x140.0000", + "-12.2018x139.4673", + "-24.3107x137.8731", + "-36.2347x135.2296", + "-47.8828x131.5570", + "-59.1666x126.8831", + "-70.0000x121.2436", + "-80.3007x114.6813", + "-89.9903x107.2462", + "-98.9949x98.9949", + "-107.2462x89.9903", + "-114.6813x80.3007", + "-121.2436x70.0000", + "-126.8831x59.1666", + "-131.5570x47.8828", + "-135.2296x36.2347", + "-137.8731x24.3107", + "-139.4673x12.2018", + "-140.0000x0.0000", + "-139.4673x-12.2018", + "-137.8731x-24.3107", + "-135.2296x-36.2347", + "-131.5570x-47.8828", + "-126.8831x-59.1666", + "-121.2436x-70.0000", + "-114.6813x-80.3007", + "-107.2462x-89.9903", + "-98.9949x-98.9949", + "-89.9903x-107.2462", + "-80.3007x-114.6813", + "-70.0000x-121.2436", + "-59.1666x-126.8831", + "-47.8828x-131.5570", + "-36.2347x-135.2296", + "-24.3107x-137.8731", + "-12.2018x-139.4673", + "-0.0000x-140.0000", + "12.2018x-139.4673", + "24.3107x-137.8731", + "36.2347x-135.2296", + "47.8828x-131.5570", + "59.1666x-126.8831", + "70.0000x-121.2436", + "80.3007x-114.6813", + "89.9903x-107.2462", + "98.9949x-98.9949", + "107.2462x-89.9903", + "114.6813x-80.3007", + "121.2436x-70.0000", + "126.8831x-59.1666", + "131.5570x-47.8828", + "135.2296x-36.2347", + "137.8731x-24.3107", + "139.4673x-12.2018" + ], + "printable_height": "385", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC RostockMAX v4", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC RostockMAX v4 0.5 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.5", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC RostockMAX v4", + "thumbnail": "SeeMeCNC RostockMAX v4_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_7mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_7mm.json new file mode 100644 index 0000000000..9cf89c9270 --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_0_7mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC RostockMAX v4 0.7 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "385" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V4 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V4 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 280mm bed) ---\nG92 E0\nG1 X-50 Y-124.8 Z0.4 F5000 ; Move to arc start (inside 140mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-124.8 R134.4 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-114.8 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.56" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.15" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "0.7" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "140.0000x0.0000", + "139.4673x12.2018", + "137.8731x24.3107", + "135.2296x36.2347", + "131.5570x47.8828", + "126.8831x59.1666", + "121.2436x70.0000", + "114.6813x80.3007", + "107.2462x89.9903", + "98.9949x98.9949", + "89.9903x107.2462", + "80.3007x114.6813", + "70.0000x121.2436", + "59.1666x126.8831", + "47.8828x131.5570", + "36.2347x135.2296", + "24.3107x137.8731", + "12.2018x139.4673", + "0.0000x140.0000", + "-12.2018x139.4673", + "-24.3107x137.8731", + "-36.2347x135.2296", + "-47.8828x131.5570", + "-59.1666x126.8831", + "-70.0000x121.2436", + "-80.3007x114.6813", + "-89.9903x107.2462", + "-98.9949x98.9949", + "-107.2462x89.9903", + "-114.6813x80.3007", + "-121.2436x70.0000", + "-126.8831x59.1666", + "-131.5570x47.8828", + "-135.2296x36.2347", + "-137.8731x24.3107", + "-139.4673x12.2018", + "-140.0000x0.0000", + "-139.4673x-12.2018", + "-137.8731x-24.3107", + "-135.2296x-36.2347", + "-131.5570x-47.8828", + "-126.8831x-59.1666", + "-121.2436x-70.0000", + "-114.6813x-80.3007", + "-107.2462x-89.9903", + "-98.9949x-98.9949", + "-89.9903x-107.2462", + "-80.3007x-114.6813", + "-70.0000x-121.2436", + "-59.1666x-126.8831", + "-47.8828x-131.5570", + "-36.2347x-135.2296", + "-24.3107x-137.8731", + "-12.2018x-139.4673", + "-0.0000x-140.0000", + "12.2018x-139.4673", + "24.3107x-137.8731", + "36.2347x-135.2296", + "47.8828x-131.5570", + "59.1666x-126.8831", + "70.0000x-121.2436", + "80.3007x-114.6813", + "89.9903x-107.2462", + "98.9949x-98.9949", + "107.2462x-89.9903", + "114.6813x-80.3007", + "121.2436x-70.0000", + "126.8831x-59.1666", + "131.5570x-47.8828", + "135.2296x-36.2347", + "137.8731x-24.3107", + "139.4673x-12.2018" + ], + "printable_height": "385", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC RostockMAX v4", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC RostockMAX v4 0.7 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "0.7", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC RostockMAX v4", + "thumbnail": "SeeMeCNC RostockMAX v4_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_1_0mm.json b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_1_0mm.json new file mode 100644 index 0000000000..69316f794c --- /dev/null +++ b/resources/profiles/SeeMeCNC/machine/SeeMeCNC_RostockMAX_v4_1_0mm.json @@ -0,0 +1,351 @@ +{ + "type": "machine", + "name": "SeeMeCNC RostockMAX v4 1.0 nozzle", + "from": "System", + "instantiation": "true", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_model": "SeeMeCNC_Buildplate_Model.STL", + "bed_custom_texture": "SeeMeCNC_Buildplate_texture.png", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "bed_temperature_formula": "by_first_filament", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n{if layer_num == 1}M104 S[nozzle_temperature] ; Step down from first layer temp to print temp{endif}\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "{if layer_num >= 0}\nG92 E0\nG1 E-5 F3000\nG1 E-155 F5000\nT[next_extruder]\n{if layer_num == 0}\nM109 S[first_layer_temperature]\n{else}\nM109 S[nozzle_temperature]\n{endif}\nG1 E160 F5000\nG92 E0\n{endif}", + "cooling_tube_length": "5", + "cooling_tube_retraction": "160", + "default_filament_profile": [ + "SeeMeCNC PLA" + ], + "default_nozzle_volume_type": [ + "Standard" + ], + "default_print_profile": "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", + "deretraction_speed": [ + "60" + ], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "enable_power_loss_recovery": "printer_configuration", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "70", + "extruder_clearance_height_to_rod": "70", + "extruder_clearance_radius": "75", + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "extruder_printable_area": [], + "extruder_printable_height": [ + "385" + ], + "extruder_type": [ + "Bowden" + ], + "extruder_variant_list": [ + "Bowden Standard" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "file_start_gcode": "", + "gcode_flavor": "reprapfirmware", + "grab_length": [ + "0" + ], + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "duet", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V4 END G-CODE =======\nM104 S0 ; Turn off hotend\nM140 S0 ; Turn off heated bed\nM107 T0 ; Turn off part cooling fan\nG91 ; Relative positioning\nG1 Z2 E-160 F6000 ; Lift 2mm and retract 160mm\nG92 E0\nG90 ; Absolute positioning\nM203 Z18000 ; Allow fast Z for homing\nG28 ; Home all axes - clears part immediately on a delta\n;======= END G-CODE =======" + ], + "machine_load_filament_time": "4", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "5000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "5000", + "5000" + ], + "machine_max_acceleration_x": [ + "5000", + "5000" + ], + "machine_max_acceleration_y": [ + "5000", + "5000" + ], + "machine_max_acceleration_z": [ + "5000", + "5000" + ], + "machine_max_jerk_e": [ + "15", + "15" + ], + "machine_max_jerk_x": [ + "15", + "15" + ], + "machine_max_jerk_y": [ + "15", + "15" + ], + "machine_max_jerk_z": [ + "15", + "15" + ], + "machine_max_junction_deviation": [ + "0.01" + ], + "machine_max_speed_e": [ + "150", + "25" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "200", + "200" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": [ + ";======= SEEMECNC ROSTOCKMAX V4 START G-CODE =======\nG21 ; Set units to mm\nG90 ; Absolute positioning\nM82 ; Extruder to absolute mode\nG28 ; Home all axes\nG1 Z50 F9000 ; Lift nozzle for safe heating\n; --- SELECT STARTING TOOL ---\nT[initial_tool] ; Activate the first assigned filament in OrcaSlicer\n; --- PREHEAT ---\nM140 S[first_layer_bed_temperature] ; Start bed heating\nM104 S[first_layer_temperature] ; Start nozzle heating\nM190 S[first_layer_bed_temperature] ; Wait for bed to reach temp\nM109 S[first_layer_temperature] ; Wait for nozzle to reach temp\n; --- RE-PRIME BOWDEN TUBE ---\nG92 E0\nG1 E160.5 F3000 ; Retract 160mm\nG92 E0\n; --- PURGE LINE (curved arc near front edge, 280mm bed) ---\nG92 E0\nG1 X-50 Y-124.8 Z0.4 F5000 ; Move to arc start (inside 140mm radius)\nG1 Z0.3 F1000 ; Drop to prime height\nG3 X50 Y-124.8 R134.4 E40 F600 ; Arc purge, 100mm sweep, heavy extrusion\nG1 E38 F4500 ; Retract 2mm before wipe (Bowden)\nG1 X65 Y-114.8 Z0.2 F6000 ; Wipe move at Z0.2\nG92 E0 ; Zero extruder before print\n;======= END START G-CODE =======" + ], + "machine_tool_change_time": "0", + "machine_unload_filament_time": "4", + "manual_filament_change": "0", + "master_extruder_id": "1", + "max_layer_height": [ + "0.80" + ], + "max_resonance_avoidance_speed": "100", + "min_layer_height": [ + "0.20" + ], + "min_resonance_avoidance_speed": "50", + "nozzle_diameter": [ + "1.0" + ], + "nozzle_flush_dataset": [ + "0" + ], + "nozzle_height": "3.0", + "nozzle_hrc": "0", + "nozzle_type": [ + "brass" + ], + "nozzle_volume": [ + "0" + ], + "parking_pos_retraction": "160", + "pellet_modded_printer": "0", + "physical_extruder_map": [ + "0" + ], + "preferred_orientation": "0", + "printable_area": [ + "140.0000x0.0000", + "139.4673x12.2018", + "137.8731x24.3107", + "135.2296x36.2347", + "131.5570x47.8828", + "126.8831x59.1666", + "121.2436x70.0000", + "114.6813x80.3007", + "107.2462x89.9903", + "98.9949x98.9949", + "89.9903x107.2462", + "80.3007x114.6813", + "70.0000x121.2436", + "59.1666x126.8831", + "47.8828x131.5570", + "36.2347x135.2296", + "24.3107x137.8731", + "12.2018x139.4673", + "0.0000x140.0000", + "-12.2018x139.4673", + "-24.3107x137.8731", + "-36.2347x135.2296", + "-47.8828x131.5570", + "-59.1666x126.8831", + "-70.0000x121.2436", + "-80.3007x114.6813", + "-89.9903x107.2462", + "-98.9949x98.9949", + "-107.2462x89.9903", + "-114.6813x80.3007", + "-121.2436x70.0000", + "-126.8831x59.1666", + "-131.5570x47.8828", + "-135.2296x36.2347", + "-137.8731x24.3107", + "-139.4673x12.2018", + "-140.0000x0.0000", + "-139.4673x-12.2018", + "-137.8731x-24.3107", + "-135.2296x-36.2347", + "-131.5570x-47.8828", + "-126.8831x-59.1666", + "-121.2436x-70.0000", + "-114.6813x-80.3007", + "-107.2462x-89.9903", + "-98.9949x-98.9949", + "-89.9903x-107.2462", + "-80.3007x-114.6813", + "-70.0000x-121.2436", + "-59.1666x-126.8831", + "-47.8828x-131.5570", + "-36.2347x-135.2296", + "-24.3107x-137.8731", + "-12.2018x-139.4673", + "-0.0000x-140.0000", + "12.2018x-139.4673", + "24.3107x-137.8731", + "36.2347x-135.2296", + "47.8828x-131.5570", + "59.1666x-126.8831", + "70.0000x-121.2436", + "80.3007x-114.6813", + "89.9903x-107.2462", + "98.9949x-98.9949", + "107.2462x-89.9903", + "114.6813x-80.3007", + "121.2436x-70.0000", + "126.8831x-59.1666", + "131.5570x-47.8828", + "135.2296x-36.2347", + "137.8731x-24.3107", + "139.4673x-12.2018" + ], + "printable_height": "385", + "printer_agent": "", + "printer_extruder_id": [ + "1" + ], + "printer_extruder_variant": [ + "Bowden Standard" + ], + "printer_model": "SeeMeCNC RostockMAX v4", + "printer_notes": "", + "printer_settings_id": "SeeMeCNC RostockMAX v4 1.0 nozzle", + "printer_structure": "delta", + "printer_technology": "FFF", + "printer_variant": "1.0", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "resonance_avoidance": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "3" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "2" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "6" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "60" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "support_object_skip_flush": "0", + "template_custom_gcode": "", + "thumbnails": "48x48/PNG, 300x300/PNG", + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "travel_slope": [ + "3" + ], + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "wipe_tower_type": "type2", + "wrapping_detection_gcode": "", + "wrapping_detection_layers": "20", + "wrapping_exclude_area": [], + "z_hop": [ + "0.4" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0", + "model": "SeeMeCNC RostockMAX v4", + "thumbnail": "SeeMeCNC RostockMAX v4_cover.png", + "description": "SeeMeCNC configurations" +} diff --git a/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC Artemis 0.4.json b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC Artemis 0.4.json new file mode 100644 index 0000000000..378dfb4156 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC Artemis 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.16mm Fine @SeeMeCNC Artemis 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.16mm Fine @SeeMeCNC Artemis 0.4", + "compatible_printers": [ + "SeeMeCNC Artemis 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.16", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4.json b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4.json new file mode 100644 index 0000000000..1ca1eb7ddf --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.16mm Fine @SeeMeCNC BOSSdelta 300 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.16", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4.json b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4.json new file mode 100644 index 0000000000..06da9f7edd --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.16mm Fine @SeeMeCNC BOSSdelta 500 0505 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.16", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4.json b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4.json new file mode 100644 index 0000000000..304f3ac56a --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.16mm Fine @SeeMeCNC BOSSdelta 500 0510 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.16", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4.json b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4.json new file mode 100644 index 0000000000..44449b9c29 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.16mm Fine @SeeMeCNC BOSSdelta 500 0521 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.16", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4.json b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4.json new file mode 100644 index 0000000000..5f4d7c4391 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.16mm Fine @SeeMeCNC RostockMAX v3.2 0.4", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.16", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC RostockMAX v4 0.4.json b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC RostockMAX v4 0.4.json new file mode 100644 index 0000000000..391f49e552 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.16mm Fine @SeeMeCNC RostockMAX v4 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.16mm Fine @SeeMeCNC RostockMAX v4 0.4", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.16", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json b/resources/profiles/SeeMeCNC/process/0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json new file mode 100644 index 0000000000..c0f111db6e --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC Artemis 0.5.json b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC Artemis 0.5.json new file mode 100644 index 0000000000..a3f564d43c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC Artemis 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Fine @SeeMeCNC Artemis 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Fine @SeeMeCNC Artemis 0.5", + "compatible_printers": [ + "SeeMeCNC Artemis 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5.json b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5.json new file mode 100644 index 0000000000..b93716667e --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Fine @SeeMeCNC BOSSdelta 300 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5.json b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5.json new file mode 100644 index 0000000000..ea1e85ed85 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0505 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5.json b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5.json new file mode 100644 index 0000000000..4083a4d82a --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0510 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5.json b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5.json new file mode 100644 index 0000000000..89f80c7629 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Fine @SeeMeCNC BOSSdelta 500 0521 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5.json b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5.json new file mode 100644 index 0000000000..a4317bea61 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Fine @SeeMeCNC RostockMAX v3.2 0.5", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC RostockMAX v4 0.5.json b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC RostockMAX v4 0.5.json new file mode 100644 index 0000000000..08468cb923 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Fine @SeeMeCNC RostockMAX v4 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Fine @SeeMeCNC RostockMAX v4 0.5", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC Artemis 0.4.json b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC Artemis 0.4.json new file mode 100644 index 0000000000..031733d390 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC Artemis 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Standard @SeeMeCNC Artemis 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Standard @SeeMeCNC Artemis 0.4", + "compatible_printers": [ + "SeeMeCNC Artemis 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4.json b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4.json new file mode 100644 index 0000000000..741776c8c7 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Standard @SeeMeCNC BOSSdelta 300 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4.json b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4.json new file mode 100644 index 0000000000..48c4ca98b3 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0505 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4.json b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4.json new file mode 100644 index 0000000000..cf6e7a5ad0 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0510 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4.json b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4.json new file mode 100644 index 0000000000..1c99ac7b4f --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Standard @SeeMeCNC BOSSdelta 500 0521 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4.json b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4.json new file mode 100644 index 0000000000..0eb2423048 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Standard @SeeMeCNC RostockMAX v3.2 0.4", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC RostockMAX v4 0.4.json b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC RostockMAX v4 0.4.json new file mode 100644 index 0000000000..3b829e46d6 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.20mm Standard @SeeMeCNC RostockMAX v4 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.20mm Standard @SeeMeCNC RostockMAX v4 0.4", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.2", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC Artemis 0.4.json b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC Artemis 0.4.json new file mode 100644 index 0000000000..a1eeadf8c1 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC Artemis 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.24mm Draft @SeeMeCNC Artemis 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.24mm Draft @SeeMeCNC Artemis 0.4", + "compatible_printers": [ + "SeeMeCNC Artemis 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.24", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4.json b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4.json new file mode 100644 index 0000000000..a8b05dfa20 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.24mm Draft @SeeMeCNC BOSSdelta 300 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.24", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4.json b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4.json new file mode 100644 index 0000000000..7c571ed487 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.24mm Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.24", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4.json b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4.json new file mode 100644 index 0000000000..1f2fbdbecb --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.24mm Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.24", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4.json b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4.json new file mode 100644 index 0000000000..d476011b5e --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.24mm Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.24", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json new file mode 100644 index 0000000000..d1b9e76880 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.24mm Draft @SeeMeCNC RostockMAX v3.2 0.4", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.24", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC RostockMAX v4 0.4.json b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC RostockMAX v4 0.4.json new file mode 100644 index 0000000000..f47222828c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.24mm Draft @SeeMeCNC RostockMAX v4 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.24mm Draft @SeeMeCNC RostockMAX v4 0.4", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.24", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC Artemis 0.5.json b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC Artemis 0.5.json new file mode 100644 index 0000000000..3700a954c8 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC Artemis 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.25mm Standard @SeeMeCNC Artemis 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.25mm Standard @SeeMeCNC Artemis 0.5", + "compatible_printers": [ + "SeeMeCNC Artemis 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.25", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5.json b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5.json new file mode 100644 index 0000000000..3d1d4258dc --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.25mm Standard @SeeMeCNC BOSSdelta 300 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.25", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5.json b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5.json new file mode 100644 index 0000000000..aa5189c4f5 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0505 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.25", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5.json b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5.json new file mode 100644 index 0000000000..ff1b0bbfd4 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0510 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.25", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5.json b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5.json new file mode 100644 index 0000000000..36c391d977 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.25mm Standard @SeeMeCNC BOSSdelta 500 0521 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.25", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5.json b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5.json new file mode 100644 index 0000000000..9205dff278 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.25mm Standard @SeeMeCNC RostockMAX v3.2 0.5", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.25", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC RostockMAX v4 0.5.json b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC RostockMAX v4 0.5.json new file mode 100644 index 0000000000..5e7a025d07 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.25mm Standard @SeeMeCNC RostockMAX v4 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.25mm Standard @SeeMeCNC RostockMAX v4 0.5", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.25", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC Artemis 0.4.json b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC Artemis 0.4.json new file mode 100644 index 0000000000..66bff7d5df --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC Artemis 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Extra Draft @SeeMeCNC Artemis 0.4", + "compatible_printers": [ + "SeeMeCNC Artemis 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4.json b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4.json new file mode 100644 index 0000000000..1e35b0eb8f --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 300 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4.json b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4.json new file mode 100644 index 0000000000..7c9ad2d811 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4.json b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4.json new file mode 100644 index 0000000000..cd7b8b6ddf --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4.json b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4.json new file mode 100644 index 0000000000..d5c4876849 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.4", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4.json b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4.json new file mode 100644 index 0000000000..4155bb2e51 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.4", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4.json b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4.json new file mode 100644 index 0000000000..7165fd06ee --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Extra Draft @SeeMeCNC RostockMAX v4 0.4", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.4 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.2", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1500", + "inner_wall_acceleration": "1500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC Artemis 0.7.json b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC Artemis 0.7.json new file mode 100644 index 0000000000..49667ba705 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC Artemis 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Fine @SeeMeCNC Artemis 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Fine @SeeMeCNC Artemis 0.7", + "compatible_printers": [ + "SeeMeCNC Artemis 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7.json b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7.json new file mode 100644 index 0000000000..a34c19f2cc --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Fine @SeeMeCNC BOSSdelta 300 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7.json b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7.json new file mode 100644 index 0000000000..841444a1f1 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0505 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7.json b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7.json new file mode 100644 index 0000000000..33bc3e82d4 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0510 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7.json b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7.json new file mode 100644 index 0000000000..e90d3a88d6 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Fine @SeeMeCNC BOSSdelta 500 0521 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7.json b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7.json new file mode 100644 index 0000000000..7520f43813 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Fine @SeeMeCNC RostockMAX v3.2 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC RostockMAX v4 0.7.json b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC RostockMAX v4 0.7.json new file mode 100644 index 0000000000..bcc2c2e2c2 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.28mm Fine @SeeMeCNC RostockMAX v4 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.28mm Fine @SeeMeCNC RostockMAX v4 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.28", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC Artemis 0.5.json b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC Artemis 0.5.json new file mode 100644 index 0000000000..522dd065d8 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC Artemis 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.30mm Draft @SeeMeCNC Artemis 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm Draft @SeeMeCNC Artemis 0.5", + "compatible_printers": [ + "SeeMeCNC Artemis 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5.json b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5.json new file mode 100644 index 0000000000..256c30d2b9 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm Draft @SeeMeCNC BOSSdelta 300 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5.json b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5.json new file mode 100644 index 0000000000..9174c0dde7 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5.json b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5.json new file mode 100644 index 0000000000..543e58af03 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5.json b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5.json new file mode 100644 index 0000000000..dd03ab70bb --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5.json b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5.json new file mode 100644 index 0000000000..7ffedffa57 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm Draft @SeeMeCNC RostockMAX v3.2 0.5", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC RostockMAX v4 0.5.json b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC RostockMAX v4 0.5.json new file mode 100644 index 0000000000..a06df312b0 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm Draft @SeeMeCNC RostockMAX v4 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm Draft @SeeMeCNC RostockMAX v4 0.5", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC Artemis 0.7.json b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC Artemis 0.7.json new file mode 100644 index 0000000000..2c93f40bce --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC Artemis 0.7.json @@ -0,0 +1,34 @@ +{ + "type": "process", + "name": "0.30mm TPU Solid @SeeMeCNC Artemis 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm TPU Solid @SeeMeCNC Artemis 0.7", + "compatible_printers": [ + "SeeMeCNC Artemis 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "0", + "top_shell_layers": "2", + "top_surface_pattern": "concentric", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7.json b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7.json new file mode 100644 index 0000000000..922b8d4a9d --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7.json @@ -0,0 +1,34 @@ +{ + "type": "process", + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 300 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "0", + "top_shell_layers": "2", + "top_surface_pattern": "concentric", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7.json b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7.json new file mode 100644 index 0000000000..046aab13ee --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7.json @@ -0,0 +1,34 @@ +{ + "type": "process", + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0505 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "0", + "top_shell_layers": "2", + "top_surface_pattern": "concentric", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7.json b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7.json new file mode 100644 index 0000000000..8e0b8cdc36 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7.json @@ -0,0 +1,34 @@ +{ + "type": "process", + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0510 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "0", + "top_shell_layers": "2", + "top_surface_pattern": "concentric", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7.json b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7.json new file mode 100644 index 0000000000..68729627ee --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7.json @@ -0,0 +1,34 @@ +{ + "type": "process", + "name": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm TPU Solid @SeeMeCNC BOSSdelta 500 0521 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "0", + "top_shell_layers": "2", + "top_surface_pattern": "concentric", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7.json b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7.json new file mode 100644 index 0000000000..8d4d608981 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7.json @@ -0,0 +1,34 @@ +{ + "type": "process", + "name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm TPU Solid @SeeMeCNC RostockMAX v3.2 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "0", + "top_shell_layers": "2", + "top_surface_pattern": "concentric", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7.json b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7.json new file mode 100644 index 0000000000..0c7063bd9b --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7.json @@ -0,0 +1,34 @@ +{ + "type": "process", + "name": "0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.30mm TPU Solid @SeeMeCNC RostockMAX v4 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.3", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "0", + "top_shell_layers": "2", + "top_surface_pattern": "concentric", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC Artemis 0.5.json b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC Artemis 0.5.json new file mode 100644 index 0000000000..48d7fb0b10 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC Artemis 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Extra Draft @SeeMeCNC Artemis 0.5", + "compatible_printers": [ + "SeeMeCNC Artemis 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5.json b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5.json new file mode 100644 index 0000000000..3c5b9ba01f --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 300 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5.json b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5.json new file mode 100644 index 0000000000..da3b820549 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5.json b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5.json new file mode 100644 index 0000000000..eded24f5cb --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5.json b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5.json new file mode 100644 index 0000000000..1cf97fd54c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.5", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5.json b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5.json new file mode 100644 index 0000000000..316a9cfc36 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.5", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5.json b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5.json new file mode 100644 index 0000000000..1dc9db45b2 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Extra Draft @SeeMeCNC RostockMAX v4 0.5", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.5 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.25", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "1200", + "inner_wall_acceleration": "1200" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC Artemis 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC Artemis 0.7.json new file mode 100644 index 0000000000..cddbf4453c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC Artemis 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Standard @SeeMeCNC Artemis 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Standard @SeeMeCNC Artemis 0.7", + "compatible_printers": [ + "SeeMeCNC Artemis 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7.json new file mode 100644 index 0000000000..90971ce758 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Standard @SeeMeCNC BOSSdelta 300 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7.json new file mode 100644 index 0000000000..53155e298f --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0505 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7.json new file mode 100644 index 0000000000..07594cd92d --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0510 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7.json new file mode 100644 index 0000000000..8de92d8888 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Standard @SeeMeCNC BOSSdelta 500 0521 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7.json new file mode 100644 index 0000000000..eae4d527aa --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Standard @SeeMeCNC RostockMAX v3.2 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC RostockMAX v4 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC RostockMAX v4 0.7.json new file mode 100644 index 0000000000..bc8d5c6c4c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm Standard @SeeMeCNC RostockMAX v4 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm Standard @SeeMeCNC RostockMAX v4 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC Artemis 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC Artemis 0.7.json new file mode 100644 index 0000000000..cf28c40476 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC Artemis 0.7.json @@ -0,0 +1,37 @@ +{ + "type": "process", + "name": "0.35mm TPU Vase @SeeMeCNC Artemis 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm TPU Vase @SeeMeCNC Artemis 0.7", + "compatible_printers": [ + "SeeMeCNC Artemis 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_shell_layers": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "ensure_vertical_shell_thickness": "ensure_moderate", + "initial_layer_print_height": "0.3", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "1", + "top_shell_layers": "0", + "top_surface_pattern": "concentric", + "wall_loops": "1", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7.json new file mode 100644 index 0000000000..68ff32cb8b --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7.json @@ -0,0 +1,37 @@ +{ + "type": "process", + "name": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 300 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_shell_layers": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "ensure_vertical_shell_thickness": "ensure_moderate", + "initial_layer_print_height": "0.3", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "1", + "top_shell_layers": "0", + "top_surface_pattern": "concentric", + "wall_loops": "1", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7.json new file mode 100644 index 0000000000..dd2dcf9a5c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7.json @@ -0,0 +1,37 @@ +{ + "type": "process", + "name": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0505 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_shell_layers": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "ensure_vertical_shell_thickness": "ensure_moderate", + "initial_layer_print_height": "0.3", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "1", + "top_shell_layers": "0", + "top_surface_pattern": "concentric", + "wall_loops": "1", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7.json new file mode 100644 index 0000000000..1b8b37262f --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7.json @@ -0,0 +1,37 @@ +{ + "type": "process", + "name": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0510 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_shell_layers": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "ensure_vertical_shell_thickness": "ensure_moderate", + "initial_layer_print_height": "0.3", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "1", + "top_shell_layers": "0", + "top_surface_pattern": "concentric", + "wall_loops": "1", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7.json new file mode 100644 index 0000000000..63645975c6 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7.json @@ -0,0 +1,37 @@ +{ + "type": "process", + "name": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm TPU Vase @SeeMeCNC BOSSdelta 500 0521 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_shell_layers": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "ensure_vertical_shell_thickness": "ensure_moderate", + "initial_layer_print_height": "0.3", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "1", + "top_shell_layers": "0", + "top_surface_pattern": "concentric", + "wall_loops": "1", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7.json new file mode 100644 index 0000000000..423852eda4 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7.json @@ -0,0 +1,37 @@ +{ + "type": "process", + "name": "0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm TPU Vase @SeeMeCNC RostockMAX v3.2 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_shell_layers": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "ensure_vertical_shell_thickness": "ensure_moderate", + "initial_layer_print_height": "0.3", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "1", + "top_shell_layers": "0", + "top_surface_pattern": "concentric", + "wall_loops": "1", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7.json b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7.json new file mode 100644 index 0000000000..6002585396 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7.json @@ -0,0 +1,37 @@ +{ + "type": "process", + "name": "0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.35mm TPU Vase @SeeMeCNC RostockMAX v4 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "bottom_shell_layers": "0", + "bottom_surface_pattern": "concentric", + "counterbore_hole_bridging": "none", + "ensure_vertical_shell_thickness": "ensure_moderate", + "initial_layer_print_height": "0.3", + "layer_height": "0.35", + "precise_z_height": "0", + "skirt_distance": "1", + "skirt_loops": "2", + "spiral_mode": "1", + "top_shell_layers": "0", + "top_surface_pattern": "concentric", + "wall_loops": "1", + "line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.9", + "internal_solid_infill_line_width": "0.9", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "0.9", + "support_line_width": "0.9", + "skeleton_infill_line_width": "0.9", + "skin_infill_line_width": "0.9", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC Artemis 1.0.json b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC Artemis 1.0.json new file mode 100644 index 0000000000..f561a3114c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC Artemis 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.40mm Fine @SeeMeCNC Artemis 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.40mm Fine @SeeMeCNC Artemis 1.0", + "compatible_printers": [ + "SeeMeCNC Artemis 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.4", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0.json b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0.json new file mode 100644 index 0000000000..6807856889 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.40mm Fine @SeeMeCNC BOSSdelta 300 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.4", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0.json b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0.json new file mode 100644 index 0000000000..6ac2d1f367 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0505 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.4", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0.json b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0.json new file mode 100644 index 0000000000..7823ab303c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0510 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.4", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0.json b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0.json new file mode 100644 index 0000000000..fd18ed0344 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.40mm Fine @SeeMeCNC BOSSdelta 500 0521 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.4", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0.json b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0.json new file mode 100644 index 0000000000..a238435f95 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.40mm Fine @SeeMeCNC RostockMAX v3.2 1.0", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.4", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC RostockMAX v4 1.0.json b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC RostockMAX v4 1.0.json new file mode 100644 index 0000000000..8193ebb0cc --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.40mm Fine @SeeMeCNC RostockMAX v4 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.40mm Fine @SeeMeCNC RostockMAX v4 1.0", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.4", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC Artemis 0.7.json b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC Artemis 0.7.json new file mode 100644 index 0000000000..5cf5486a13 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC Artemis 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.42mm Draft @SeeMeCNC Artemis 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.42mm Draft @SeeMeCNC Artemis 0.7", + "compatible_printers": [ + "SeeMeCNC Artemis 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.42", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7.json b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7.json new file mode 100644 index 0000000000..553ea160b0 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.42mm Draft @SeeMeCNC BOSSdelta 300 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.42", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7.json b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7.json new file mode 100644 index 0000000000..e815f68cd3 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.42mm Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.42", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7.json b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7.json new file mode 100644 index 0000000000..66575b6c5f --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.42mm Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.42", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7.json b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7.json new file mode 100644 index 0000000000..e2c4f31abe --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.42mm Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.42", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7.json b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7.json new file mode 100644 index 0000000000..36bf4e41d2 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.42mm Draft @SeeMeCNC RostockMAX v3.2 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.42", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC RostockMAX v4 0.7.json b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC RostockMAX v4 0.7.json new file mode 100644 index 0000000000..ffc0197005 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.42mm Draft @SeeMeCNC RostockMAX v4 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.42mm Draft @SeeMeCNC RostockMAX v4 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.42", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC Artemis 0.7.json b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC Artemis 0.7.json new file mode 100644 index 0000000000..4ab95ebeb1 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC Artemis 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.49mm Extra Draft @SeeMeCNC Artemis 0.7", + "compatible_printers": [ + "SeeMeCNC Artemis 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.49", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7.json b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7.json new file mode 100644 index 0000000000..b67733960d --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 300 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.49", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7.json b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7.json new file mode 100644 index 0000000000..4c694c42f8 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.49", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7.json b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7.json new file mode 100644 index 0000000000..b444945dbd --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.49", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7.json b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7.json new file mode 100644 index 0000000000..2a4f72f3eb --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.49mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 0.7", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.49", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7.json b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7.json new file mode 100644 index 0000000000..a77c6544e0 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.49mm Extra Draft @SeeMeCNC RostockMAX v3.2 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.49", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7.json b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7.json new file mode 100644 index 0000000000..eebbdcb867 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.49mm Extra Draft @SeeMeCNC RostockMAX v4 0.7", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 0.7 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.35", + "layer_height": "0.49", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "800", + "inner_wall_acceleration": "800" +} diff --git a/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC Artemis 1.0.json b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC Artemis 1.0.json new file mode 100644 index 0000000000..1b8877983c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC Artemis 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.50mm Standard @SeeMeCNC Artemis 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.50mm Standard @SeeMeCNC Artemis 1.0", + "compatible_printers": [ + "SeeMeCNC Artemis 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.5", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0.json b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0.json new file mode 100644 index 0000000000..dcc4b6f80f --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.50mm Standard @SeeMeCNC BOSSdelta 300 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.5", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0.json b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0.json new file mode 100644 index 0000000000..c1395ff209 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0505 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.5", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0.json b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0.json new file mode 100644 index 0000000000..f1d7f378cd --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0510 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.5", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0.json b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0.json new file mode 100644 index 0000000000..fbc9d07d34 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.50mm Standard @SeeMeCNC BOSSdelta 500 0521 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.5", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0.json b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0.json new file mode 100644 index 0000000000..0fe9a4b8cc --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.50mm Standard @SeeMeCNC RostockMAX v3.2 1.0", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.5", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC RostockMAX v4 1.0.json b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC RostockMAX v4 1.0.json new file mode 100644 index 0000000000..ac12c9bb5c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.50mm Standard @SeeMeCNC RostockMAX v4 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.50mm Standard @SeeMeCNC RostockMAX v4 1.0", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.5", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC Artemis 1.0.json b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC Artemis 1.0.json new file mode 100644 index 0000000000..cac43f4d9f --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC Artemis 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.60mm Draft @SeeMeCNC Artemis 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.60mm Draft @SeeMeCNC Artemis 1.0", + "compatible_printers": [ + "SeeMeCNC Artemis 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.6", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0.json b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0.json new file mode 100644 index 0000000000..86119f0cab --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.60mm Draft @SeeMeCNC BOSSdelta 300 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.6", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0.json b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0.json new file mode 100644 index 0000000000..81da080533 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.60mm Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.6", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0.json b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0.json new file mode 100644 index 0000000000..d34c5fb9dc --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.60mm Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.6", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0.json b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0.json new file mode 100644 index 0000000000..97b5bf671d --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.60mm Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.6", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0.json b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0.json new file mode 100644 index 0000000000..0cd62fecac --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.60mm Draft @SeeMeCNC RostockMAX v3.2 1.0", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.6", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC RostockMAX v4 1.0.json b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC RostockMAX v4 1.0.json new file mode 100644 index 0000000000..b819217d25 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.60mm Draft @SeeMeCNC RostockMAX v4 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.60mm Draft @SeeMeCNC RostockMAX v4 1.0", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.6", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC Artemis 1.0.json b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC Artemis 1.0.json new file mode 100644 index 0000000000..f8c8e83126 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC Artemis 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.70mm Extra Draft @SeeMeCNC Artemis 1.0", + "compatible_printers": [ + "SeeMeCNC Artemis 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.7", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0.json b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0.json new file mode 100644 index 0000000000..3e133a208d --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 300 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 300 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.7", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0.json b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0.json new file mode 100644 index 0000000000..eed73783f6 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0505 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0505 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.7", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0.json b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0.json new file mode 100644 index 0000000000..4414b3557c --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0510 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0510 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.7", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0.json b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0.json new file mode 100644 index 0000000000..7208968058 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.70mm Extra Draft @SeeMeCNC BOSSdelta 500 0521 1.0", + "compatible_printers": [ + "SeeMeCNC BOSSdelta 500 0521 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.7", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0.json b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0.json new file mode 100644 index 0000000000..9ddeacd0a8 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.70mm Extra Draft @SeeMeCNC RostockMAX v3.2 1.0", + "compatible_printers": [ + "SeeMeCNC RostockMAX v3.2 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.7", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0.json b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0.json new file mode 100644 index 0000000000..c7f8388a1b --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0.json @@ -0,0 +1,22 @@ +{ + "type": "process", + "name": "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0", + "inherits": "SeeMeCNC process base", + "from": "System", + "instantiation": "true", + "print_settings_id": "0.70mm Extra Draft @SeeMeCNC RostockMAX v4 1.0", + "compatible_printers": [ + "SeeMeCNC RostockMAX v4 1.0 nozzle" + ], + "compatible_printers_condition": "", + "alternate_extra_wall": "0", + "counterbore_hole_bridging": "none", + "initial_layer_print_height": "0.3", + "layer_height": "0.7", + "precise_z_height": "0", + "skirt_distance": "2", + "skirt_loops": "0", + "spiral_mode": "0", + "outer_wall_acceleration": "500", + "inner_wall_acceleration": "500" +} diff --git a/resources/profiles/SeeMeCNC/process/SeeMeCNC_process_base.json b/resources/profiles/SeeMeCNC/process/SeeMeCNC_process_base.json new file mode 100644 index 0000000000..f1562c0f45 --- /dev/null +++ b/resources/profiles/SeeMeCNC/process/SeeMeCNC_process_base.json @@ -0,0 +1,351 @@ +{ + "type": "process", + "name": "SeeMeCNC process base", + "from": "system", + "instantiation": "false", + "accel_to_decel_enable": "0", + "accel_to_decel_factor": "50%", + "align_infill_direction_to_model": "0", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_density": "100%", + "bridge_acceleration": "30%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.95", + "bridge_no_support": "0", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.1", + "brim_use_efc_outline": "0", + "brim_width": "5", + "calib_flowrate_topinfill_special_order": "0", + "default_acceleration": "2000", + "default_jerk": "8", + "default_junction_deviation": "0", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "elefant_foot_compensation_layers": "1", + "enable_extra_bridge_layer": "disabled", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enable_tower_interface_cooldown_during_tower": "0", + "enable_tower_interface_features": "0", + "enable_wrapping_detection": "0", + "enforce_support_layers": "0", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "extra_solid_infills": "", + "extrusion_rate_smoothing_external_perimeter_only": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "fill_multiline": "1", + "filter_out_gap_fill": "0", + "first_layer_flow_ratio": "1", + "flush_into_infill": "1", + "flush_into_objects": "0", + "flush_into_support": "1", + "fuzzy_skin": "disabled_fuzzy", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_mode": "displacement", + "fuzzy_skin_noise_type": "classic", + "fuzzy_skin_octaves": "4", + "fuzzy_skin_persistence": "0.5", + "fuzzy_skin_point_distance": "0.3", + "fuzzy_skin_scale": "1", + "fuzzy_skin_thickness": "0.2", + "gap_fill_flow_ratio": "1", + "gap_fill_target": "nowhere", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "0", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_combination_max_layer_height": "100%", + "infill_direction": "45", + "infill_jerk": "8", + "infill_lock_depth": "1", + "infill_overhang_angle": "60", + "infill_shift_step": "0.4", + "infill_wall_overlap": "25%", + "initial_layer_acceleration": "600", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "4", + "initial_layer_min_bead_width": "85%", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "1000", + "inner_wall_flow_ratio": "1", + "inner_wall_jerk": "8", + "interface_shells": "0", + "interlocking_beam": "0", + "interlocking_beam_layer_count": "2", + "interlocking_beam_width": "0.8", + "interlocking_boundary_avoidance": "2", + "interlocking_depth": "2", + "interlocking_orientation": "22.5", + "internal_bridge_angle": "0", + "internal_bridge_density": "100%", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_flow_ratio": "1", + "internal_solid_infill_pattern": "monotonic", + "ironing_angle": "0", + "ironing_angle_fixed": "0", + "ironing_flow": "10%", + "ironing_inset": "0", + "ironing_pattern": "rectilinear", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "no ironing", + "is_infill_first": "0", + "lateral_lattice_angle_1": "-45", + "lateral_lattice_angle_2": "45", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "50", + "max_travel_detour_distance": "10000", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_skirt_length": "4", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "0", + "ooze_prevention": "0", + "outer_wall_flow_ratio": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "overhang_flow_ratio": "1", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "post_process": [], + "precise_outer_wall": "1", + "preheat_steps": "1", + "preheat_time": "30", + "prime_tower_brim_width": "3", + "prime_tower_enable_framework": "1", + "prime_tower_flat_ironing": "0", + "prime_tower_infill_gap": "150%", + "prime_tower_skip_points": "0", + "prime_tower_width": "30", + "prime_volume": "150", + "print_extruder_id": [ + "1" + ], + "print_extruder_variant": [ + "Bowden Standard" + ], + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "35%", + "seam_gap": "10%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "set_other_flow_ratios": "0", + "single_extruder_multi_material_priming": "0", + "single_loop_draft_shield": "0", + "skeleton_infill_density": "25%", + "skeleton_infill_line_width": "100%", + "skin_infill_density": "25%", + "skin_infill_depth": "2", + "skin_infill_line_width": "100%", + "skirt_height": "1", + "skirt_speed": "50", + "skirt_start_angle": "-135", + "skirt_type": "combined", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "4", + "slowdown_for_curled_perimeters": "1", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "solid_infill_rotate_template": "", + "sparse_infill_acceleration": "100%", + "sparse_infill_filament": "1", + "sparse_infill_flow_ratio": "1", + "sparse_infill_pattern": "gyroid", + "sparse_infill_rotate_template": "", + "spiral_finishing_flow_ratio": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "spiral_starting_flow_ratio": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "1", + "support_expansion": "0", + "support_filament": "0", + "support_flow_ratio": "1", + "support_interface_bottom_layers": "2", + "support_interface_filament": "0", + "support_interface_flow_ratio": "1", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.8", + "support_interface_top_layers": "1", + "support_ironing": "0", + "support_ironing_flow": "10%", + "support_ironing_pattern": "rectilinear", + "support_ironing_spacing": "0.1", + "support_object_first_layer_gap": "0.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_style": "default", + "support_threshold_angle": "30", + "support_threshold_overlap": "50%", + "support_top_z_distance": "0.3", + "support_type": "tree(auto)", + "symmetric_infill_y_axis": "0", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_thickness": "0.8", + "top_solid_infill_flow_ratio": "1", + "top_surface_density": "100%", + "top_surface_jerk": "8", + "travel_acceleration": "2000", + "travel_speed_z": "0", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "45", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "2", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "arachne", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "1", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "30", + "wipe_tower_extra_flow": "100%", + "wipe_tower_extra_rib_length": "5", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_filament": "0", + "wipe_tower_fillet_wall": "1", + "wipe_tower_max_purge_speed": "60", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rib_width": "3", + "wipe_tower_rotation_angle": "0", + "wipe_tower_wall_type": "rib", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "top_surface_acceleration": "600", + "travel_jerk": "10", + "initial_layer_speed": "30", + "outer_wall_acceleration": "1000", + "outer_wall_line_width": "100%", + "line_width": "100%", + "initial_layer_line_width": "125%", + "inner_wall_line_width": "100%", + "top_surface_line_width": "105%", + "sparse_infill_line_width": "125%", + "internal_solid_infill_line_width": "105%", + "support_line_width": "125%", + "outer_wall_speed": "60", + "inner_wall_speed": "80", + "sparse_infill_speed": "100", + "internal_solid_infill_speed": "100", + "gap_infill_speed": "60", + "support_speed": "60", + "support_interface_speed": "50", + "top_surface_speed": "50", + "small_perimeter_speed": "40%", + "small_perimeter_threshold": "0", + "outer_wall_jerk": "4", + "xy_hole_compensation": "0", + "description": "SeeMeCNC configurations", + "top_surface_flow_ratio": "0.95", + "travel_speed": "150", + "support_wall_loops": "0", + "wall_loops": "3", + "sparse_infill_density": "20%", + "top_surface_pattern": "monotonicline", + "bottom_shell_layers": "4", + "top_shell_layers": "4", + "bottom_surface_pattern": "monotonicline", + "detect_thin_wall": "1", + "ensure_vertical_shell_thickness": "ensure_all", + "bridge_speed": "35" +} From 6a26284ba6508774a173dfdb1f8b305017a34fa0 Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Sun, 31 May 2026 07:11:40 +0300 Subject: [PATCH 38/69] Fix air filtration gcode emitted even if not not supported by the printer (#13868) * Fix air filtration gcode emitted even if not not supported - do not emit air filtration gcode if not supported by the printer - removed redundant "add_eol" parameter from "set_exhaust_fan()" function --- src/libslic3r/GCode.cpp | 49 ++++++++++++++++++++++------------- src/libslic3r/GCodeWriter.cpp | 12 ++++++--- src/libslic3r/GCodeWriter.hpp | 2 +- 3 files changed, 41 insertions(+), 22 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 867f324301..179bd564c1 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -3172,18 +3172,24 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato if (is_bbl_printers) { this->_print_first_layer_extruder_temperatures(file, print, machine_start_gcode, initial_extruder_id, true); } - // Orca: when activate_air_filtration is set on any extruder, find and set the highest during_print_exhaust_fan_speed - bool activate_air_filtration_during_print = false; - int during_print_exhaust_fan_speed = 0; - for (const auto &extruder : m_writer.extruders()) { - if (m_config.activate_air_filtration.get_at(extruder.id()) && m_config.activate_air_filtration_during_print.get_at(extruder.id())) { - activate_air_filtration_during_print = true; - during_print_exhaust_fan_speed = std::max(during_print_exhaust_fan_speed, - m_config.during_print_exhaust_fan_speed.get_at(extruder.id())); + + // Orca: when air filtration is supported, check if it needs to be activated during printing and set the exhaust fan speed accordingly + if (m_config.support_air_filtration.value) { + bool activate_air_filtration_during_print = false; + int during_print_exhaust_fan_speed = 0; + + // Orca: when activate_air_filtration is set on any extruder, find and set the highest during_print_exhaust_fan_speed + for (const auto &extruder : m_writer.extruders()) { + if (m_config.activate_air_filtration.get_at(extruder.id()) && m_config.activate_air_filtration_during_print.get_at(extruder.id())) { + activate_air_filtration_during_print = true; + during_print_exhaust_fan_speed = std::max(during_print_exhaust_fan_speed, + m_config.during_print_exhaust_fan_speed.get_at(extruder.id())); + } } + + if (activate_air_filtration_during_print) + file.write(m_writer.set_exhaust_fan(during_print_exhaust_fan_speed)); } - if (activate_air_filtration_during_print) - file.write(m_writer.set_exhaust_fan(during_print_exhaust_fan_speed, true)); print.throw_if_canceled(); @@ -3482,16 +3488,23 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato if (activate_chamber_temp_control && max_chamber_temp > 0) file.write(m_writer.set_chamber_temperature(0, false)); //close chamber_temperature - bool activate_air_filtration_on_completion = false; - int complete_print_exhaust_fan_speed = 0; - for (const auto& extruder : m_writer.extruders()) { - if (m_config.activate_air_filtration.get_at(extruder.id()) && m_config.activate_air_filtration_on_completion.get_at(extruder.id())) { - activate_air_filtration_on_completion = true; - complete_print_exhaust_fan_speed = std::max(complete_print_exhaust_fan_speed, m_config.complete_print_exhaust_fan_speed.get_at(extruder.id())); + // Orca: when air filtration is supported, check if it needs to be activated after print completion and set the exhaust fan speed accordingly + if (m_config.support_air_filtration.value) { + bool activate_air_filtration_on_completion = false; + int complete_print_exhaust_fan_speed = 0; + + // Orca: when activate_air_filtration is set on any extruder, find and set the highest complete_print_exhaust_fan_speed + for (const auto& extruder : m_writer.extruders()) { + if (m_config.activate_air_filtration.get_at(extruder.id()) && m_config.activate_air_filtration_on_completion.get_at(extruder.id())) { + activate_air_filtration_on_completion = true; + complete_print_exhaust_fan_speed = std::max(complete_print_exhaust_fan_speed, m_config.complete_print_exhaust_fan_speed.get_at(extruder.id())); + } } + + if (activate_air_filtration_on_completion) + file.write(m_writer.set_exhaust_fan(complete_print_exhaust_fan_speed)); } - if (activate_air_filtration_on_completion) - file.write(m_writer.set_exhaust_fan(complete_print_exhaust_fan_speed, true)); + // adds tags for time estimators file.write_format(";%s\n", GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Last_Line_M73_Placeholder).c_str()); file.write_format("; EXECUTABLE_BLOCK_END\n\n"); diff --git a/src/libslic3r/GCodeWriter.cpp b/src/libslic3r/GCodeWriter.cpp index 417a35b2ee..0e5a110c44 100644 --- a/src/libslic3r/GCodeWriter.cpp +++ b/src/libslic3r/GCodeWriter.cpp @@ -1154,13 +1154,19 @@ std::string GCodeWriter::set_additional_fan(unsigned int speed) return gcode.str(); } -std::string GCodeWriter::set_exhaust_fan( int speed,bool add_eol) +std::string GCodeWriter::set_exhaust_fan(int speed) { std::ostringstream gcode; gcode << "M106" << " P3" << " S" << (int)(speed / 100.0 * 255); - if(add_eol) - gcode << "\n"; + if (GCodeWriter::full_gcode_comment) { + if (speed == 0) + gcode << " ; disable exhaust fan "; + else + gcode << " ; enable exhaust fan "; + } + + gcode << "\n"; return gcode.str(); } diff --git a/src/libslic3r/GCodeWriter.hpp b/src/libslic3r/GCodeWriter.hpp index 3fd7a7668b..10e52a1c8e 100644 --- a/src/libslic3r/GCodeWriter.hpp +++ b/src/libslic3r/GCodeWriter.hpp @@ -106,7 +106,7 @@ public: std::string set_fan(unsigned int speed) const; //BBS: set additional fan speed for BBS machine only static std::string set_additional_fan(unsigned int speed); - static std::string set_exhaust_fan(int speed,bool add_eol); + static std::string set_exhaust_fan(int speed); //BBS void set_object_start_str(std::string start_string) { m_gcode_label_objects_start = start_string; } bool is_object_start_str_empty() { return m_gcode_label_objects_start.empty(); } From 535911fcfe3a2e495e2bc98bb0e1ed4e1e8e0bb5 Mon Sep 17 00:00:00 2001 From: Ian Chua Date: Sun, 31 May 2026 16:23:10 +0800 Subject: [PATCH 39/69] fix: 409 conflicts resolution in notifications (#13900) * fix: 409 conflicts resolution in notifications * fix: silently log other http errors * fix: pass force push flag to start_sync_user_preset * remove formatting churn * fix: propagate force push down put_setting * refactor render_hyperlink_action to PopNotification for reuse * fix an issue that hold status should be cleared before force pushing. --------- Co-authored-by: SoftFever --- src/slic3r/GUI/GUI_App.cpp | 141 ++++++++++++++++----- src/slic3r/GUI/GUI_App.hpp | 7 +- src/slic3r/GUI/NotificationManager.cpp | 117 ++++++++++++----- src/slic3r/GUI/NotificationManager.hpp | 34 +++++ src/slic3r/Utils/BBLCloudServiceAgent.cpp | 2 +- src/slic3r/Utils/BBLCloudServiceAgent.hpp | 2 +- src/slic3r/Utils/ICloudServiceAgent.hpp | 2 +- src/slic3r/Utils/NetworkAgent.cpp | 5 +- src/slic3r/Utils/NetworkAgent.hpp | 2 +- src/slic3r/Utils/OrcaCloudServiceAgent.cpp | 19 +-- src/slic3r/Utils/OrcaCloudServiceAgent.hpp | 14 +- 11 files changed, 259 insertions(+), 86 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 8a1d317b97..90dc54ec0f 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include // Localization headers: include libslic3r version first so everything in this file @@ -4812,6 +4813,8 @@ void GUI_App::handle_http_error(unsigned int status, std::string body, const std wxQueueEvent(this, evt); } +static std::mutex conflict_ids_mutex; + void GUI_App::on_http_error(wxCommandEvent &evt) { int status = evt.GetInt(); @@ -4887,32 +4890,62 @@ void GUI_App::on_http_error(wxCommandEvent &evt) return; } - static bool m_is_error_shown = false; + if (status == 409 && provider == ORCA_CLOUD_PROVIDER) { + BOOST_LOG_TRIVIAL(info) << "Http error 409."; + // Parse the conflict body to extract the error code and server profile id + int conflict_code = 0; + std::string conflict_setting_id; + try { + json conflict_body = json::parse(body_str); + if (conflict_body.contains("code")) + conflict_code = conflict_body["code"].get(); + if (conflict_body.contains("server_profile") && conflict_body["server_profile"].contains("id") + && conflict_body["server_profile"]["id"].is_string()) + conflict_setting_id = conflict_body["server_profile"]["id"].get(); + } catch (...) { + BOOST_LOG_TRIVIAL(warning) << "Failed to parse 409 conflict body."; + } + auto* plater = wxGetApp().plater(); + if (plater != nullptr && wxGetApp().imgui()->display_initialized()) { + std::string text; + if (conflict_code == -1) { + text = _u8L("Cloud sync conflict: this preset has a newer version in OrcaCloud.\n" + "Pull downloads the cloud copy. Force push overwrites it with your local preset."); + } else { + text = _u8L("Cloud sync conflict: a preset with this name already exists in OrcaCloud.\n" + "Pull downloads the cloud copy. Force push overwrites it with your local preset."); + } + plater->get_notification_manager()->push_orca_sync_conflict_notification( + text, + [this](wxEvtHandler*) { + // Runs on the GUI thread (on_http_error is a queued wx event); restart_sync_user_preset() + // already joins the old sync thread off the UI thread, so no extra thread is needed here. + if (is_closing() || !m_agent || !preset_bundle) + return false; + BOOST_LOG_TRIVIAL(info) << "Pulling Orca Cloud settings to resolve sync conflict."; + restart_sync_user_preset(); + return true; + }, + [this, conflict_setting_id](wxEvtHandler*) { + if (mainframe == nullptr) + return false; + MessageDialog + dlg(mainframe, + _L("Force push will overwrite the cloud copy with your local preset changes.\nDo you want to continue?"), + _L("Resolve cloud sync conflict"), wxCENTER | wxYES_NO | wxNO_DEFAULT | wxICON_WARNING); + if (dlg.ShowModal() != wxID_YES) + return false; + + force_push_conflicting_preset(conflict_setting_id); + return true; + }); + } + return; + } + // Show general error notification for Orca Cloud API failures (not Bambu) if (provider == ORCA_CLOUD_PROVIDER && status >= 400 && code != HttpErrorVersionLimited) { - wxString msg; - if (!error.empty()) { - msg = wxString::Format(_L("Failed to connect to OrcaCloud.\nPlease check your network connectivity\n(HTTP %u): %s"), status, wxString::FromUTF8(error)); - } else { - msg = wxString::Format(_L("Failed to connect to OrcaCloud.\nPlease check your network connectivity\n(HTTP %u)"), status); - } - - if (app_config->get_bool("developer_mode")) { - // Use notification manager if ImGui is ready; fall back to wxMessageBox on Linux - // where ImGui may not be initialized until the user switches to the Prepare tab. - if (wxGetApp().plater() != nullptr && wxGetApp().imgui()->display_initialized()) { - wxGetApp() - .plater() - ->get_notification_manager() - ->push_notification(NotificationType::PlaterError, NotificationManager::NotificationLevel::WarningNotificationLevel, - msg.ToUTF8().data()); - } - } - - if (!m_is_error_shown) { - m_is_error_shown = true; - wxMessageBox(msg, _L("Cloud Error"), wxOK | wxICON_ERROR, wxGetApp().mainframe); - } + BOOST_LOG_TRIVIAL(warning) << "API call to OrcaCloud failed with status=" << status; } } @@ -6181,13 +6214,14 @@ void GUI_App::load_pending_vendors() need_add_filaments.clear(); } -void GUI_App::sync_preset(Preset* preset) +void GUI_App::sync_preset(Preset* preset, bool force) { int result = -1; unsigned int http_code = 200; std::string updated_info; long long update_time = 0; // only sync user's preset + if (!m_agent) return; if (!preset->is_user()) return; auto setting_id = preset->setting_id; @@ -6259,9 +6293,9 @@ void GUI_App::sync_preset(Preset* preset) result = 0; } else { - result = m_agent->put_setting(setting_id, preset->name, &values_map, &http_code); + result = m_agent->put_setting(setting_id, preset->name, &values_map, &http_code, ORCA_CLOUD_PROVIDER, force); if (http_code >= 400) { - result = 0; + result = 0; updated_info = "hold"; BOOST_LOG_TRIVIAL(error) << "[sync_preset] put setting_id = " << setting_id << " failed, http_code = " << http_code; } else { @@ -6722,7 +6756,8 @@ void GUI_App::start_sync_user_preset(bool with_progress_dlg) // Sync once immediately, then every 60 seconds. while (!t.expired()) { ++tick_tock; - if (tick_tock % 120 == 0) { + // Sync once immediately, then every 60s, or right away when a force-push asked for it. + if (tick_tock % 120 == 0 || m_sync_user_presets_now.exchange(false, std::memory_order_acq_rel)) { tick_tock = 0; if (m_agent) { if (!m_agent->is_user_login()) { @@ -6733,9 +6768,24 @@ void GUI_App::start_sync_user_preset(bool with_progress_dlg) int total_count = 0; sync_count = preset_bundle->prints.get_user_presets(preset_bundle, presets_to_sync); + + auto sync_with_lock = [this](Preset& preset) { + bool force = false; + { + std::scoped_lock lock(conflict_ids_mutex); + auto it = std::find_if(m_pending_conflict_setting_ids.begin(), m_pending_conflict_setting_ids.end(), + [&preset](const std::string& id) { return id == preset.setting_id; }); + if (it != m_pending_conflict_setting_ids.end()) { + force = true; + m_pending_conflict_setting_ids.erase(it); + } + } + sync_preset(&preset, force); + }; + if (sync_count > 0) { for (Preset& preset : presets_to_sync) { - sync_preset(&preset); + sync_with_lock(preset); boost::this_thread::sleep_for(boost::chrono::milliseconds(100)); } } @@ -6744,7 +6794,7 @@ void GUI_App::start_sync_user_preset(bool with_progress_dlg) sync_count = preset_bundle->filaments.get_user_presets(preset_bundle, presets_to_sync); if (sync_count > 0) { for (Preset& preset : presets_to_sync) { - sync_preset(&preset); + sync_with_lock(preset); boost::this_thread::sleep_for(boost::chrono::milliseconds(100)); } } @@ -6753,7 +6803,7 @@ void GUI_App::start_sync_user_preset(bool with_progress_dlg) sync_count = preset_bundle->printers.get_user_presets(preset_bundle, presets_to_sync); if (sync_count > 0) { for (Preset& preset : presets_to_sync) { - sync_preset(&preset); + sync_with_lock(preset); boost::this_thread::sleep_for(boost::chrono::milliseconds(100)); } } @@ -6930,6 +6980,35 @@ void GUI_App::restart_sync_user_preset() }).detach(); } +void GUI_App::force_push_conflicting_preset(const std::string& setting_id) +{ + if (setting_id.empty() || !preset_bundle) + return; + + // Queue the id so the next push-sync re-uploads this preset with force=true. + { + std::scoped_lock lock(conflict_ids_mutex); + m_pending_conflict_setting_ids.push_back(setting_id); + } + + // The 409 left this preset on "hold", which get_user_presets() skips. Restore it to + // "update" so the next push-sync re-includes it and consumes the queued force flag. + // (We must NOT pull from the cloud here as the Pull path does — that would overwrite + // the local changes the user is trying to force-push.) + PresetCollection* collections[] = {&preset_bundle->prints, &preset_bundle->filaments, &preset_bundle->printers}; + for (PresetCollection* coll : collections) { + for (const Preset& preset : coll->get_presets()) { + if (preset.setting_id == setting_id && preset.sync_info == "hold") { + coll->set_sync_info_and_save(preset.name, preset.setting_id, "update", 0); + break; + } + } + } + + // Nudge the sync loop to push on its next tick instead of waiting for the 60s cadence. + m_sync_user_presets_now.store(true, std::memory_order_release); +} + void GUI_App::on_stealth_mode_enter() { stop_sync_user_preset(); diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index 5b6bcc6581..dc0f1e52de 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -297,6 +297,7 @@ private: NetworkAgent* m_agent { nullptr }; std::map need_delete_presets; // store setting ids of preset std::vector m_create_preset_blocked { false, false, false, false, false, false }; // excceed limit + std::vector m_pending_conflict_setting_ids; // setting_id from the most recent 409 conflict bool m_networking_compatible { false }; bool m_networking_need_update { false }; bool m_networking_cancel_update { false }; @@ -322,6 +323,7 @@ private: boost::thread m_sync_update_thread; std::shared_ptr m_user_sync_token; std::atomic m_restart_sync_pending {false}; + std::atomic m_sync_user_presets_now {false}; // request the sync loop to push user presets on its next tick bool m_is_dark_mode{ false }; bool m_adding_script_handler { false }; bool m_side_popup_status{false}; @@ -529,10 +531,13 @@ public: void add_pending_vendor_preset(const std::pair>& preset_data); void load_pending_vendors(); - void sync_preset(Preset* preset); + void sync_preset(Preset* preset, bool force = false); void start_sync_user_preset(bool with_progress_dlg = false); void stop_sync_user_preset(); void restart_sync_user_preset(); + // Resolve a cloud sync 409 by force-pushing the conflicting preset: clears the "hold" + // state the conflict left behind and queues it to be re-uploaded with force=true. + void force_push_conflicting_preset(const std::string& setting_id); void on_stealth_mode_enter(); // Bundle subscription sync diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index 81e28fec1a..5079dfecf0 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -791,6 +791,42 @@ void NotificationManager::PopNotification::render_hypertext(ImGuiWrapper& imgui, } +void NotificationManager::PopNotification::render_hyperlink_action(ImGuiWrapper& imgui, float text_x, float text_y, + const std::string& text, const char* button_id, const std::function& on_click) +{ + // Invisible button over the label + ImVec2 part_size = ImGui::CalcTextSize(text.c_str()); + ImGui::SetCursorPosX(text_x - 4); + ImGui::SetCursorPosY(text_y - 5); + ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(.0f, .0f, .0f, .0f)); + ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(.0f, .0f, .0f, .0f)); + ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4(.0f, .0f, .0f, .0f)); + if (imgui.button(button_id, part_size.x + 6, part_size.y + 10) && on_click) + on_click(); + ImGui::PopStyleColor(3); + + // Hover color + ImVec4 color = m_HyperTextColor; + if (ImGui::IsItemHovered(ImGuiHoveredFlags_RectOnly)) + color = m_HyperTextColorHover; + + // Text + push_style_color(ImGuiCol_Text, color, m_state == EState::FadingOut, m_current_fade_opacity); + ImGui::SetCursorPosX(text_x); + ImGui::SetCursorPosY(text_y); + imgui.text(text.c_str()); + ImGui::PopStyleColor(); + + // Underline + ImVec2 lineEnd = ImGui::GetItemRectMax(); + lineEnd.y -= 2; + ImVec2 lineStart = lineEnd; + lineStart.x = ImGui::GetItemRectMin().x; + ImGui::GetWindowDrawList()->AddLine(lineStart, lineEnd, + IM_COL32((int)(color.x * 255), (int)(color.y * 255), (int)(color.z * 255), + (int)(color.w * 255.f * (m_state == EState::FadingOut ? m_current_fade_opacity : 1.f)))); +} + void NotificationManager::PopNotification::render_close_button(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, const float win_pos_x, const float win_pos_y) { ensure_ui_inited(); @@ -2346,40 +2382,49 @@ bool NotificationManager::SharedProfilesNotification::on_text_click() void NotificationManager::SharedProfilesNotification::render_hypertext(ImGuiWrapper& imgui, const float text_x, const float text_y, const std::string text, bool more) { - // Invisible button - ImVec2 part_size = ImGui::CalcTextSize(text.c_str()); - ImGui::SetCursorPosX(text_x - 4); - ImGui::SetCursorPosY(text_y - 5); - ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(.0f, .0f, .0f, .0f)); - ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(.0f, .0f, .0f, .0f)); - ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4(.0f, .0f, .0f, .0f)); - if (imgui.button("##browse_btn", part_size.x + 6, part_size.y + 10)) { - if (on_text_click()) { - close(); + render_hyperlink_action(imgui, text_x, text_y, text, "##browse_btn", + [this] { if (on_text_click()) close(); }); +} + +void NotificationManager::OrcaSyncConflictNotification::init() +{ + PopNotification::init(); + // Reserve a dedicated action row for the two conflict-resolution links. + m_lines_count = m_lines_count + 1; +} + +void NotificationManager::OrcaSyncConflictNotification::render_text(ImGuiWrapper& imgui, + const float win_size_x, const float win_size_y, + const float win_pos_x, const float win_pos_y) +{ + float x_offset = m_left_indentation; + float shift_y = m_line_height; + float starting_y = m_line_height / 2; + + int last_end = 0; + std::string line; + for (size_t i = 0; i < m_endlines.size(); i++) { + if (m_text1.size() >= m_endlines[i]) { + line = m_text1.substr(last_end, m_endlines[i] - last_end); + last_end = m_endlines[i]; + if (m_text1.size() > m_endlines[i]) + last_end += (m_text1[m_endlines[i]] == '\n' || m_text1[m_endlines[i]] == ' ' ? 1 : 0); + ImGui::SetCursorPosX(x_offset); + ImGui::SetCursorPosY(starting_y + i * shift_y); + imgui.text(line.c_str()); } } - ImGui::PopStyleColor(3); - // Hover color - ImVec4 HyperColor = m_HyperTextColor; - if (ImGui::IsItemHovered(ImGuiHoveredFlags_RectOnly)) - HyperColor = m_HyperTextColorHover; - - // Text - push_style_color(ImGuiCol_Text, HyperColor, m_state == EState::FadingOut, m_current_fade_opacity); - ImGui::SetCursorPosX(text_x); - ImGui::SetCursorPosY(text_y); - imgui.text(text.c_str()); - ImGui::PopStyleColor(); - - // Underline - ImVec2 lineEnd = ImGui::GetItemRectMax(); - lineEnd.y -= 2; - ImVec2 lineStart = lineEnd; - lineStart.x = ImGui::GetItemRectMin().x; - ImGui::GetWindowDrawList()->AddLine(lineStart, lineEnd, - IM_COL32((int)(HyperColor.x * 255), (int)(HyperColor.y * 255), (int)(HyperColor.z * 255), - (int)(HyperColor.w * 255.f * (m_state == EState::FadingOut ? m_current_fade_opacity : 1.f)))); + const float action_y = starting_y + m_endlines.size() * shift_y; + const std::string pull_text = _u8L("Pull"); + render_hyperlink_action(imgui, x_offset, action_y, pull_text, "##orca_sync_pull", + [this] { if (m_pull_callback && m_pull_callback(m_evt_handler)) close(); }); + if (m_force_push_callback) { + const std::string force_push_text = _u8L("Force push"); + const float force_x = x_offset + ImGui::CalcTextSize((pull_text + " ").c_str()).x; + render_hyperlink_action(imgui, force_x, action_y, force_push_text, "##orca_sync_force_push", + [this] { if (m_force_push_callback && m_force_push_callback(m_evt_handler)) close(); }); + } } void NotificationManager::push_shared_profiles_notification(const std::string& explore_url) @@ -2391,6 +2436,16 @@ void NotificationManager::push_shared_profiles_notification(const std::string& e push_notification_data(std::make_unique(data, m_id_provider, m_evt_handler, explore_url), 0); } +void NotificationManager::push_orca_sync_conflict_notification(const std::string& text, + std::function pull_callback, + std::function force_push_callback) +{ + close_notification_of_type(NotificationType::OrcaSyncConflict); + NotificationData data{ NotificationType::OrcaSyncConflict, NotificationLevel::WarningNotificationLevel, 0, text }; + push_notification_data(std::make_unique( + data, m_id_provider, m_evt_handler, std::move(pull_callback), std::move(force_push_callback)), 0); +} + void NotificationManager::push_download_URL_progress_notification(size_t id, const std::string& text, std::function user_action_callback) { // If already exists diff --git a/src/slic3r/GUI/NotificationManager.hpp b/src/slic3r/GUI/NotificationManager.hpp index 5e8f4f7e95..006de5cff6 100644 --- a/src/slic3r/GUI/NotificationManager.hpp +++ b/src/slic3r/GUI/NotificationManager.hpp @@ -15,6 +15,8 @@ #include #include +#include +#include #include #include #include @@ -162,6 +164,8 @@ enum class NotificationType BBLMixUsePLAAndPETG, BBLNozzleFilamentIncompatible, OrcaSharedProfilesAvailable, + OrcaCloudAPIError, + OrcaSyncConflict, NotificationTypeCount }; @@ -274,6 +278,9 @@ public: // Shared profiles available for selected printer void push_shared_profiles_notification(const std::string& explore_url); + void push_orca_sync_conflict_notification(const std::string& text, + std::function pull_callback, + std::function force_push_callback); // Download URL progress notif void push_download_URL_progress_notification(size_t id, const std::string& text, std::function user_action_callback); @@ -491,6 +498,11 @@ private: const float text_x, const float text_y, const std::string text, bool more = false); + // Renders an underlined, hyperlink-style clickable label backed by an invisible button. + // on_click runs when pressed; the callback itself decides whether to close(). + void render_hyperlink_action(ImGuiWrapper& imgui, float text_x, float text_y, + const std::string& text, const char* button_id, + const std::function& on_click); virtual void bbl_render_block_notif_text(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, const float win_pos_x, const float win_pos_y); @@ -887,6 +899,28 @@ private: std::string m_explore_url; bool m_dont_show_clicked{ false }; }; + + class OrcaSyncConflictNotification : public PopNotification + { + public: + OrcaSyncConflictNotification(const NotificationData& n, NotificationIDProvider& id_provider, wxEvtHandler* evt_handler, + std::function pull_callback, + std::function force_push_callback) + : PopNotification(n, id_provider, evt_handler) + , m_pull_callback(std::move(pull_callback)) + , m_force_push_callback(std::move(force_push_callback)) + { + m_multiline = true; + } + protected: + void init() override; + void render_text(ImGuiWrapper& imgui, + const float win_size_x, const float win_size_y, + const float win_pos_x, const float win_pos_y) override; + + std::function m_pull_callback; + std::function m_force_push_callback; + }; class SlicingProgressNotification; // in HintNotification.hpp diff --git a/src/slic3r/Utils/BBLCloudServiceAgent.cpp b/src/slic3r/Utils/BBLCloudServiceAgent.cpp index 2c17d117fc..846e4ce509 100644 --- a/src/slic3r/Utils/BBLCloudServiceAgent.cpp +++ b/src/slic3r/Utils/BBLCloudServiceAgent.cpp @@ -433,7 +433,7 @@ std::string BBLCloudServiceAgent::request_setting_id(std::string name, std::map< return ""; } -int BBLCloudServiceAgent::put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code) +int BBLCloudServiceAgent::put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code, bool force) { auto& plugin = BBLNetworkPlugin::instance(); auto agent = plugin.get_agent(); diff --git a/src/slic3r/Utils/BBLCloudServiceAgent.hpp b/src/slic3r/Utils/BBLCloudServiceAgent.hpp index b48a65b76c..9f03f0b839 100644 --- a/src/slic3r/Utils/BBLCloudServiceAgent.hpp +++ b/src/slic3r/Utils/BBLCloudServiceAgent.hpp @@ -70,7 +70,7 @@ public: // Settings Synchronization int get_user_presets(std::map>* user_presets) override; std::string request_setting_id(std::string name, std::map* values_map, unsigned int* http_code) override; - int put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code) override; + int put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code, bool force = false) override; int get_setting_list(std::string bundle_version, ProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr) override; int get_setting_list2(std::string bundle_version, CheckFn chk_fn, ProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr) override; int delete_setting(std::string setting_id) override; diff --git a/src/slic3r/Utils/ICloudServiceAgent.hpp b/src/slic3r/Utils/ICloudServiceAgent.hpp index 6d131341f7..556c253641 100644 --- a/src/slic3r/Utils/ICloudServiceAgent.hpp +++ b/src/slic3r/Utils/ICloudServiceAgent.hpp @@ -247,7 +247,7 @@ public: /** * Update or create a preset with a known setting_id. */ - virtual int put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code) = 0; + virtual int put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code, bool force = false) = 0; /** * Trigger bulk download of user presets. diff --git a/src/slic3r/Utils/NetworkAgent.cpp b/src/slic3r/Utils/NetworkAgent.cpp index e59795c058..8a3d2953b0 100644 --- a/src/slic3r/Utils/NetworkAgent.cpp +++ b/src/slic3r/Utils/NetworkAgent.cpp @@ -383,11 +383,12 @@ int NetworkAgent::put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code, - const std::string& provider) + const std::string& provider, + bool force) { const auto cloud_agent = get_cloud_agent(provider); if (cloud_agent) - return cloud_agent->put_setting(std::move(setting_id), std::move(name), values_map, http_code); + return cloud_agent->put_setting(std::move(setting_id), std::move(name), values_map, http_code, force); return -1; } diff --git a/src/slic3r/Utils/NetworkAgent.hpp b/src/slic3r/Utils/NetworkAgent.hpp index 49a2e9f5d6..57a23737a2 100644 --- a/src/slic3r/Utils/NetworkAgent.hpp +++ b/src/slic3r/Utils/NetworkAgent.hpp @@ -93,7 +93,7 @@ public: // NOTE: this should always call only OrcaCloud int get_user_presets(std::map>* user_presets, const std::string& provider = ORCA_CLOUD_PROVIDER); std::string request_setting_id(std::string name, std::map* values_map, unsigned int* http_code, const std::string& provider = ORCA_CLOUD_PROVIDER); - int put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code, const std::string& provider = ORCA_CLOUD_PROVIDER); + int put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code, const std::string& provider = ORCA_CLOUD_PROVIDER, bool force = false); int get_setting_list(std::string bundle_version, ProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr, const std::string& provider = ORCA_CLOUD_PROVIDER); int get_setting_list2(std::string bundle_version, CheckFn chk_fn, ProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr, const std::string& provider = ORCA_CLOUD_PROVIDER); int delete_setting(std::string setting_id, const std::string& provider = ORCA_CLOUD_PROVIDER); diff --git a/src/slic3r/Utils/OrcaCloudServiceAgent.cpp b/src/slic3r/Utils/OrcaCloudServiceAgent.cpp index 0e1027cd46..1b7f779914 100644 --- a/src/slic3r/Utils/OrcaCloudServiceAgent.cpp +++ b/src/slic3r/Utils/OrcaCloudServiceAgent.cpp @@ -56,6 +56,7 @@ constexpr const char* ORCA_DEFAULT_PUB_KEY = "sb_publishable_lvVe_whOi80SU9BPSxM constexpr const char* ORCA_HEALTH_PATH = "/api/v1/health"; constexpr const char* ORCA_SYNC_PULL_PATH = "/api/v1/sync/pull"; constexpr const char* ORCA_SYNC_PUSH_PATH = "/api/v1/sync/push"; +constexpr const char* ORCA_SYNC_FORCE_PUSH_PATH = "/api/v1/sync/force-push"; constexpr const char* ORCA_SYNC_DELETE_PATH = "/api/v1/sync/delete"; constexpr const char* ORCA_PROFILES_PATH = "/api/v1/sync/profiles"; constexpr const char* ORCA_SUBSCRIPTIONS_PATH = "/api/v1/subscriptions"; @@ -965,7 +966,7 @@ std::string OrcaCloudServiceAgent::request_setting_id(std::string name, std::map return ""; } -int OrcaCloudServiceAgent::put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code) +int OrcaCloudServiceAgent::put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code, bool force) { // Extract original_updated_time for Optimistic Concurrency Control // If present, server will verify version before update. If absent, treated as insert. @@ -989,7 +990,7 @@ int OrcaCloudServiceAgent::put_setting(std::string setting_id, std::string name, } } - auto result = sync_push(setting_id, name, content, original_updated_time); + auto result = sync_push(setting_id, name, content, original_updated_time, force); if (http_code) *http_code = result.http_code; if (result.success) { @@ -1208,11 +1209,11 @@ int OrcaCloudServiceAgent::sync_pull( } } -SyncPushResult OrcaCloudServiceAgent::sync_push( - const std::string& profile_id, - const std::string& name, - const nlohmann::json& content, - const std::string& original_updated_time) +SyncPushResult OrcaCloudServiceAgent::sync_push(const std::string& profile_id, + const std::string& name, + const nlohmann::json& content, + const std::string& original_updated_time, + bool force) { SyncPushResult result; result.success = false; @@ -1243,7 +1244,7 @@ SyncPushResult OrcaCloudServiceAgent::sync_push( std::string response; unsigned int http_code = 0; - int http_result = http_post(ORCA_SYNC_PUSH_PATH, body_str, &response, &http_code); + int http_result = http_post(force ? ORCA_SYNC_FORCE_PUSH_PATH : ORCA_SYNC_PUSH_PATH, body_str, &response, &http_code); result.http_code = http_code; @@ -1888,7 +1889,7 @@ int OrcaCloudServiceAgent::http_post(const std::string& path, const std::string& .on_error([&](std::string resp_body, std::string error, unsigned resp_status) { result.success = false; result.status = resp_status == 0 ? 404 : resp_status; - result.body = body; + result.body = resp_body; BOOST_LOG_TRIVIAL(error) << "OrcaCloudServiceAgent: HTTP error - " << error; }) .timeout_max(30) diff --git a/src/slic3r/Utils/OrcaCloudServiceAgent.hpp b/src/slic3r/Utils/OrcaCloudServiceAgent.hpp index 4552b487d4..5c58987a0b 100644 --- a/src/slic3r/Utils/OrcaCloudServiceAgent.hpp +++ b/src/slic3r/Utils/OrcaCloudServiceAgent.hpp @@ -176,7 +176,12 @@ public: // ======================================================================== int get_user_presets(std::map>* user_presets) override; std::string request_setting_id(std::string name, std::map* values_map, unsigned int* http_code) override; - int put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code) override; + int put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code, bool force = false) override; + SyncPushResult sync_push(const std::string& profile_id, + const std::string& name, + const nlohmann::json& content, + const std::string& original_updated_time = "", + bool force = false); int get_setting_list(std::string bundle_version, ProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr) override; int get_setting_list2(std::string bundle_version, CheckFn chk_fn, ProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr) override; int delete_setting(std::string setting_id) override; @@ -294,13 +299,6 @@ private: std::function on_error ); - SyncPushResult sync_push( - const std::string& profile_id, - const std::string& name, - const nlohmann::json& content, - const std::string& original_updated_time = "" - ); - // HTTP request helpers int http_get(const std::string& path, std::string* response_body, unsigned int* http_code); int http_post(const std::string& path, const std::string& body, std::string* response_body, unsigned int* http_code); From 372f7823ac591051918a7dfa32a6065b9fcb3e3d Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sun, 31 May 2026 18:04:06 +0800 Subject: [PATCH 40/69] Feature/tweak stealth mode (#13963) * Update the stealth mode description to reflect the current code changes in 2.4. * disable HMS if bambu network plugin is not installed or in stealth mode * fix build err * add hide_login_side_panel to control whether to show login panel in home page --- resources/web/data/text.js | 10 ++------- resources/web/guide/4orca/index.html | 4 +++- src/libslic3r/AppConfig.cpp | 8 ++++++++ src/libslic3r/AppConfig.hpp | 1 + src/slic3r/GUI/GUI_App.cpp | 29 +++++++++++++++++++++++++-- src/slic3r/GUI/HMS.cpp | 19 +++++++++++++----- src/slic3r/GUI/Preferences.cpp | 10 ++++++++- src/slic3r/GUI/WebUserLoginDialog.cpp | 6 +----- src/slic3r/GUI/WebViewDialog.cpp | 2 +- 9 files changed, 66 insertions(+), 23 deletions(-) diff --git a/resources/web/data/text.js b/resources/web/data/text.js index 4a1fd7ea51..33fbc89087 100644 --- a/resources/web/data/text.js +++ b/resources/web/data/text.js @@ -109,7 +109,7 @@ var LangText = { orca1: "Edit Project Info", orca2: "No model information", orca3: "Stealth Mode", - orca4: "This stops the transmission of data to Bambu's cloud services. Users who don't use BBL machines or use LAN mode only can safely turn on this function.", + orca4: "This disables all cloud features, including Orca Cloud profile syncing. Users who prefer to work entirely offline can enable this option.", orca5: "Enable Stealth Mode.", orca6: "Bambu Cloud", orca7: "Orca Cloud Account", @@ -117,6 +117,7 @@ var LangText = { orca9: "Bambu Cloud Account", orca10: "Not connected", orca11: "Connected", + orca12: "Note: When Stealth Mode is enabled, your user profiles will not be backed up to Orca Cloud.", }, ca_ES: { t1: "Benvingut a Orca Slicer", @@ -343,7 +344,6 @@ var LangText = { orca1: "Editar información del proyecto", orca2: "No hay información sobre el modelo", orca3: "Modo sigiloso", - orca4: "Esta función detiene la transmisión de datos a los servicios en la nube de Bambu. Los usuarios que no utilicen máquinas BBL o que solo usen el modo LAN pueden activar esta función con seguridad.", orca5: "Activar modo sigiloso.", orca6: "Bambu Cloud", orca7: "Orca Cloud Account", @@ -461,7 +461,6 @@ var LangText = { orca1: "Modifica informazioni progetto", orca2: "Nessuna informazione sul modello", orca3: "Modalità invisibile", - orca4: "Con questa modalità, la trasmissione dei dati ai servizi cloud di Bambu sarà interrotta. Gli utenti che non utilizzano macchine BBL o che usano solo la modalità LAN possono attivare questa funzione in modo sicuro.", orca5: "Abilita la modalità invisibile.", orca6: "Bambu Cloud", orca7: "Orca Cloud Account", @@ -1169,7 +1168,6 @@ var LangText = { orca1: "Изменить информацию", orca2: "Информация отсутствует", orca3: "Режим конфиденциальности", - orca4: "Это остановит передачу данных в облачные сервисы Bambu. Помешает только владельцам Bambu Lab, не использующим режим «Только LAN».", orca5: "Включить режим конфиденциальности", orca6: "Bambu Cloud", orca7: "Orca Cloud Account", @@ -1386,7 +1384,6 @@ var LangText = { orca1: "Proje Bilgilerini Düzenle", orca2: "Model bilgisi yok", orca3: "Gizli Mod", - orca4: "Bu, Bambu'nun bulut hizmetlerine veri iletimini durdurur. BBL makinelerini kullanmayan veya yalnızca LAN modunu kullanan kullanıcılar bu işlevi güvenle açabilir.", orca5: "Gizli Modu etkinleştirin.", orca6: "Bambu Cloud", orca7: "Orca Cloud Account", @@ -1505,7 +1502,6 @@ var LangText = { orca1: "Edytuj informacje o projekcie", orca2: "Brak informacji o modelu", orca3: "Tryb «Niewidzialny»", - orca4: "To wyłączy przesyłanie danych do usług chmurowych Bambu. Użytkownicy, którzy nie korzystają z maszyn BBL lub używają tylko trybu LAN, mogą bez obaw włączyć tę opcję.", orca5: "Włącz tryb «Niewidzialny»", orca6: "Bambu Cloud", orca7: "Orca Cloud Account", @@ -1624,7 +1620,6 @@ var LangText = { orca1: "Editar Info do Projeto", orca2: "Sem informação do modelo", orca3: "Modo Furtivo", - orca4: "Isso interrompe a transmissão de dados para os serviços de nuvem da Bambu. Usuários que não usam máquinas BBL ou usam somente o modo LAN podem ativar essa função com segurança.", orca5: "Habilita Modo Furtivo.", orca6: "Bambu Cloud", orca7: "Orca Cloud Account", @@ -1742,7 +1737,6 @@ var LangText = { orca1: "Redaguoti projekto informaciją", orca2: "Nėra informacijos apie modelį", orca3: "Slaptas režimas", - orca4: "Tai sustabdo duomenų perdavimą į Bambu debesijos paslaugas. Vartotojai, kurie nenaudoja BBL mašinų arba naudoja tik LAN režimą, gali drąsiai įjungti šią funkciją.", orca5: "Įjungti slaptą režimą.", orca6: "Bambu Cloud", orca7: "Orca Cloud Account", diff --git a/resources/web/guide/4orca/index.html b/resources/web/guide/4orca/index.html index e9b5cf5df2..df61fa4d92 100644 --- a/resources/web/guide/4orca/index.html +++ b/resources/web/guide/4orca/index.html @@ -22,7 +22,9 @@

diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index b35a754c2b..13782fbad2 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -93,6 +93,11 @@ bool AppConfig::get_stealth_mode() return get_bool("stealth_mode"); } +bool AppConfig::get_hide_login_side_panel() +{ + return get_bool("hide_login_side_panel"); +} + void AppConfig::reset() { m_storage.clear(); @@ -347,6 +352,9 @@ void AppConfig::set_defaults() if (get("stealth_mode").empty()) { set_bool("stealth_mode", false); } + if (get("hide_login_side_panel").empty()) { + set_bool("hide_login_side_panel", false); + } if (get("allow_abnormal_storage").empty()) { set_bool("allow_abnormal_storage", false); } diff --git a/src/libslic3r/AppConfig.hpp b/src/libslic3r/AppConfig.hpp index 33f243905a..76366784b0 100644 --- a/src/libslic3r/AppConfig.hpp +++ b/src/libslic3r/AppConfig.hpp @@ -85,6 +85,7 @@ public: std::string get_language_code(); std::string get_hms_host(); bool get_stealth_mode(); + bool get_hide_login_side_panel(); // Clear and reset to defaults. void reset(); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 90dc54ec0f..bd71f001ee 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -4509,21 +4509,46 @@ std::string GUI_App::handle_web_request(std::string cmd) boost::optional command = root.get_optional("command"); if (command.has_value()) { std::string command_str = command.value(); - static const std::unordered_set stealth_blocked_commands = { + static const std::unordered_set stealth_blocked_info_commands = { "get_login_info", "get_orca_login_info", "get_bambu_login_info", + }; + static const std::unordered_set stealth_blocked_login_commands = { "homepage_login_or_register", "homepage_orca_login_or_register", "homepage_bambu_login_or_register", }; - if (app_config->get_stealth_mode() && stealth_blocked_commands.count(command_str)) { + if (app_config->get_stealth_mode() && stealth_blocked_info_commands.count(command_str)) { CallAfter([this] { if (mainframe && mainframe->m_webview) mainframe->m_webview->SendCloudProvidersInfo(); }); return ""; } + if (app_config->get_stealth_mode() && stealth_blocked_login_commands.count(command_str)) { + CallAfter([this, command_str] { + MessageDialog dlg(mainframe, + _L("You are currently in Stealth Mode. To log into the Cloud, you need to disable Stealth Mode first."), + _L("Stealth Mode"), + wxOK | wxCANCEL | wxCENTRE); + dlg.SetButtonLabel(wxID_OK, _L("Quit Stealth Mode")); + if (dlg.ShowModal() == wxID_OK) { + app_config->set_bool("stealth_mode", false); + app_config->save(); + if (mainframe && mainframe->m_webview) + mainframe->m_webview->SendCloudProvidersInfo(); + // Continue with login + if (command_str == "homepage_login_or_register") + this->request_login(true); + else if (command_str == "homepage_orca_login_or_register") + this->request_login(true, ORCA_CLOUD_PROVIDER); + else if (command_str == "homepage_bambu_login_or_register") + this->request_login(true, BBL_CLOUD_PROVIDER); + } + }); + return ""; + } if (command_str.compare("request_project_download") == 0) { if (root.get_child_optional("data") != boost::none) { pt::ptree data_node = root.get_child("data"); diff --git a/src/slic3r/GUI/HMS.cpp b/src/slic3r/GUI/HMS.cpp index f9f4d0b9f7..561b3750b2 100644 --- a/src/slic3r/GUI/HMS.cpp +++ b/src/slic3r/GUI/HMS.cpp @@ -4,6 +4,7 @@ #include "DeviceManager.hpp" #include "DeviceCore/DevManager.h" #include "DeviceCore/DevUtil.h" +#include "libslic3r/AppConfig.hpp" #include @@ -13,6 +14,14 @@ static const char* HMS_LOCAL_IMG_PATH = "hms/local_image"; // the local HMS info static unordered_set package_dev_id_types {"094", "239", "093", "22E"}; +// HMS should be disabled when stealth mode is on or networking is not installed +static bool should_disable_hms() +{ + Slic3r::AppConfig* config = Slic3r::GUI::wxGetApp().app_config; + if (!config) return true; + return config->get_stealth_mode() || !config->get_bool("installed_networking"); +} + namespace Slic3r { namespace GUI { @@ -21,7 +30,7 @@ int get_hms_info_version(std::string& version) AppConfig* config = wxGetApp().app_config; if (!config) return -1; - if (config->get_stealth_mode()) + if (should_disable_hms()) return -1; std::string hms_host = config->get_hms_host(); if(hms_host.empty()) { @@ -61,7 +70,7 @@ int HMSQuery::download_hms_related(const std::string& hms_type, const std::strin AppConfig* config = wxGetApp().app_config; if (!config) return -1; - if (config->get_stealth_mode()) return -1; + if (should_disable_hms()) return -1; std::string hms_host = wxGetApp().app_config->get_hms_host(); std::string lang; @@ -546,7 +555,7 @@ wxString HMSQuery::query_print_image_action(const MachineObject* obj, int print_ ::sprintf(buf, "%08X", print_error); //The first three digits of SN number const auto result = _query_error_image_action(get_dev_id_type(obj),std::string(buf), button_action); - if (wxGetApp().app_config->get_stealth_mode() && result.Contains("http")) { + if (should_disable_hms() && result.Contains("http")) { return wxEmptyString; } return result; @@ -637,7 +646,7 @@ std::string get_hms_wiki_url(std::string error_code) { AppConfig* config = wxGetApp().app_config; if (!config) return ""; - if (config->get_stealth_mode()) return ""; + if (should_disable_hms()) return ""; std::string hms_host = wxGetApp().app_config->get_hms_host(); std::string lang_code = HMSQuery::hms_language_code(); @@ -663,7 +672,7 @@ std::string get_hms_wiki_url(std::string error_code) std::string get_error_message(int error_code) { - if (wxGetApp().app_config->get_stealth_mode()) return ""; + if (should_disable_hms()) return ""; char buf[64]; std::string result_str = ""; diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 5cef914e38..7a78e337f3 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -968,6 +968,11 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxString too if (m_sync_user_preset_checkbox) m_sync_user_preset_checkbox->Enable(!enabled); if (m_bambu_cloud_checkbox) m_bambu_cloud_checkbox->Enable(!enabled); } + else if (param == "hide_login_side_panel") { + if (wxGetApp().mainframe && wxGetApp().mainframe->m_webview) { + wxGetApp().mainframe->m_webview->SendCloudProvidersInfo(); + } + } #ifdef __WXMSW__ if (param == "associate_3mf") { @@ -1605,9 +1610,12 @@ void PreferencesDialog::create_items() auto item_region = create_item_region_combobox(_L("Login region"), ""); g_sizer->Add(item_region); - auto item_stealth_mode = create_item_checkbox(_L("Stealth mode"), _L("This disables all cloud services e.g. Orca Cloud and Bambu Cloud. This stops the transmission of data to Bambu's cloud services too. Users who don't use BBL machines or use LAN mode only can safely turn on this function."), "stealth_mode"); + auto item_stealth_mode = create_item_checkbox(_L("Stealth mode"), _L("This disables all cloud features, including Orca Cloud profile syncing. Users who prefer to work entirely offline can enable this option.\nNote: When Stealth Mode is enabled, your user profiles will not be backed up to Orca Cloud."), "stealth_mode"); g_sizer->Add(item_stealth_mode); + auto item_hide_login_side_panel = create_item_checkbox(_L("Hide login side panel"), _L("Hide the login side panel on the home page."), "hide_login_side_panel"); + g_sizer->Add(item_hide_login_side_panel); + auto item_network_test = create_item_button(_L("Network test"), _L("Test") + " " + dots, "", _L("Open Network Test"), []() { NetworkTestDialog dlg(wxGetApp().mainframe); dlg.ShowModal(); diff --git a/src/slic3r/GUI/WebUserLoginDialog.cpp b/src/slic3r/GUI/WebUserLoginDialog.cpp index 2a9b4cb984..4b8acc9455 100644 --- a/src/slic3r/GUI/WebUserLoginDialog.cpp +++ b/src/slic3r/GUI/WebUserLoginDialog.cpp @@ -177,11 +177,7 @@ ZUserLogin::ZUserLogin(std::shared_ptr cloud_agent) wxSize pSize = FromDIP(wxSize(650, 840)); SetSize(pSize); - int screenheight = wxSystemSettings::GetMetric(wxSYS_SCREEN_Y, NULL); - int screenwidth = wxSystemSettings::GetMetric(wxSYS_SCREEN_X, NULL); - int MaxY = (screenheight - pSize.y) > 0 ? (screenheight - pSize.y) / 2 : 0; - wxPoint tmpPT((screenwidth - pSize.x) / 2, MaxY); - Move(tmpPT); + CentreOnParent(); } wxGetApp().UpdateDlgDarkUI(this); } diff --git a/src/slic3r/GUI/WebViewDialog.cpp b/src/slic3r/GUI/WebViewDialog.cpp index 2a88277680..20ed70e799 100644 --- a/src/slic3r/GUI/WebViewDialog.cpp +++ b/src/slic3r/GUI/WebViewDialog.cpp @@ -526,7 +526,7 @@ void WebViewPanel::SendCloudProvidersInfo() json data; json provider_array = json::array(); - if (!app_config->get_stealth_mode()) { + if (!app_config->get_hide_login_side_panel()) { auto providers = app_config->get_cloud_providers(); for (const auto& p : providers) { provider_array.push_back(p); From c71493559600e08251a8454c1478e8f2564a6002 Mon Sep 17 00:00:00 2001 From: Bingo2023 <61052575+Bingo2023@users.noreply.github.com> Date: Sun, 31 May 2026 12:46:46 +0200 Subject: [PATCH 41/69] Update Bambu Lab X2D 0.4 nozzle.json - updade Maschine Startcode (#13944) * Update Bambu Lab X2D 0.4 nozzle.json - updade Maschine Startcode bump in changes from BBL update: ===== 2026/05/08 ===== old: ===== 2026/03/26 ===== * Update Bambu Lab X2D 0.4 nozzle.json corrected: - " " -> ' ' - {Tab} -> deleted * Update Bambu Lab X2D 0.4 nozzle.json replaced " -> ' --- resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json index 6d73d9fa8e..beeb01dd8a 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json @@ -8,7 +8,7 @@ "change_filament_gcode": "======== X2D filament_change gcode ==========\n;===== 2026/04/08 =====\n\nM620 S[next_extruder]A B H[next_hotend]\n;M204 S9000\n{if toolchange_count > 1 && (z_hop_types[current_extruder] == 0 || z_hop_types[current_extruder] == 3)}\nG17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\n\n;nozzle_change_gcode\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_extruder] == \"PLA\") || (filament_type[current_extruder] == \"PLA-CF\") || (filament_type[current_extruder] == \"PETG\")) && (nozzle_diameter[current_extruder] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG\")) && (nozzle_diameter[next_extruder] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P[new_filament_temp] S1\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_extruder]}\n\n{if long_retraction_when_cut}\nM620.11 P1 L0 I[current_extruder] B[current_hotend] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 P0 L0 I[current_extruder] B[current_hotend] E0\n{endif}\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_extruder] B[current_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_extruder] B[current_hotend] R0\n{endif}\n\nM620.22 I[next_extruder] P1 ; enable remote extruder runout auto purge.\n \nT[next_extruder] H[next_hotend]\n\n;deretract\n{if filament_type[next_extruder] == \"TPU\"}\n{else}\n{if filament_type[next_extruder] == \"PA\"}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\nSYNC T{ceil(flush_length / 125) * 5}\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_extruder]}\n\nM400\nM83\n{if next_extruder < 255}\nM620.10 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\n\n;prime_tower_interface\n{if is_prime_tower_interface && filament_tower_interface_purge_volume !=0}\nG150.1\nM620.13 W0 L{filament_tower_interface_purge_volume} T{filament_tower_interface_print_temp} R0.0\n{endif}\n;prime_tower_interface\n\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\n\nM400\n\nG1 Z{max_layer_z + 3.0} F3000\n\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\n\nM621 S[next_extruder]A B\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM400\nG1 Z{max_layer_z + 3.0} F3000\nM1002 set_flag powerloss_resume_flag=0\nM623\n\nM620.6 I[next_extruder] H[next_hotend] W1 ;enable ams air printing detect\n\n{if (filament_type[next_extruder] == \"TPU\")}\nM1015.3 S1 H[nozzle_diameter];enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\n\nG1 Y256 F18000\n\n\n{if (overall_chamber_temperature < 40)}\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[next_extruder])}\n M106 P2 S{first_x_layer_fan_speed[next_extruder]*255.0/100.0 };set first x_layer fan\n\tM106 P10 S{first_x_layer_fan_speed[next_extruder]*255.0/100.0 };set first x_layer fan\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[next_extruder] && additional_fan_full_speed_layer[next_extruder] > close_additional_fan_first_x_layers[next_extruder])}\n M106 P2 S{(first_x_layer_fan_speed[next_extruder] + (additional_cooling_fan_speed[next_extruder] - first_x_layer_fan_speed[next_extruder]) * (layer_num + 1 - close_additional_fan_first_x_layers[next_extruder]) / (additional_fan_full_speed_layer[next_extruder] - close_additional_fan_first_x_layers[next_extruder])) * 255.0/100.0}\n\tM106 P10 S{(first_x_layer_fan_speed[next_extruder] + (additional_cooling_fan_speed[next_extruder] - first_x_layer_fan_speed[next_extruder]) * (layer_num + 1 - close_additional_fan_first_x_layers[next_extruder]) / (additional_fan_full_speed_layer[next_extruder] - close_additional_fan_first_x_layers[next_extruder])) * 255.0/100.0}\n{else}\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S35 U{max_additional_fan/100.0} V1.0 O40; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R35 S45 U{max_additional_fan/100.0} V0.5 O50; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 U{max_additional_fan/100.0} V0.5 O55; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n{endif}\n{endif}\n;not set fan changing filament", "layer_change_gcode": ";======== X2D layer_change gcode ==========\n;===== 2025/04/08 =====\n\n{if (layer_num + 1 == 1)}\n{if (overall_chamber_temperature >= 40)}\n ;not reset filter fan in first layer\n ;not reset fan\n{endif}\n{endif}\n\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[current_extruder])}\n{if (overall_chamber_temperature < 40)}\n M106 P2 S{first_x_layer_fan_speed[current_extruder]*255.0/100.0}\n\tM106 P10 S{first_x_layer_fan_speed[current_extruder]*255.0/100.0}\n{endif}\n;not reset fan\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[current_extruder] && additional_fan_full_speed_layer[current_extruder] > close_additional_fan_first_x_layers[current_extruder])}\n{if (overall_chamber_temperature < 40)}\n M106 P2 S{(first_x_layer_fan_speed[current_extruder] + (additional_cooling_fan_speed[current_extruder] - first_x_layer_fan_speed[current_extruder]) * (layer_num + 1 - close_additional_fan_first_x_layers[current_extruder]) / (additional_fan_full_speed_layer[current_extruder] - close_additional_fan_first_x_layers[current_extruder])) * 255.0/100.0}\n\tM106 P10 S{(first_x_layer_fan_speed[current_extruder] + (additional_cooling_fan_speed[current_extruder] - first_x_layer_fan_speed[current_extruder]) * (layer_num + 1 - close_additional_fan_first_x_layers[current_extruder]) / (additional_fan_full_speed_layer[current_extruder] - close_additional_fan_first_x_layers[current_extruder])) * 255.0/100.0}\n{endif}\n;not reset fan\n{elsif (layer_num + 1 == max(close_additional_fan_first_x_layers[current_extruder] + 1, additional_fan_full_speed_layer[current_extruder]))}\n{if (overall_chamber_temperature < 40)}\n ;updata chamber autocooling in Xth layer\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S35 U{max_additional_fan/100.0} V1.0 O40; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R35 S45 U{max_additional_fan/100.0} V0.5 O50; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 U{max_additional_fan/100.0} V0.5 O55; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n{else}\n ;not reset filter fan in Xth layer\n{endif}\n;not reset fan\n{endif}\n\n\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n", "machine_end_gcode": ";======== X2D end gcode ==========\n;===== 2026/03/30 =====\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nM140 S0 ; turn off bed\nM141 S0 ; turn off chamber heating\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P10 S0 ; turn off remote part1 cooling fan\n\n; pull back filament to AMS\nM620 S65279 B\n; M620.11 P1 L0 I65279 E-3\nT65279\nG150.1 F8000\nM621 S65279 B\n\nM620 S65535 B\n; M620.11 P1 L0 I65535 E-4\nT65535\nG150.1 F8000\nM621 S65535 B\n\nG150.3\n\nM104 S0 T0; turn off hotend\nM104 S0 T1; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (80.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 80.0 - max_layer_z/2) < 256}\n G1 Z{max_layer_z + 80.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 78.0 - max_layer_z/2}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 256}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.3 S0 ;disable clog detect\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P10 S255\nM400 S180\nM106 P10 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S255\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L50 C48 D10 M50 E48 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L50 C60 D10 M50 E60 F10 N50 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n", - "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\n;======== X2D start gcode==========\n;===== 2026/03/26 =====\n\n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n M400\n ;M73 P99\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B9 L50 C61 D9 M50 E61 F9 N50 \nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B18 L50 C61 D18 M50 E61 F18 N50 \nM1006 W\n;=====printer start sound ===================\n\n M1012.1 T1100\n M620 M ;enable remap\n M622.1 S0\n G383.4\n \n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n M220 S100 ;Reset Feedrate\n M1002 set_gcode_claim_speed_level: 5\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M982.2 S1 ; turn on cog noise reduction\n;===== reset machine status =================\n\n;==== set airduct mode ==== \n{if (overall_chamber_temperature >= 40)}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S0 ; turn off auxiliary fan\nM106 P10 S255 ; turn on filter fan\n{else}\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P10 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\n;M140 S0 ; stop heatbed from heating\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on auxiliary fan\nM106 P10 S102 ; turn on chamber fan\nM142 P6 R30 S40 U0.6 V0.8 ; set PLA/TPU/PETG exhaust chamber autocooling\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n M1002 gcode_claim_action : 2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]} \n \n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n;===== set chamber temperature ==========\n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n G28 X T300 R\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G150.3\n M972 S24 P0\n M1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\n M972 S26 P0 C0\n G90\n M83\n G1 Y128 F30000\n G1 X128\n G28 Z P0 T400\n M400\n;===== first homign end =====\n\n;===== detection start =====\n M1002 gcode_claim_action : 11\n\n M104 S0 T0\n M104 S0 T1\n M562 P1 E0 B1\n M562 P2 E0 B1\n M18 E\n M400 P200\n M1028 S1\n M972 S19 P0 ;heatbed detection\n M972 S31 P0 ;toolhead camera dirt detection\n M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 ;print plate deviation detection\n M1028 S0\n M562 P1 E1 B1\n M562 P2 E1 B1\n M17 D\n\n ;M400\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} T{filament_map[initial_no_support_extruder] % 2} ; rise temp in advance\n G151 P{filament_map[initial_no_support_extruder] % 2} M ; plug the heat nozzle\n {if max_print_z >= 145}\n M1002 gcode_claim_action : 75 ; Detect obstacles at the botton of the heated bed\n G3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n {endif}\n;===== detection end =====\n\n;===== prepare print temperature and material ==========\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-40} A ; rise temp in advance\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n M975 S1 ; turn on input shaping\n \n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG\")) && (nozzle_diameter[initial_no_support_extruder] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{endif}\n \n M620.11 P0 L0 I[initial_no_support_extruder] B[initial_no_support_hotend] E0\n M620.11 K0 I[initial_no_support_extruder] B[initial_no_support_hotend] R0\n\n M620 S[initial_no_support_extruder]A H[initial_no_support_hotend] B ; switch material if AMS exist\n M620.22 I[initial_no_support_extruder] P1 ; enable remote extruder runout auto purge.\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_extruder] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M621 S[initial_no_support_extruder]A B\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n;===== prepare print temperature and material ==========\n\n;===== auto extrude cali start =========================\n M975 S1\n M1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n;===== auto extrude cali end =========================\n\n {if hold_chamber_temp_for_flat_print}\n G150.3\n M1002 gcode_claim_action : 58\n M104 S{first_layer_temperature[initial_no_support_extruder]}\n {if bed_temperature_initial_layer_single > 89}\n {if overall_chamber_temperature < 40}\n M1030 S1200\n SYNC R0 T1200\n {else}\n M1030 S600\n SYNC R0 T600\n {endif} \n {else}\n M1030 S300\n SYNC R0 T300\n {endif}\n M1030 C\n {endif}\n\n {if filament_type[current_extruder] == \"TPU\" || filament_type[current_extruder] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G150.2\n G150.1 F8000\n G150.2\n G150.1 F8000\n\n G91\n G1 Y-16 F12000 ; move away from the trash bin\n G90\n M400\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} A\n\n;===== wipe right nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n;===== wipe left nozzle end =====\n\n{if filament_type[current_extruder] == \"PC\"}\n M109 S170 A\n{else}\n M109 S140 A\n{endif}\n M106 S0 ; turn off fan , too noisy\n G91\n G1 Z5 F1200\n G90\n M400\n G150.1\n\n{if (overall_chamber_temperature >= 40)}\nM1002 gcode_claim_action : 49\nM191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\n;===== z ofst cali start =====\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n G383 O0 M1 T140\n M400\n;===== z ofst cali end =====\nG90\nM83\nG0 Y200 F18000\n\n;===== bed leveling ==================================\n M1002 gcode_claim_action : 54\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n M109 S140 A\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n \n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n\n M622 J0\n G28 R\n M623\n G29.2 S1\n;===== bed leveling end ================================\n\n; cali eddy z pos\n;G383.13 T1 C1\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} A\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 X128 Y128 F20000\n G1 Z5 F1200\n M400 P200\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n M970.3 Q0 A7 K0 O1\n M974 Q0 S2 P0\n M975 S1\n M400\n;===== mech mode sweep end =====\n\nM104 S[nozzle_temperature_initial_layer] A\nG150.3\n;===== xy ofst cali start =====\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J0\n M1012.5 N1 R1\nM623\n\nM622 J1\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n M620 D[initial_no_support_hotend]\n G383 O1 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M141 S[overall_chamber_temperature]\nM623\n\nM622 J2\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n M620 D[initial_no_support_hotend]\n G383.3 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M141 S[overall_chamber_temperature]\nM623\n;===== xy ofst cali end =====\n\n M104 S[nozzle_temperature_initial_layer] A\n\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n M140 S[bed_temperature_initial_layer_single] \n M190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n \n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n M983.4 S0 ; turn off deformation compensation \n\n;============switch again==================\n M211 X0 Y0 Z0 ;turn off soft endstop\n G91\n G1 Z6 F1200\n G90\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M620 S[initial_no_support_extruder]A H[initial_no_support_hotend] B\n M620.22 I[initial_no_support_extruder] P1 ; enable remote extruder runout auto purge.\n M400\n T[initial_no_support_extruder] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M621 S[initial_no_support_extruder]A B\n;============switch again==================\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{0.002} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.022}\n {endif}\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 X100 Y0 F24000\n M400\n ;G130 O0 X100 Y-0.4 Z0.6 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E20 D5\n G130 O0 X100 Y-0.2 Z0.6 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E12 D4\nG90\n G90\n M83\n G1 Z0.5\n M400\n;===== noozle load line end ===========================\nM1002 gcode_claim_action : 0\n G29.99\n\n;M993 A1 B1 C1 ; nozzle cam detection allowed.\n\nM620.6 I[initial_no_support_extruder] H[initial_no_support_hotend] W1 ;enable ams air printing detect\n\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\")}\nM1015.3 S1 H[nozzle_diameter];enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\nM400 P50\nM500 D1\n", + "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\n;======== X2D start gcode==========\n;===== 2026/05/08 =====\n\n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n M400\n ;M73 P99\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B9 L50 C61 D9 M50 E61 F9 N50 \nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B18 L50 C61 D18 M50 E61 F18 N50 \nM1006 W\n;=====printer start sound ===================\n\n M1012.1 T1100\n M620 M ;enable remap\n M622.1 S0\n G383.4\n \n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n M220 S100 ;Reset Feedrate\n M1002 set_gcode_claim_speed_level: 5\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M982.2 S1 ; turn on cog noise reduction\n;===== reset machine status =================\n\n;==== set airduct mode ==== \n{if (overall_chamber_temperature >= 40)}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S0 ; turn off auxiliary fan\nM106 P10 S255 ; turn on filter fan\n{else}\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P10 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\n;M140 S0 ; stop heatbed from heating\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on auxiliary fan\nM106 P10 S102 ; turn on chamber fan\nM142 P6 R30 S40 U0.6 V0.8 ; set PLA/TPU/PETG exhaust chamber autocooling\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n M1002 gcode_claim_action : 2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]} \n \n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n;===== set chamber temperature ==========\n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n G28 X T300 R\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G150.3\n M972 S24 P0\n M1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\n M972 S26 P0 C0\n G90\n M83\n G1 Y128 F30000\n G1 X128\n G28 Z P0 T400\n M400\n;===== first homign end =====\n\n;===== detection start =====\n M1002 gcode_claim_action : 11\n\n M104 S0 T0\n M104 S0 T1\n M562 P1 E0 B1\n M562 P2 E0 B1\n M18 E\n M400 P200\n M1028 S1\n M972 S19 P0 ;heatbed detection\n M972 S31 P0 ;toolhead camera dirt detection\n M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 ;print plate deviation detection\n M1028 S0\n M562 P1 E1 B1\n M562 P2 E1 B1\n M17 D\n\n ;M400\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} T{filament_map[initial_no_support_extruder] % 2} ; rise temp in advance\n G151 P{filament_map[initial_no_support_extruder] % 2} M ; plug the heat nozzle\n {if max_print_z >= 145}\n M1002 gcode_claim_action : 75 ; Detect obstacles at the botton of the heated bed\n G3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n {endif}\n;===== detection end =====\n\n;===== prepare print temperature and material ==========\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-40} A ; rise temp in advance\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n M975 S1 ; turn on input shaping\n \n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG\")) && (nozzle_diameter[initial_no_support_extruder] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{endif}\n \n M620.11 P0 L0 I[initial_no_support_extruder] B[initial_no_support_hotend] E0\n M620.11 K0 I[initial_no_support_extruder] B[initial_no_support_hotend] R0\n\n M620 S[initial_no_support_extruder]A H[initial_no_support_hotend] B ; switch material if AMS exist\n M620.22 I[initial_no_support_extruder] P1 ; enable remote extruder runout auto purge.\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_extruder] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M621 S[initial_no_support_extruder]A B\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n;===== prepare print temperature and material ==========\n\n;===== auto extrude cali start =========================\n M975 S1\n M1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n;===== auto extrude cali end =========================\n\n {if hold_chamber_temp_for_flat_print}\n G150.3\n M1002 gcode_claim_action : 58\n M104 S{first_layer_temperature[initial_no_support_extruder]}\n {if bed_temperature_initial_layer_single > 89}\n {if overall_chamber_temperature < 40}\n M1030 S1200\n SYNC R0 T1200\n {else}\n M1030 S600\n SYNC R0 T600\n {endif} \n {else}\n M1030 S300\n SYNC R0 T300\n {endif}\n M1030 C\n {endif}\n\n {if filament_type[current_extruder] == \"TPU\" || filament_type[current_extruder] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G150.2\n G150.1 F8000\n G150.2\n G150.1 F8000\n\n G91\n G1 Y-16 F12000 ; move away from the trash bin\n G90\n M400\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} A\n\n;===== wipe right nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n;===== wipe left nozzle end =====\n\n{if filament_type[current_extruder] == \"PC\"}\n M109 S170 A\n{else}\n M109 S140 A\n{endif}\n M106 S0 ; turn off fan , too noisy\n G91\n G1 Z5 F1200\n G90\n M400\n G150.1\n\n{if (overall_chamber_temperature >= 40)}\nM1002 gcode_claim_action : 49\nM191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\n;===== z ofst cali start =====\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n G383 O0 M1 T140\n M400\n;===== z ofst cali end =====\nG90\nM83\nG0 Y200 F18000\n\n;===== bed leveling ==================================\n M1002 gcode_claim_action : 54\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n M109 S140 A\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n \n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n\n M622 J0\n G28 R\n M623\n G29.2 S1\n;===== bed leveling end ================================\n\n; cali eddy z pos\n;G383.13 T1 C1\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} A\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 X128 Y128 F20000\n G1 Z5 F1200\n M400 P200\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n M970.3 Q0 A7 K0 O1\n M974 Q0 S2 P0\n M975 S1\n M400\n;===== mech mode sweep end =====\n\nM104 S[nozzle_temperature_initial_layer] A\nG150.3\n\n M400 P50\n M500 D1\n M400 S3\n;===== xy ofst cali start =====\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J0\n M1012.5 N1 R1\nM623\n\nM622 J1\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n M620 D[initial_no_support_hotend]\n G383 O1 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M141 S[overall_chamber_temperature]\nM623\n\nM622 J2\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n M620 D[initial_no_support_hotend]\n G383.3 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M141 S[overall_chamber_temperature]\nM623\n;===== xy ofst cali end =====\n\n M104 S[nozzle_temperature_initial_layer] A\n\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n M140 S[bed_temperature_initial_layer_single] \n M190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n \n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n M983.4 S0 ; turn off deformation compensation \n\n;============switch again==================\n M211 X0 Y0 Z0 ;turn off soft endstop\n G91\n G1 Z6 F1200\n G90\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M620 S[initial_no_support_extruder]A H[initial_no_support_hotend] B\n M620.22 I[initial_no_support_extruder] P1 ; enable remote extruder runout auto purge.\n M400\n T[initial_no_support_extruder] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M621 S[initial_no_support_extruder]A B\n;============switch again==================\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if bed_temperature_initial_layer_single > 70}\n {if curr_bed_type=='Textured PEI Plate'}\n G29.1 Z{-0.003} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.017}\n {endif}\n {else}\n {if curr_bed_type=='Textured PEI Plate'}\n G29.1 Z{0.002} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.022}\n {endif}\n {endif}\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 X100 Y0 F24000\n M400\n ;G130 O0 X100 Y-0.4 Z0.6 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E20 D5\n G130 O0 X100 Y-0.2 Z0.6 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E12 D4\nG90\n G90\n M83\n G1 Z1\n M400\n;===== noozle load line end ===========================\nM1002 gcode_claim_action : 0\n G29.99\n\n;M993 A1 B1 C1 ; nozzle cam detection allowed.\n\nM620.6 I[initial_no_support_extruder] H[initial_no_support_hotend] W1 ;enable ams air printing detect\n\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\")}\nM1015.3 S1 H[nozzle_diameter];enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n", "time_lapse_gcode": ";======== X2D timelapse gcode ========\n;======== 2025/08/15 ========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firware, default turned on\n\nM1002 judge_flag timelapse_record_flag\n\nM622 J1\n\n{if !spiral_mode && !(has_timelapse_safe_pos && print_sequence != \"by object\") }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n{endif}\n\n{if has_timelapse_safe_pos && print_sequence != \"by object\"}\nM9711 M{timelapse_type} E{most_used_physical_extruder_id} X{timelapse_pos_x} Y{timelapse_pos_y} Z{layer_z + 0.4} S11 C10 O0 T3000\n{else}\nM9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + 0.4} S11 C10 O0 T3000\n{endif}\n\n{if !spiral_mode && !(has_timelapse_safe_pos && print_sequence != \"by object\") }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n M83\n G1 Z{max_layer_z + 3.0} F1200\n G0 F18000\n {endif}\n{endif}\n\nM623\n; SKIPPABLE_END\n", "nozzle_diameter": [ "0.4", From 3a8dfeaa08bb27c6d5e61c0df95e9eb0a00cb634 Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Sun, 31 May 2026 13:55:14 +0300 Subject: [PATCH 42/69] Preview sliders overhaul (#13919) * Make preview slider labels draggable Add label hit testing and delta-based dragging for the vertical preview slider labels. Keep label drags tied to the selected handle, prevent slider hover/timeline/menu handling from stealing label interactions, and keep value setters from changing the active selection implicitly. * Refresh preview slider visuals Update preview slider rails, handles, and labels for the refreshed light and dark theme appearance. Apply the same visual language to the horizontal slider, align single-layer and multi-layer labels, and remove obsolete triangle label geometry. --- src/slic3r/GUI/IMSlider.cpp | 400 +++++++++++++++++++++++------------- 1 file changed, 262 insertions(+), 138 deletions(-) diff --git a/src/slic3r/GUI/IMSlider.cpp b/src/slic3r/GUI/IMSlider.cpp index d5945a2c1a..8a999d85f5 100644 --- a/src/slic3r/GUI/IMSlider.cpp +++ b/src/slic3r/GUI/IMSlider.cpp @@ -2,6 +2,7 @@ #include "libslic3r/GCode.hpp" #include "GUI_App.hpp" #include "NotificationManager.hpp" +#include "Widgets/StateColor.hpp" #ifndef IMGUI_DEFINE_MATH_OPERATORS #define IMGUI_DEFINE_MATH_OPERATORS #endif @@ -30,7 +31,6 @@ static const ImU32 GROOVE_COLOR_DARK = IM_COL32(45, 45, 49, 255); static const ImU32 GROOVE_COLOR_LIGHT = IM_COL32(206, 206, 206, 255); static const ImU32 BRAND_COLOR = IM_COL32(0, 150, 136, 255); - static int m_tick_value = -1; static ImVec4 m_tick_rect; @@ -178,7 +178,6 @@ int IMSlider::GetActiveValue() const void IMSlider::SetLowerValue(const int lower_val) { - m_selection = ssLower; m_lower_value = lower_val; correct_lower_value(); set_as_dirty(); @@ -186,7 +185,6 @@ void IMSlider::SetLowerValue(const int lower_val) void IMSlider::SetHigherValue(const int higher_val) { - m_selection = ssHigher; m_higher_value = higher_val; correct_higher_value(); set_as_dirty(); @@ -455,7 +453,7 @@ bool IMSlider::switch_one_layer_mode() m_is_one_layer = !m_is_one_layer; if (!m_is_one_layer) { // DEACTIVATE - m_one_layer_value = GetHigherValue(); // ORCA Backup value on deactivate + m_one_layer_value = GetHigherValue(); // ORCA Backup value on deactivate SetLowerValue(m_min_value); SetHigherValue(m_max_value); // Higher value resets on toggling off one layer mode to show whole model }else{ // ACTIVATE @@ -465,11 +463,10 @@ bool IMSlider::switch_one_layer_mode() SetHigherValue(m_one_layer_value); } else if(GetHigherValue() == m_max_value) // ORCA Prefer backup value if higher value reseted - SetHigherValue(m_one_layer_value); // ORCA Restore value + SetHigherValue(m_one_layer_value); // ORCA Restore value else // ORCA Prefer higher value if user changed higher value. so it will show section on same view SetHigherValue(GetHigherValue()); // ORCA use same position with higher value if user changed its position. visible section stays same when switching one layer mode with this } - m_selection == ssLower ? correct_lower_value() : correct_higher_value(); if (m_selection == ssUndef) m_selection = ssHigher; set_as_dirty(); return true; @@ -503,15 +500,23 @@ bool IMSlider::horizontal_slider(const char* str_id, int* value, int v_min, int const float handle_radius = 12.0f * m_scale; const float handle_border = 2.0f * m_scale; - - const float text_frame_rounding = 2.0f * scale * m_scale; const float text_start_offset = 8.0f * m_scale; const ImVec2 text_padding = ImVec2(5.0f, 2.0f) * m_scale; - const float triangle_offsets[3] = {-3.5f * m_scale, 3.5f * m_scale, -6.06f * m_scale}; - const ImU32 white_bg = m_is_dark ? BACKGROUND_COLOR_DARK : BACKGROUND_COLOR_LIGHT; const ImU32 handle_clr = BRAND_COLOR; const ImU32 handle_border_clr = m_is_dark ? BACKGROUND_COLOR_DARK : BACKGROUND_COLOR_LIGHT; + const wxColour label_bg = StateColor::darkModeColorFor(wxGetApp().get_window_default_clr()); + const wxColour label_border = StateColor::darkModeColorFor(wxColour("#CECECE")); + const wxColour rail_inner_bg = m_is_dark ? StateColor::darkModeColorFor(wxColour("#CECECE")) : wxGetApp().get_highlight_default_clr(); + const wxColour rail_border = m_is_dark ? StateColor::darkModeColorFor(wxColour("#F0F0F1")) : wxColour("#CECECE"); + const ImU32 label_bg_clr = IM_COL32(label_bg.Red(), label_bg.Green(), label_bg.Blue(), 238); + const ImU32 label_border_clr = IM_COL32(label_border.Red(), label_border.Green(), label_border.Blue(), 255); + const ImU32 label_shadow_clr = m_is_dark ? IM_COL32(0, 0, 0, 84) : IM_COL32(0, 0, 0, 38); + ImVec4 range_fill = ImGui::ColorConvertU32ToFloat4(BRAND_COLOR); + range_fill.w = (m_is_dark ? 210.0f : 190.0f) / 255.0f; + const ImU32 range_fill_clr = ImGui::GetColorU32(range_fill); + const ImU32 rail_inner_clr = IM_COL32(rail_inner_bg.Red(), rail_inner_bg.Green(), rail_inner_bg.Blue(), 255); + const ImU32 rail_border_clr = IM_COL32(rail_border.Red(), rail_border.Green(), rail_border.Blue(), 190); // calculate groove size const ImVec2 groove_start = ImVec2(pos.x + handle_dummy_width, pos.y + size.y - ONE_LAYER_MARGIN.y * m_scale - (ONE_LAYER_BUTTON_SIZE.y / 2) * m_scale * 0.5f - GROOVE_WIDTH * m_scale * 0.5f); @@ -521,8 +526,8 @@ bool IMSlider::horizontal_slider(const char* str_id, int* value, int v_min, int const float mid_y = groove.GetCenter().y; // set mouse active region. active region. - bool hovered = ImGui::ItemHoverable(draw_region, id); - if (hovered && context.IO.MouseDown[0]) { + bool slider_hovered = ImGui::ItemHoverable(draw_region, id); + if (slider_hovered && context.IO.MouseDown[0]) { ImGui::SetActiveID(id, window); ImGui::SetFocusID(id, window); ImGui::FocusWindow(window); @@ -530,6 +535,9 @@ bool IMSlider::horizontal_slider(const char* str_id, int* value, int v_min, int // draw background draw_background_and_groove(bg_rect, groove); + window->DrawList->AddRect(groove.Min, groove.Max, rail_border_clr, 0.5f * groove.GetHeight(), 0, 1.0f * m_scale); + const ImRect rail_inner(groove.Min + ImVec2(2.0f, 2.0f) * m_scale, groove.Max - ImVec2(2.0f, 2.0f) * m_scale); + window->DrawList->AddRectFilled(rail_inner.Min, rail_inner.Max, rail_inner_clr, 0.5f * rail_inner.GetHeight()); // set scrollable region const ImRect slideable_region = ImRect(bg_rect.Min + ImVec2(handle_radius, 0.0f), bg_rect.Max - ImVec2(handle_radius, 0.0f)); @@ -543,25 +551,29 @@ bool IMSlider::horizontal_slider(const char* str_id, int* value, int v_min, int ImVec2 handle_center = handle.GetCenter(); // draw scroll line - ImRect scroll_line = ImRect(groove.Min, ImVec2(handle_center.x, groove.Max.y)); - window->DrawList->AddRectFilled(scroll_line.Min, scroll_line.Max, handle_clr, 0.5f * GROOVE_WIDTH * m_scale); + ImRect scroll_line = ImRect(ImVec2(groove.Min.x, groove.Min.y - 2.0f * m_scale), + ImVec2(handle_center.x, groove.Max.y + 2.0f * m_scale)); + window->DrawList->AddRectFilled(scroll_line.Min, scroll_line.Max, range_fill_clr, 0.5f * scroll_line.GetHeight()); // draw handle + window->DrawList->AddCircleFilled(handle_center, handle_radius + 2.0f * m_scale, handle_border_clr); window->DrawList->AddCircleFilled(handle_center, handle_radius, handle_border_clr); window->DrawList->AddCircleFilled(handle_center, handle_radius - handle_border, handle_clr); + window->DrawList->AddCircle(handle_center, handle_radius + 3.0f * m_scale, handle_clr, 0, 2.0f * m_scale); // draw label - auto text_utf8 = into_u8(std::to_string(*value)); - ImVec2 text_content_size = ImGui::CalcTextSize(text_utf8.c_str()); + const std::string value_label = std::to_string(*value); + const ImVec2 text_content_size = ImGui::CalcTextSize(value_label.c_str()); ImVec2 text_size = text_content_size + text_padding * 2; ImVec2 text_start = ImVec2(handle_center.x + handle_radius + text_start_offset, handle_center.y - 0.5 * text_size.y); ImRect text_rect(text_start, text_start + text_size); - ImGui::RenderFrame(text_rect.Min, text_rect.Max, white_bg, false, text_frame_rounding); - ImVec2 pos_1 = ImVec2(text_rect.Min.x, text_rect.GetCenter().y + triangle_offsets[0]); - ImVec2 pos_2 = ImVec2(text_rect.Min.x, text_rect.GetCenter().y + triangle_offsets[1]); - ImVec2 pos_3 = ImVec2(text_rect.Min.x + triangle_offsets[2], text_rect.GetCenter().y); - window->DrawList->AddTriangleFilled(pos_1, pos_2, pos_3, white_bg); - ImGui::RenderText(text_start + text_padding, std::to_string(*value).c_str()); + const float label_rounding = 5.0f * m_scale; + const ImVec2 shadow_offset = ImVec2(2.0f, 2.0f) * m_scale; + window->DrawList->AddRectFilled(text_rect.Min + shadow_offset, text_rect.Max + shadow_offset, label_shadow_clr, label_rounding); + ImGui::RenderFrame(text_rect.Min, text_rect.Max, label_bg_clr, false, label_rounding); + window->DrawList->AddRect(text_rect.Min, text_rect.Max, label_border_clr, label_rounding, 0, 1.0f * m_scale); + ImGui::RenderText(text_rect.Min + ImVec2((text_size.x - text_content_size.x) * 0.5f, + (text_size.y - text_content_size.y) * 0.5f), value_label.c_str()); return value_changed; } @@ -881,18 +893,27 @@ bool IMSlider::vertical_slider(const char* str_id, int* higher_value, int* lower const float handle_border = 2.0f * m_scale; const float line_width = 1.0f * m_scale; const float line_length = 12.0f * m_scale; - const float one_handle_offset = 26.0f * m_scale; - const float bar_width = 28.0f * m_scale; - const float text_frame_rounding = 2.0f * scale * m_scale; const ImVec2 text_padding = ImVec2(5.0f, 2.0f) * m_scale; - const ImVec2 triangle_offsets[3] = {ImVec2(2.0f, 0.0f) * m_scale, ImVec2(0.0f, 8.0f) * m_scale, ImVec2(9.0f, 0.0f) * m_scale}; - ImVec2 text_content_size; ImVec2 text_size; const ImU32 white_bg = m_is_dark ? BACKGROUND_COLOR_DARK : BACKGROUND_COLOR_LIGHT; const ImU32 handle_clr = BRAND_COLOR; const ImU32 handle_border_clr = m_is_dark ? BACKGROUND_COLOR_DARK : BACKGROUND_COLOR_LIGHT; + const wxColour label_bg = StateColor::darkModeColorFor(wxGetApp().get_window_default_clr()); + const wxColour label_bg_active = StateColor::darkModeColorFor(wxColour("#E5F0EE")); + const wxColour label_border = StateColor::darkModeColorFor(wxColour("#CECECE")); + const wxColour rail_inner_bg = m_is_dark ? StateColor::darkModeColorFor(wxColour("#CECECE")) : wxGetApp().get_highlight_default_clr(); + const wxColour rail_border = m_is_dark ? StateColor::darkModeColorFor(wxColour("#F0F0F1")) : wxColour("#CECECE"); + const ImU32 label_bg_clr = IM_COL32(label_bg.Red(), label_bg.Green(), label_bg.Blue(), 238); + const ImU32 label_bg_active_clr = IM_COL32(label_bg_active.Red(), label_bg_active.Green(), label_bg_active.Blue(), 246); + const ImU32 label_border_clr = IM_COL32(label_border.Red(), label_border.Green(), label_border.Blue(), 255); + const ImU32 label_shadow_clr = m_is_dark ? IM_COL32(0, 0, 0, 84) : IM_COL32(0, 0, 0, 38); + ImVec4 range_fill = ImGui::ColorConvertU32ToFloat4(BRAND_COLOR); + range_fill.w = (m_is_dark ? 210.0f : 190.0f) / 255.0f; + const ImU32 range_fill_clr = ImGui::GetColorU32(range_fill); + const ImU32 rail_inner_clr = IM_COL32(rail_inner_bg.Red(), rail_inner_bg.Green(), rail_inner_bg.Blue(), 255); + const ImU32 rail_border_clr = IM_COL32(rail_border.Red(), rail_border.Green(), rail_border.Blue(), 190); // calculate slider groove size const ImVec2 groove_start = ImVec2(pos.x + size.x - ONE_LAYER_MARGIN.x * m_scale - (ONE_LAYER_BUTTON_SIZE.x / 2) * m_scale * 0.5f - GROOVE_WIDTH * m_scale * 0.5f, pos.y + text_dummy_height); const ImVec2 groove_size = ImVec2(GROOVE_WIDTH * m_scale, size.y - 2 * text_dummy_height); @@ -900,22 +921,9 @@ bool IMSlider::vertical_slider(const char* str_id, int* higher_value, int* lower const ImRect bg_rect = ImRect(groove.Min - ImVec2(6.0f, 6.0f) * m_scale, groove.Max + ImVec2(6.0f, 6.0f) * m_scale); const float mid_x = groove.GetCenter().x; // ORCA: tune label box width to fit the slider window without overlapping the groove. - const float label_extra_padding = 10.0f * m_scale; - const float one_layer_extra_padding = 6.0f * m_scale; + const float label_width_margin = 10.0f * m_scale; const float max_label_width = std::max(0.0f, - groove.Min.x - draw_region.Min.x - triangle_offsets[2].x - text_padding.x * 2.0f - label_extra_padding); - - // set mouse active region. - const ImRect active_region = ImRect(ImVec2(draw_region.Min.x + 35.0f * m_scale, draw_region.Min.y), draw_region.Max); - bool hovered = ImGui::ItemHoverable(active_region, id) && !ImGui::ItemHoverable(m_tick_rect, id); - if (hovered && context.IO.MouseDown[0]) { - ImGui::SetActiveID(id, window); - ImGui::SetFocusID(id, window); - ImGui::FocusWindow(window); - } - - // draw background - draw_background_and_groove(bg_rect, groove); + groove.Min.x - draw_region.Min.x - label_width_margin * 2.0f - text_padding.x * 2.0f); // Processing interacting // set scrollable region @@ -931,34 +939,162 @@ bool IMSlider::vertical_slider(const char* str_id, int* higher_value, int* lower float lower_handle_pos = get_pos_from_value(v_min, v_max, *lower_value, lower_slideable_region); ImRect lower_handle = ImRect(mid_x - handle_radius, lower_handle_pos - handle_radius, mid_x + handle_radius, lower_handle_pos + handle_radius); - ImRect one_handle = ImRect(higher_handle.Min - ImVec2(one_handle_offset, 0), higher_handle.Max - ImVec2(one_handle_offset, 0)); + auto one_layer_handle = [&](int value) { + const float handle_pos = get_pos_from_value(v_min, v_max, value, one_slideable_region); + return ImRect(mid_x - handle_radius, handle_pos - handle_radius, + mid_x + handle_radius, handle_pos + handle_radius); + }; + ImRect one_handle; + if (one_layer_flag) + one_handle = one_layer_handle(*higher_value); + + // Label hit testing enables delta-based label drag without jumping to the mouse position. + SelectedSlider hovered_label = ssUndef; + const bool menu_open = ImGui::IsPopupOpen("slider_add_menu_popup") || ImGui::IsPopupOpen("slider_edit_menu_popup"); + const ImVec2 higher_text_content_size = ImGui::CalcTextSize(into_u8(higher_label).c_str()); + const ImVec2 lower_text_content_size = one_layer_flag ? ImVec2() : ImGui::CalcTextSize(into_u8(lower_label).c_str()); + auto label_hit = [&](const ImRect& label_rect, SelectedSlider selection_value) { + if (!label_rect.Contains(context.IO.MousePos)) + return; + hovered_label = selection_value; + }; + auto range_label_rect = [&](const ImRect& handle, const ImVec2& content_size, bool top_label) { + const ImVec2 text_size = ImVec2(max_label_width, content_size.y) + text_padding * 2.0f; + const ImVec2 text_start = ImVec2(handle.Min.x - text_size.x - label_width_margin, + top_label ? handle.GetCenter().y - text_size.y : handle.GetCenter().y); + return ImRect(text_start, text_start + text_size + ImVec2(label_width_margin, 0.0f)); + }; + auto one_layer_label_rect = [&](const ImRect& handle) { + const ImVec2 text_size = ImVec2(max_label_width, higher_text_content_size.y) + text_padding * 2.0f; + const ImVec2 text_start = ImVec2(handle.Min.x - text_size.x - label_width_margin, + handle.GetCenter().y - 0.5f * text_size.y); + return ImRect(text_start, text_start + text_size); + }; + auto draw_label = [&](const ImRect& rect, const ImVec2& content_size, const std::string& label, bool hovered, bool active) { + const float rounding = 5.0f * m_scale; + const ImU32 bg_clr = active ? label_bg_active_clr : label_bg_clr; + const ImVec2 shadow_offset = ImVec2(2.0f, 2.0f) * m_scale; + window->DrawList->AddRectFilled(rect.Min + shadow_offset, rect.Max + shadow_offset, label_shadow_clr, rounding); + ImGui::RenderFrame(rect.Min, rect.Max, bg_clr, false, rounding); + window->DrawList->AddRect(rect.Min, rect.Max, hovered ? handle_clr : label_border_clr, rounding, 0, hovered ? 1.5f * m_scale : 1.0f * m_scale); + const ImVec2 rect_size = rect.GetSize(); + ImGui::RenderText(rect.Min + ImVec2((rect_size.x - content_size.x) * 0.5f, + (rect_size.y - content_size.y) * 0.5f), label.c_str()); + }; + auto draw_handle = [&](const ImVec2& center) { + window->DrawList->AddCircleFilled(center, handle_radius, handle_border_clr); + window->DrawList->AddCircleFilled(center, handle_radius - handle_border, handle_clr); + }; + auto draw_active_handle = [&](const ImVec2& center) { + window->DrawList->AddCircleFilled(center, handle_radius + 2.0f * m_scale, handle_border_clr); + draw_handle(center); + window->DrawList->AddCircle(center, handle_radius + 3.0f * m_scale, handle_clr, 0, 2.0f * m_scale); + window->DrawList->AddLine(center + ImVec2(-0.5f * line_length, 0.0f), center + ImVec2(0.5f * line_length, 0.0f), white_bg, line_width); + window->DrawList->AddLine(center + ImVec2(0.0f, -0.5f * line_length), center + ImVec2(0.0f, 0.5f * line_length), white_bg, line_width); + }; + + // Prevent interaction with labels if slider add/edit menu is open + // or the mouse was pressed elsewhere and then dragged over them. + if (!menu_open && (!context.IO.MouseDown[0] || context.IO.MouseClicked[0])) { + if (!one_layer_flag) { + label_hit(range_label_rect(higher_handle, higher_text_content_size, true), ssHigher); + label_hit(range_label_rect(lower_handle, lower_text_content_size, false), ssLower); + } else { + label_hit(one_layer_label_rect(one_handle), ssHigher); + } + } + + // set mouse active region + const ImRect slider_active_region = ImRect(ImVec2(draw_region.Min.x + 35.0f * m_scale, draw_region.Min.y), draw_region.Max); + bool slider_hovered = !menu_open && ImGui::ItemHoverable(slider_active_region, id) && !ImGui::ItemHoverable(m_tick_rect, id) && hovered_label == ssUndef; + struct LabelDragState + { + ImGuiID id = 0; + SelectedSlider selection = ssUndef; + ImVec2 start_mouse; + int start_value = 0; + }; + // Persist the label that started the drag after the cursor leaves its rect. + static LabelDragState label_drag; + + if (hovered_label != ssUndef && context.IO.MouseClicked[0]) { + selection = hovered_label; + label_drag.id = id; + label_drag.selection = hovered_label; + label_drag.start_mouse = context.IO.MousePos; + label_drag.start_value = hovered_label == ssHigher ? *higher_value : *lower_value; + ImGui::SetActiveID(id, window); + ImGui::SetFocusID(id, window); + ImGui::FocusWindow(window); + } + if (slider_hovered && context.IO.MouseDown[0]) { + ImGui::SetActiveID(id, window); + ImGui::SetFocusID(id, window); + ImGui::FocusWindow(window); + } + + // draw background + draw_background_and_groove(bg_rect, groove); + window->DrawList->AddRect(groove.Min, groove.Max, rail_border_clr, 0.5f * groove.GetWidth(), 0, 1.0f * m_scale); + const ImRect rail_inner(groove.Min + ImVec2(2.0f, 2.0f) * m_scale, groove.Max - ImVec2(2.0f, 2.0f) * m_scale); + window->DrawList->AddRectFilled(rail_inner.Min, rail_inner.Max, rail_inner_clr, 0.5f * rail_inner.GetWidth()); bool value_changed = false; if (!one_layer_flag) { - // select higher handle by default - static bool h_selected = (selection == ssHigher); - if (ImGui::ItemHoverable(higher_handle, id) && context.IO.MouseClicked[0]) { - selection = ssHigher; - h_selected = true; - } - if (ImGui::ItemHoverable(lower_handle, id) && context.IO.MouseClicked[0]) { - selection = ssLower; - h_selected = false; + const SelectedSlider dragged_label = label_drag.id == id && context.IO.MouseDown[0] ? label_drag.selection : ssUndef; + if (dragged_label == ssUndef && !menu_open) { + if (ImGui::ItemHoverable(higher_handle, id) && context.IO.MouseClicked[0]) { + selection = ssHigher; + } + if (ImGui::ItemHoverable(lower_handle, id) && context.IO.MouseClicked[0]) { + selection = ssLower; + } } + bool h_selected = selection != ssLower; // update handle position and value - if (h_selected) - { - value_changed = slider_behavior(id, higher_slideable_region, v_min, v_max, - higher_value, &higher_handle, ImGuiSliderFlags_Vertical, - m_tick_value, m_tick_rect); - } - if (!h_selected) { - value_changed = slider_behavior(id, lower_slideable_region, v_min, v_max, - lower_value, &lower_handle, ImGuiSliderFlags_Vertical, - m_tick_value, m_tick_rect); + if (dragged_label != ssUndef) { + const ImRect& drag_region = dragged_label == ssHigher ? higher_slideable_region : lower_slideable_region; + const float region_height = drag_region.GetHeight(); + if (region_height > 0.0f) { + const float delta = context.IO.MousePos.y - label_drag.start_mouse.y; + const float value_delta = delta * (float)(v_max - v_min) / region_height; + const int new_value = (int)ImClamp((float)label_drag.start_value - value_delta, (float)v_min, (float)v_max); + if (dragged_label == ssHigher) { + value_changed = *higher_value != new_value; + *higher_value = new_value; + } else { + value_changed = *lower_value != new_value; + *lower_value = new_value; + } + } + h_selected = dragged_label == ssHigher; + if (dragged_label == ssHigher) { + higher_handle_pos = get_pos_from_value(v_min, v_max, *higher_value, higher_slideable_region); + higher_handle = ImRect(mid_x - handle_radius, higher_handle_pos - handle_radius, mid_x + handle_radius, higher_handle_pos + handle_radius); + } else { + lower_handle_pos = get_pos_from_value(v_min, v_max, *lower_value, lower_slideable_region); + lower_handle = ImRect(mid_x - handle_radius, lower_handle_pos - handle_radius, mid_x + handle_radius, lower_handle_pos + handle_radius); + } + } else { + if (h_selected) + { + value_changed = slider_behavior(id, higher_slideable_region, v_min, v_max, + higher_value, &higher_handle, ImGuiSliderFlags_Vertical, + m_tick_value, m_tick_rect); + } + if (!h_selected) { + value_changed = slider_behavior(id, lower_slideable_region, v_min, v_max, + lower_value, &lower_handle, ImGuiSliderFlags_Vertical, + m_tick_value, m_tick_rect); + } } + SelectedSlider active_label = ssUndef; + if (dragged_label != ssUndef) + active_label = dragged_label; + else if (context.ActiveId == id && context.IO.MouseDown[0]) + active_label = h_selected ? ssHigher : ssLower; ImVec2 higher_handle_center = higher_handle.GetCenter(); ImVec2 lower_handle_center = lower_handle.GetCenter(); @@ -978,10 +1114,10 @@ bool IMSlider::vertical_slider(const char* str_id, int* higher_value, int* lower } // judge whether to open menu - if (ImGui::ItemHoverable(h_selected ? higher_handle : lower_handle, id) && context.IO.MouseClicked[1]) + if (!menu_open && ImGui::ItemHoverable(h_selected ? higher_handle : lower_handle, id) && context.IO.MouseClicked[1]) m_show_menu = true; - if ((!ImGui::ItemHoverable(h_selected ? higher_handle : lower_handle, id) && context.IO.MouseClicked[1]) || - context.IO.MouseClicked[0]) + if (!menu_open && ((!ImGui::ItemHoverable(h_selected ? higher_handle : lower_handle, id) && context.IO.MouseClicked[1]) || + context.IO.MouseClicked[0])) m_show_menu = false; // draw ticks @@ -991,107 +1127,94 @@ bool IMSlider::vertical_slider(const char* str_id, int* higher_value, int* lower if (!m_ticks.has_tick_with_code(ToolChange)) { // draw scroll line - ImRect scroll_line = ImRect(ImVec2(groove.Min.x, higher_handle_center.y), ImVec2(groove.Max.x, lower_handle_center.y)); - window->DrawList->AddRectFilled(scroll_line.Min, scroll_line.Max, handle_clr); + ImRect scroll_line = ImRect(ImVec2(groove.Min.x - 2.0f * m_scale, higher_handle_center.y), + ImVec2(groove.Max.x + 2.0f * m_scale, lower_handle_center.y)); + window->DrawList->AddRectFilled(scroll_line.Min, scroll_line.Max, range_fill_clr, 0.5f * scroll_line.GetWidth()); } // draw handles - window->DrawList->AddCircleFilled(higher_handle_center, handle_radius, handle_border_clr); - window->DrawList->AddCircleFilled(higher_handle_center, handle_radius - handle_border, handle_clr); - window->DrawList->AddCircleFilled(lower_handle_center, handle_radius, handle_border_clr); - window->DrawList->AddCircleFilled(lower_handle_center, handle_radius - handle_border, handle_clr); - if (h_selected) { - window->DrawList->AddCircleFilled(higher_handle_center, handle_radius, handle_border_clr); - window->DrawList->AddCircleFilled(higher_handle_center, handle_radius - handle_border, handle_clr); - window->DrawList->AddLine(higher_handle_center + ImVec2(-0.5f * line_length, 0.0f), higher_handle_center + ImVec2(0.5f * line_length, 0.0f), white_bg, line_width); - window->DrawList->AddLine(higher_handle_center + ImVec2(0.0f, -0.5f * line_length), higher_handle_center + ImVec2(0.0f, 0.5f * line_length), white_bg, line_width); - } - if (!h_selected) { - window->DrawList->AddLine(lower_handle_center + ImVec2(-0.5f * line_length, 0.0f), lower_handle_center + ImVec2(0.5f * line_length, 0.0f), white_bg, line_width); - window->DrawList->AddLine(lower_handle_center + ImVec2(0.0f, -0.5f * line_length), lower_handle_center + ImVec2(0.0f, 0.5f * line_length), white_bg, line_width); - } + draw_handle(higher_handle_center); + draw_handle(lower_handle_center); + draw_active_handle(h_selected ? higher_handle_center : lower_handle_center); - // ORCA: render fixed-width label boxes - // draw higher label - auto text_utf8 = into_u8(higher_label); - text_content_size = ImGui::CalcTextSize(text_utf8.c_str()); - text_size = ImVec2(max_label_width, text_content_size.y) + text_padding * 2; - ImVec2 text_start = ImVec2(higher_handle.Min.x - text_size.x - triangle_offsets[2].x, higher_handle_center.y - text_size.y); - ImRect text_rect(text_start, text_start + text_size); - ImGui::RenderFrame(text_rect.Min, text_rect.Max, white_bg, false, text_frame_rounding); - ImVec2 pos_1 = text_rect.Max - triangle_offsets[0]; - ImVec2 pos_2 = pos_1 - triangle_offsets[1]; - ImVec2 pos_3 = pos_1 + triangle_offsets[2]; - window->DrawList->AddTriangleFilled(pos_1, pos_2, pos_3, white_bg); - ImGui::RenderText(text_start + ImVec2((text_size.x - text_content_size.x) * 0.5f, - (text_size.y - text_content_size.y) * 0.5f), higher_label.c_str()); - // draw lower label - text_utf8 = into_u8(lower_label); - text_content_size = ImGui::CalcTextSize(text_utf8.c_str()); - text_size = ImVec2(max_label_width, text_content_size.y) + text_padding * 2; - text_start = ImVec2(lower_handle.Min.x - text_size.x - triangle_offsets[2].x, lower_handle_center.y); - text_rect = ImRect(text_start, text_start + text_size); - ImGui::RenderFrame(text_rect.Min, text_rect.Max, white_bg, false, text_frame_rounding); - pos_1 = ImVec2(text_rect.Max.x, text_rect.Min.y) - triangle_offsets[0]; - pos_2 = pos_1 + triangle_offsets[1]; - pos_3 = pos_1 + triangle_offsets[2]; - window->DrawList->AddTriangleFilled(pos_1, pos_2, pos_3, white_bg); - ImGui::RenderText(text_start + ImVec2((text_size.x - text_content_size.x) * 0.5f, - (text_size.y - text_content_size.y) * 0.5f), lower_label.c_str()); + // ORCA: render fixed-width label boxes + // draw higher label + text_size = ImVec2(max_label_width, higher_text_content_size.y) + text_padding * 2; + ImVec2 text_start = ImVec2(higher_handle.Min.x - text_size.x - label_width_margin, higher_handle_center.y - text_size.y); + ImRect text_rect(text_start, text_start + text_size); + const bool higher_label_active = active_label == ssHigher; + draw_label(text_rect, higher_text_content_size, higher_label, + hovered_label == ssHigher || higher_label_active, higher_label_active); + // draw lower label + text_size = ImVec2(max_label_width, lower_text_content_size.y) + text_padding * 2; + text_start = ImVec2(lower_handle.Min.x - text_size.x - label_width_margin, lower_handle_center.y); + text_rect = ImRect(text_start, text_start + text_size); + const bool lower_label_active = active_label == ssLower; + draw_label(text_rect, lower_text_content_size, lower_label, + hovered_label == ssLower || lower_label_active, lower_label_active); // draw mouse position - if (hovered) { + if (slider_hovered && !context.IO.MouseDown[0]) { draw_tick_on_mouse_position(h_selected ? higher_slideable_region : lower_slideable_region); } } if (one_layer_flag) { // update handle position - value_changed = slider_behavior(id, one_slideable_region, v_min, v_max, - higher_value, &one_handle, ImGuiSliderFlags_Vertical, - m_tick_value, m_tick_rect); + const SelectedSlider dragged_label = label_drag.id == id && context.IO.MouseDown[0] ? label_drag.selection : ssUndef; + if (dragged_label == ssHigher) { + const float region_height = one_slideable_region.GetHeight(); + if (region_height > 0.0f) { + const float delta = context.IO.MousePos.y - label_drag.start_mouse.y; + const float value_delta = delta * (float)(v_max - v_min) / region_height; + const int new_value = (int)ImClamp((float)label_drag.start_value - value_delta, (float)v_min, (float)v_max); + value_changed = *higher_value != new_value; + *higher_value = new_value; + } + one_handle = one_layer_handle(*higher_value); + } else { + value_changed = slider_behavior(id, one_slideable_region, v_min, v_max, + higher_value, &one_handle, ImGuiSliderFlags_Vertical, + m_tick_value, m_tick_rect); + } ImVec2 handle_center = one_handle.GetCenter(); // judge whether to open menu - if (ImGui::ItemHoverable(one_handle, id) && context.IO.MouseClicked[1]) + if (!menu_open && ImGui::ItemHoverable(one_handle, id) && context.IO.MouseClicked[1]) m_show_menu = true; - if ((!ImGui::ItemHoverable(one_handle, id) && context.IO.MouseClicked[1]) || - context.IO.MouseClicked[0]) + if (!menu_open && ((!ImGui::ItemHoverable(one_handle, id) && context.IO.MouseClicked[1]) || + context.IO.MouseClicked[0])) m_show_menu = false; - ImVec2 bar_center = higher_handle.GetCenter(); - // draw ticks draw_ticks(one_slideable_region); // draw colored band draw_colored_band(groove, one_slideable_region); // draw handle - window->DrawList->AddLine(ImVec2(mid_x - 0.5 * bar_width, handle_center.y), ImVec2(mid_x + 0.5 * bar_width, handle_center.y), handle_clr, 2 * line_width); - window->DrawList->AddCircleFilled(handle_center, handle_radius, handle_border_clr); - window->DrawList->AddCircleFilled(handle_center, handle_radius - handle_border, handle_clr); - window->DrawList->AddLine(handle_center + ImVec2(-0.5f * line_length, 0.0f), handle_center + ImVec2(0.5f * line_length, 0.0f), white_bg, line_width); - window->DrawList->AddLine(handle_center + ImVec2(0.0f, -0.5f * line_length), handle_center + ImVec2(0.0f, 0.5f * line_length), white_bg, line_width); + draw_active_handle(handle_center); // draw label - auto text_utf8 = into_u8(higher_label); - text_content_size = ImGui::CalcTextSize(text_utf8.c_str()); - // ORCA: slightly narrower label box in one-layer mode to avoid left shift. - text_size = ImVec2(std::max(0.0f, max_label_width - label_extra_padding - one_layer_extra_padding), - text_content_size.y) + text_padding * 2; - ImVec2 text_start = ImVec2(one_handle.Min.x - text_size.x, handle_center.y - 0.5 * text_size.y); + text_size = ImVec2(max_label_width, higher_text_content_size.y) + text_padding * 2; + ImVec2 text_start = ImVec2(one_handle.Min.x - text_size.x - label_width_margin, handle_center.y - 0.5 * text_size.y); ImRect text_rect = ImRect(text_start, text_start + text_size); - ImGui::RenderFrame(text_rect.Min, text_rect.Max, white_bg, false, text_frame_rounding); - ImGui::RenderText(text_start + ImVec2((text_size.x - text_content_size.x) * 0.5f, - (text_size.y - text_content_size.y) * 0.5f), higher_label.c_str()); + const bool label_active = context.ActiveId == id && context.IO.MouseDown[0]; + draw_label(text_rect, higher_text_content_size, higher_label, hovered_label == ssHigher || label_active, label_active); // draw mouse position - if (hovered) { + if (slider_hovered && !context.IO.MouseDown[0]) { draw_tick_on_mouse_position(one_slideable_region); } } + if (!context.IO.MouseDown[0] && label_drag.id == id) { + label_drag.id = 0; + label_drag.selection = ssUndef; + if (context.ActiveId == id) + ImGui::ClearActiveID(); + } + return value_changed; } @@ -1130,8 +1253,6 @@ bool IMSlider::render(int canvas_width, int canvas_height) imgui.set_next_window_pos(canvas_width, 0.5f * static_cast(canvas_height), ImGuiCond_Always, 1.0f, 0.5f); imgui.begin(std::string("laysers_slider"), windows_flag); - render_menu(); - int higher_value = GetHigherValue(); int lower_value = GetLowerValue(); std::string higher_label = get_label(m_higher_value); @@ -1146,6 +1267,7 @@ bool IMSlider::render(int canvas_width, int canvas_height) SetLowerValue(lower_value); result = true; } + render_menu(); imgui.end(); imgui.set_next_window_pos(canvas_width, canvas_height, ImGuiCond_Always, 1.0f, 1.0f); @@ -1362,8 +1484,10 @@ void IMSlider::render_add_menu() { int extruder_num = m_extruder_colors.size(); - if (m_show_menu) + if (m_show_menu) { ImGui::OpenPopup("slider_add_menu_popup"); + m_show_menu = false; + } if (ImGui::BeginPopup("slider_add_menu_popup")) { bool menu_item_enable = m_draw_mode != dmSequentialFffPrint; bool hovered = false; @@ -1415,8 +1539,10 @@ void IMSlider::render_add_menu() void IMSlider::render_edit_menu(const TickCode& tick) { - if (m_show_menu) + if (m_show_menu) { ImGui::OpenPopup("slider_edit_menu_popup"); + m_show_menu = false; + } if (ImGui::BeginPopup("slider_edit_menu_popup")) { switch (tick.type) { @@ -1700,5 +1826,3 @@ std::array IMSlider::get_active_extruders_for_tick(int tick) const } } // Slic3r - - From 1644d49ae1c413a543bbf8b5a2b5630603b05859 Mon Sep 17 00:00:00 2001 From: yw4z Date: Sun, 31 May 2026 15:16:29 +0300 Subject: [PATCH 43/69] Fix non functional OBJ import dialog on linux (#13914) --- src/slic3r/GUI/ObjColorDialog.cpp | 38 +++++++++++++++++++------------ 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/src/slic3r/GUI/ObjColorDialog.cpp b/src/slic3r/GUI/ObjColorDialog.cpp index fc5c734148..a8ef3f046f 100644 --- a/src/slic3r/GUI/ObjColorDialog.cpp +++ b/src/slic3r/GUI/ObjColorDialog.cpp @@ -229,7 +229,7 @@ ObjColorPanel::ObjColorPanel(wxWindow *parent, Slic3r::ObjDialogInOut &in_out, c specify_color_cluster_title->SetFont(Label::Head_14); specify_cluster_sizer->Add(specify_color_cluster_title, 0, wxALIGN_CENTER | wxALL, FromDIP(5)); - m_color_cluster_num_by_user_ebox = new SpinInput(m_page_simple, "", wxEmptyString, wxDefaultPosition, wxSize(FromDIP(45), -1), wxTE_PROCESS_ENTER); + m_color_cluster_num_by_user_ebox = new SpinInput(m_page_simple, "", wxEmptyString, wxDefaultPosition, wxSize(FromDIP(60), -1), wxTE_PROCESS_ENTER); m_color_cluster_num_by_user_ebox->SetValue(std::to_string(m_color_cluster_num_by_algo).c_str()); m_color_cluster_num_by_user_ebox->SetToolTip(_L("Enter or click the adjustment button to modify number again")); {//event @@ -284,11 +284,8 @@ ObjColorPanel::ObjColorPanel(wxWindow *parent, Slic3r::ObjDialogInOut &in_out, c } } - wxStaticText *combox_title = new wxStaticText(m_page_simple, wxID_ANY, _L("view"), wxPoint(FromDIP(216), FromDIP(312))); - // combox_title->SetTransparent(true); - combox_title->SetBackgroundColour(wxColour(240, 240, 240, 0)); - combox_title->SetForegroundColour(wxColour(107, 107, 107, 100)); - auto cur_combox = new ComboBox(m_page_simple, wxID_ANY, wxEmptyString, wxPoint(FromDIP(250), FromDIP(310)), wxSize(FromDIP(100), -1), 0, NULL, wxCB_READONLY); + wxStaticText *combox_title = new wxStaticText(m_page_simple, wxID_ANY, _L("view")); + auto cur_combox = new ComboBox(m_page_simple, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(FromDIP(100), -1), 0, NULL, wxCB_READONLY); wxArrayString choices = get_all_camera_view_type(); for (size_t i = 0; i < choices.size(); i++) { cur_combox->Append(choices[i]); } cur_combox->SetSelection(0); @@ -310,11 +307,18 @@ ObjColorPanel::ObjColorPanel(wxWindow *parent, Slic3r::ObjDialogInOut &in_out, c wxBORDER_NONE | wxBU_AUTODRAW); m_image_button->SetBitmap(image); m_image_button->SetCanFocus(false); + #ifdef __WXGTK__ + RemoveButtonBorder(m_image_button); + #endif icon_sizer->Add(m_image_button, 0, wxEXPAND | wxALL, FromDIP(0)); // wxEXPAND | wxALL cur_combox->Raise();//for mac m_sizer_simple->Add(icon_sizer, FromDIP(0), wxALIGN_CENTER | wxALL, FromDIP(0)); + auto view_sizer = new wxBoxSizer(wxHORIZONTAL); + view_sizer->Add(combox_title, 0, wxALIGN_CENTER | wxALL, FromDIP(5)); + view_sizer->Add(cur_combox , 0, wxALIGN_CENTER | wxALL, FromDIP(5)); + m_sizer_simple->Add(view_sizer, 0, wxALIGN_RIGHT | wxRIGHT, FromDIP(20)); } wxBoxSizer * current_filaments_title_sizer = new wxBoxSizer(wxHORIZONTAL); wxStaticText *current_filaments_title = new wxStaticText(m_page_simple, wxID_ANY, _L("Current filament colors")); @@ -357,7 +361,7 @@ ObjColorPanel::ObjColorPanel(wxWindow *parent, Slic3r::ObjDialogInOut &in_out, c m_scrolledWindow->ShowScrollbars(wxScrollbarVisibility::wxSHOW_SB_NEVER, wxScrollbarVisibility::wxSHOW_SB_DEFAULT); draw_new_table(); - m_sizer_simple->Add(m_scrolledWindow, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(5)); + m_sizer_simple->Add(m_scrolledWindow, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(15)); //buttons wxBoxSizer *quick_set_sizer = new wxBoxSizer(wxHORIZONTAL); quick_set_sizer->AddSpacer(FromDIP(25)); @@ -522,9 +526,12 @@ wxBoxSizer *ObjColorPanel::create_reset_btn_sizer(wxWindow *parent) wxBoxSizer *ObjColorPanel::create_extruder_icon_and_rgba_sizer(wxWindow *parent, int id, const wxColour &color) { auto icon_sizer = new wxBoxSizer(wxHORIZONTAL); - wxButton *icon = new wxButton(parent, wxID_ANY, {}, wxDefaultPosition, ICON_SIZE, wxBORDER_NONE | wxBU_AUTODRAW); - icon->SetBitmap(*get_extruder_color_icon(color.GetAsString(wxC2S_HTML_SYNTAX).ToStdString(), std::to_string(id + 1), FromDIP(16), FromDIP(16))); + wxButton *icon = new wxButton(parent, wxID_ANY, {}, wxDefaultPosition, FromDIP(wxSize(20,20)), wxBORDER_NONE | wxBU_AUTODRAW); + icon->SetBitmap(*get_extruder_color_icon(color.GetAsString(wxC2S_HTML_SYNTAX).ToStdString(), std::to_string(id + 1), FromDIP(20), FromDIP(20))); icon->SetCanFocus(false); + #ifdef __WXGTK__ + RemoveButtonBorder(icon); + #endif m_extruder_icon_list.emplace_back(icon); icon_sizer->Add(icon, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 0); // wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM //icon_sizer->AddSpacer(FromDIP(5)); @@ -553,10 +560,10 @@ ComboBox *ObjColorPanel::CreateEditorCtrl(wxWindow *parent, int id) // wxRect la if (icons.empty()) return nullptr; - ::ComboBox *c_editor = new ::ComboBox(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(FromDIP(m_combox_width), -1), 0, nullptr, + ::ComboBox *c_editor = new ::ComboBox(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, nullptr, wxCB_READONLY | CB_NO_DROP_ICON | CB_NO_TEXT); - c_editor->SetMinSize(wxSize(FromDIP(m_combox_width), -1)); - c_editor->SetMaxSize(wxSize(FromDIP(m_combox_width), -1)); + c_editor->SetMinSize(wxSize(icon_width + FromDIP(8), -1)); // match size with bitmap + c_editor->SetMaxSize(wxSize(icon_width + FromDIP(8), -1)); // match size with bitmap c_editor->GetDropDown().SetUseContentWidth(false); for (size_t i = 0; i < icons.size(); i++) { c_editor->Append(wxString::Format("%d", i), *icons[i]); @@ -910,9 +917,12 @@ wxBoxSizer *ObjColorPanel::create_color_icon_map_rgba_sizer(wxWindow *parent, in { auto icon_sizer = new wxBoxSizer(wxHORIZONTAL); //icon_sizer->AddSpacer(FromDIP(40)); - wxButton *icon = new wxButton(parent, wxID_ANY, {}, wxDefaultPosition, ICON_SIZE, wxBORDER_NONE | wxBU_AUTODRAW); - icon->SetBitmap(*get_extruder_color_icon(color.GetAsString(wxC2S_HTML_SYNTAX).ToStdString(), "", FromDIP(16), FromDIP(16))); + wxButton *icon = new wxButton(parent, wxID_ANY, {}, wxDefaultPosition, FromDIP(wxSize(20,20)), wxBORDER_NONE | wxBU_AUTODRAW); + icon->SetBitmap(*get_extruder_color_icon(color.GetAsString(wxC2S_HTML_SYNTAX).ToStdString(), "", FromDIP(20), FromDIP(20))); icon->SetCanFocus(false); +#ifdef __WXGTK__ + RemoveButtonBorder(icon); +#endif m_color_cluster_icon_list.emplace_back(icon); icon_sizer->Add(icon, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 0); // wxALIGN_CENTER_VERTICAL | wxTOP | wxBOTTOM icon_sizer->AddSpacer(FromDIP(10)); From 8362eba19da2faa479a52cbeed370124f1deda76 Mon Sep 17 00:00:00 2001 From: Matias Fernandez Date: Sun, 31 May 2026 09:35:35 -0300 Subject: [PATCH 44/69] Remove redundant toolchange retraction/un-retraction during filament change in CC1 profile (#13456) * Fix: Disable redundant toolchange retraction for Elegoo Centauri Carbon Sets `retract_length_toolchange` to 0 in the Elegoo Centauri Carbon (ECC) machine profile. This resolves an issue where a massive filament blob would form on the prime tower immediately after resuming a manual filament change (M600). The blob was caused by a conflict between OrcaSlicer's default toolchange logic and Elegoo's hardcoded firmware behavior: - Elegoo's firmware (specifically the `cmd_PAUSE` and `cmd_RESUME` sequences) completely takes over pressure management during an M600. It performs its own initial 2mm retraction, a 120mm purge, and a silicone brush wipe, returning the print head to the prime tower perfectly primed. - Previously, Slicer was unaware of the firmware's priming and would issue a redundant 2mm un-retract (`G1 E2`) upon resume. Forcing 2mm of filament out of an already-full nozzle created the blob. By disabling the toolchange retraction (`0`), Slicer correctly hands off filament pressure management during an M600 entirely to the Elegoo firmware, preventing double-retractions and eliminating the blob. * fix errors after merging main --------- Co-authored-by: SoftFever --- .../Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json b/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json index 8c8823856b..a354e51d6f 100644 --- a/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json @@ -48,6 +48,9 @@ "extruder_offset": [ "0x0" ], + "retract_length_toolchange": [ + "0" + ], "default_bed_type": "4", "auto_toolchange_command": "0", "fan_speedup_time": "0.5", From 3cce9b09ede4b41481d7ae55dc642b594fc25a6a Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Sun, 31 May 2026 22:34:32 +0800 Subject: [PATCH 45/69] Cut: Make sure x offset is considered when checking multi dovetail (#13945) Make sure x offset is considered when checking multi dovetail (OrcaSlicer/OrcaSlicer#13940) --- src/slic3r/GUI/Gizmos/GLGizmoCut.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp index ea8d3c374f..d978c0d47f 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp @@ -793,6 +793,8 @@ indexed_triangle_set GLGizmoCut3D::its_make_groove_plane() indexed_triangle_set mesh; // handle multiple dovetails/grooves + m_groove_vertices.clear(); + m_groove_vertices.reserve(8 * groove_count); for (int i = 0; i < groove_count; ++i) { bool is_first_groove = i == 0; // when a groove is not the last groove, then limit the extent of the right plane so that it doesnt overlap the next groove bool is_last_groove = i == groove_count - 1; // do the same in reverse if a groove is not the first groove @@ -806,17 +808,14 @@ indexed_triangle_set GLGizmoCut3D::its_make_groove_plane() // Vertices of the groove used to detection if groove is valid (not used in mesh) { - m_groove_vertices.clear(); - m_groove_vertices.reserve(8); - - m_groove_vertices.emplace_back(Vec3f(-slot_neck_outer_x, -plane_half_height, slot_front_z).cast()); - m_groove_vertices.emplace_back(Vec3f(-slot_mouth_inner_x, plane_half_height, slot_front_z).cast()); - m_groove_vertices.emplace_back(Vec3f(-slot_mouth_outer_x, -plane_half_height, slot_back_z).cast()); - m_groove_vertices.emplace_back(Vec3f(-slot_neck_outer_x, plane_half_height, slot_back_z).cast()); - m_groove_vertices.emplace_back(Vec3f(slot_neck_outer_x, -plane_half_height, slot_front_z).cast()); - m_groove_vertices.emplace_back(Vec3f(slot_mouth_inner_x, plane_half_height, slot_front_z).cast()); - m_groove_vertices.emplace_back(Vec3f(slot_mouth_outer_x, -plane_half_height, slot_back_z).cast()); - m_groove_vertices.emplace_back(Vec3f(slot_neck_outer_x, plane_half_height, slot_back_z).cast()); + m_groove_vertices.emplace_back(Vec3f(-slot_neck_outer_x + offset_x, -plane_half_height, slot_front_z).cast()); + m_groove_vertices.emplace_back(Vec3f(-slot_mouth_inner_x + offset_x, plane_half_height, slot_front_z).cast()); + m_groove_vertices.emplace_back(Vec3f(-slot_mouth_outer_x + offset_x, -plane_half_height, slot_back_z).cast()); + m_groove_vertices.emplace_back(Vec3f(-slot_neck_outer_x + offset_x, plane_half_height, slot_back_z).cast()); + m_groove_vertices.emplace_back(Vec3f(slot_neck_outer_x + offset_x, -plane_half_height, slot_front_z).cast()); + m_groove_vertices.emplace_back(Vec3f(slot_mouth_inner_x + offset_x, plane_half_height, slot_front_z).cast()); + m_groove_vertices.emplace_back(Vec3f(slot_mouth_outer_x + offset_x, -plane_half_height, slot_back_z).cast()); + m_groove_vertices.emplace_back(Vec3f(slot_neck_outer_x + offset_x, plane_half_height, slot_back_z).cast()); } // ___ From 4d05ba0d02120ee5fba701bdc1033d9918a9f345 Mon Sep 17 00:00:00 2001 From: anjis Date: Mon, 1 Jun 2026 00:11:07 +0800 Subject: [PATCH 46/69] Support GIGA multi-printhead configuration options (#13901) * Support GIGA multi-printhead configuration options * Removed unused G-code comments. * Added parallel_printheads_count option to configure parallel printhead count. --------- Co-authored-by: SoftFever --- .../Elegoo OrangeStorm Giga 0.4 nozzle.json | 12 +++++++-- src/libslic3r/Preset.cpp | 2 +- src/libslic3r/PrintConfig.cpp | 20 +++++++++++++++ src/libslic3r/PrintConfig.hpp | 3 +++ src/slic3r/GUI/Field.hpp | 3 ++- src/slic3r/GUI/Tab.cpp | 25 +++++++++++++++++++ 6 files changed, 61 insertions(+), 4 deletions(-) diff --git a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json index 773a0e39fc..eca11e5cc3 100644 --- a/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EOSGIGA/Elegoo OrangeStorm Giga 0.4 nozzle.json @@ -24,6 +24,14 @@ "printer_variant": "0.4", "auxiliary_fan": "0", "bed_exclude_area": [], + "support_parallel_printheads": "1", + "parallel_printheads_count": "1", + "parallel_printheads_bed_exclude_areas": [ + "", + "400x0, 810x0, 810x805, 400x805", + "200x0, 810x0, 810x805, 200x805", + "200x0, 810x0, 810x805, 200x805" + ], "default_filament_profile": [ "Elegoo PLA @Elegoo Giga" ], @@ -96,8 +104,8 @@ "use_relative_e_distances": "0", "change_filament_gcode": "M600", "machine_pause_gcode": "M600", - "machine_start_gcode": ";===== START GCODE BEGIN =====\n;===== date: 20251231 =====================\n;Machine_use_extruders:{number_of_giga_printheads}\n;TIME:\nM400 ; wait for buffer to clear\n;[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type={curr_bed_type}\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\n;Giga zoned hot bed control\nM140 S0\n\n{if number_of_giga_printheads == 1}\n;Case 1\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n{if number_of_giga_printheads > 1}\n;Heat all 4 bed zones for multi-printhead\nM140 T0 S[bed_temperature_initial_layer_single]\nM140 T1 S[bed_temperature_initial_layer_single]\nM140 T2 S[bed_temperature_initial_layer_single]\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n\nG90\nG28 ;home\nG1 Z10 F300\n\n{if number_of_giga_printheads == 1}\nG1 X{print_bed_max[0]*0.75-50} Y0.5 F6000\n{endif}\n\n{if number_of_giga_printheads == 2}\nG1 X{print_bed_max[0]*0.25-50} Y0.5 F6000\n{endif}\n\n{if number_of_giga_printheads > 2}\nG1 X{print_bed_max[0]*0.125-50} Y0.5 F6000\n{endif}\n\n;\n;Giga zoned hot bed control\n{if number_of_giga_printheads == 1}\n;Case 1\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM190 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM190 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM190 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM190 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM190 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n{if number_of_giga_printheads > 1}\n;Wait for all 4 bed zones to reach temperature\nM190 T0 S[bed_temperature_initial_layer_single]\nM190 T1 S[bed_temperature_initial_layer_single]\nM190 T2 S[bed_temperature_initial_layer_single]\nM190 T3 S[bed_temperature_initial_layer_single]\n{endif}\nG1 Z0.4 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\n\n{if number_of_giga_printheads == 1}\nG1 X{print_bed_max[0]*0.75+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.75+47} F3000\n{endif}\n\n{if number_of_giga_printheads == 2}\nG1 X{print_bed_max[0]*0.25+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.25+47} F3000\n{endif}\n\n{if number_of_giga_printheads > 2}\nG1 X{print_bed_max[0]*0.125+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.125+47} F3000\n{endif}\n\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0\n", + "machine_start_gcode": ";===== START GCODE BEGIN =====\n;===== date: 20260528 =====================\n;Machine_use_extruders:{parallel_printheads_count}\nM400 ; wait for buffer to clear\n;[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type={curr_bed_type}\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\n;Giga zoned hot bed control\nM140 S0\n\n{if parallel_printheads_count == 1}\n;Case 1\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n{if parallel_printheads_count > 1}\n;Heat all 4 bed zones for multi-printhead\nM140 T0 S[bed_temperature_initial_layer_single]\nM140 T1 S[bed_temperature_initial_layer_single]\nM140 T2 S[bed_temperature_initial_layer_single]\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n\nG90\nG28 ;home\nG1 Z10 F300\n\n{if parallel_printheads_count == 1}\nG1 X{print_bed_max[0]*0.75-50} Y0.5 F6000\n{endif}\n\n{if parallel_printheads_count == 2}\nG1 X{print_bed_max[0]*0.25-50} Y0.5 F6000\n{endif}\n\n{if parallel_printheads_count > 2}\nG1 X{print_bed_max[0]*0.125-50} Y0.5 F6000\n{endif}\n\n;\n;Giga zoned hot bed control\n{if parallel_printheads_count == 1}\n;Case 1\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM190 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM190 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM190 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM190 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM190 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM190 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n{if parallel_printheads_count > 1}\n;Wait for all 4 bed zones to reach temperature\nM190 T0 S[bed_temperature_initial_layer_single]\nM190 T1 S[bed_temperature_initial_layer_single]\nM190 T2 S[bed_temperature_initial_layer_single]\nM190 T3 S[bed_temperature_initial_layer_single]\n{endif}\nG1 Z0.4 F300\nM109 S[nozzle_temperature_initial_layer]\nG92 E0 ;Reset Extruder\n\n{if parallel_printheads_count == 1}\nG1 X{print_bed_max[0]*0.75+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.75+47} F3000\n{endif}\n\n{if parallel_printheads_count == 2}\nG1 X{print_bed_max[0]*0.25+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.25+47} F3000\n{endif}\n\n{if parallel_printheads_count > 2}\nG1 X{print_bed_max[0]*0.125+50} E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X{print_bed_max[0]*0.125+47} F3000\n{endif}\n\nG92 E0 ;Reset Extruder\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0\n", "machine_end_gcode": ";PRINT_END\nG90 ;Absolute positionning\nM83 ; extruder relative mode\nG1 X30 Y30 Z{min(max_layer_z+200, printable_height)} E-5 F{travel_speed*60} ; Move print head up\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n", - "layer_change_gcode": ";===== LAYER CHANGE GCODE BEGIN =====\n;===== date: 20251230 =====================\n;LAYER:{layer_num+1}\n{if layer_num > 0 and layer_num < 3}\n;Giga zoned hot bed control\nM140 S0\n\n{if number_of_giga_printheads == 1}\n;Case 1\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n{if number_of_giga_printheads > 1}\n;Heat all 4 bed zones for multi-printhead\nM140 T0 S[bed_temperature_initial_layer_single]\nM140 T1 S[bed_temperature_initial_layer_single]\nM140 T2 S[bed_temperature_initial_layer_single]\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n\n{endif}" + "layer_change_gcode": ";===== LAYER CHANGE GCODE BEGIN =====\n;===== date: 20251230 =====================\n;LAYER:{layer_num+1}\n{if layer_num > 0 and layer_num < 3}\n;Giga zoned hot bed control\nM140 S0\n\n{if parallel_printheads_count == 1}\n;Case 1\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T0 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T1 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 2\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T3 S[bed_temperature_initial_layer_single]\n{if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 3\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5}\nM140 T1 S[bed_temperature_initial_layer_single]\n{if ((first_layer_print_max[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n;Case 4\n{if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5}\nM140 T2 S[bed_temperature_initial_layer_single]\n{endif}\n{endif}\n\n{if parallel_printheads_count > 1}\n;Heat all 4 bed zones for multi-printhead\nM140 T0 S[bed_temperature_initial_layer_single]\nM140 T1 S[bed_temperature_initial_layer_single]\nM140 T2 S[bed_temperature_initial_layer_single]\nM140 T3 S[bed_temperature_initial_layer_single]\n{endif}\n\n{endif}" } diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 4e7234d1bc..484283e5ea 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -1318,7 +1318,7 @@ static std::vector s_Preset_machine_limits_options { static std::vector s_Preset_printer_options { "printer_technology", - "printable_area", "extruder_printable_area", "bed_exclude_area","bed_custom_texture", "bed_custom_model", "gcode_flavor", + "printable_area", "extruder_printable_area", "support_parallel_printheads", "parallel_printheads_count", "parallel_printheads_bed_exclude_areas", "bed_exclude_area","bed_custom_texture", "bed_custom_model", "gcode_flavor", "fan_kickstart", "part_cooling_fan_min_pwm", "fan_speedup_time", "fan_speedup_overhangs", "single_extruder_multi_material", "manual_filament_change", "file_start_gcode", "machine_start_gcode", "machine_end_gcode", "before_layer_change_gcode", "printing_by_object_gcode", "layer_change_gcode", "time_lapse_gcode", "wrapping_detection_gcode", "change_filament_gcode", "change_extrusion_role_gcode", "printer_model", "printer_variant", "printer_extruder_id", "printer_extruder_variant", "extruder_variant_list", "default_nozzle_volume_type", diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 7c68e70b8f..552a884fd9 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -693,6 +693,26 @@ void PrintConfigDef::init_common_params() def->gui_type = ConfigOptionDef::GUIType::one_string; def->set_default_value(new ConfigOptionPointsGroups{}); + def = this->add("support_parallel_printheads", coBool); + def->label = L("Support parallel printheads"); + def->tooltip = L("Enable printer settings for machines that can use multiple printheads in parallel."); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionBool{false}); + + def = this->add("parallel_printheads_count", coInt); + def->label = L("Parallel printheads count"); + def->tooltip = L("Set the number of parallel printheads for machines like OrangeStorm Giga printer."); + def->mode = comAdvanced; + def->min = 1; + def->max = 4; + def->set_default_value(new ConfigOptionInt{1}); + + def = this->add("parallel_printheads_bed_exclude_areas", coStrings); + def->label = L("Parallel printheads bed exclude areas"); + def->tooltip = L("Ordered list of bed exclude areas by parallel printhead count. Item 1 applies to one printhead, item 2 to two printheads, and so on. Leave an item empty for no excluded area."); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionStrings()); + //BBS: add "bed_exclude_area" def = this->add("bed_exclude_area", coPoints); def->label = L("Bed exclude area"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index cdde293cfa..bb3051f7fa 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1480,6 +1480,9 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE( ((ConfigOptionFloatOrPercent, max_travel_detour_distance)) ((ConfigOptionPoints, printable_area)) ((ConfigOptionPointsGroups, extruder_printable_area)) + ((ConfigOptionBool, support_parallel_printheads)) + ((ConfigOptionInt, parallel_printheads_count)) + ((ConfigOptionStrings, parallel_printheads_bed_exclude_areas)) //BBS: add bed_exclude_area ((ConfigOptionPoints, bed_exclude_area)) ((ConfigOptionPoints, head_wrap_detect_zone)) diff --git a/src/slic3r/GUI/Field.hpp b/src/slic3r/GUI/Field.hpp index a668ea3fab..2fae710a93 100644 --- a/src/slic3r/GUI/Field.hpp +++ b/src/slic3r/GUI/Field.hpp @@ -190,6 +190,7 @@ public: /// Call the attached m_fn_edit_value method. void on_edit_value(); + virtual void propagate_value(){} public: /// parent wx item, opportunity to refactor (probably not necessary - data duplication) wxWindow* m_parent {nullptr}; @@ -317,7 +318,7 @@ public: void BUILD() override; bool value_was_changed(); // Propagate value from field to the OptionGroupe and Config after kill_focus/ENTER - void propagate_value(); + virtual void propagate_value() override; wxWindow* window {nullptr}; void set_value(const std::string& value, bool change_event = false) { diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index eb95d18e1b..5a6c909877 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1935,6 +1935,26 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value) } } + if (opt_key == "parallel_printheads_count" || opt_key == "parallel_printheads_bed_exclude_areas") { + if (m_config->opt_bool("support_parallel_printheads")) { + const int count = opt_key == "parallel_printheads_count" ? boost::any_cast(value) : m_config->opt_int("parallel_printheads_count"); + if (auto *field = this->get_field("bed_exclude_area")) { + wxString exclude_area; + if (count > 0) { + if (const auto *areas = m_config->option("parallel_printheads_bed_exclude_areas"); + areas != nullptr) { + const size_t index = static_cast(count - 1); + if (index < areas->values.size()) + exclude_area = wxString::FromUTF8(areas->values[index]); + } + } + + field->set_value(exclude_area, true); + field->propagate_value(); + } + } + } + if (m_postpone_update_ui) { // It means that not all values are rolled to the system/last saved values jet. // And call of the update() can causes a redundant check of the config values, @@ -4429,6 +4449,7 @@ void TabPrinter::build_fff() create_line_with_widget(optgroup.get(), "printable_area", "custom-svg-and-png-bed-textures_124612", [this](wxWindow* parent) { return create_bed_shape_widget(parent); }); + optgroup->append_single_option_line("parallel_printheads_count"); Option option = optgroup->get_option("bed_exclude_area"); option.opt.full_width = true; optgroup->append_single_option_line(option, "printer_basic_information_printable_space#excluded-bed-area"); @@ -5409,6 +5430,7 @@ void TabPrinter::toggle_options() // toggle_option("change_filament_gcode", have_multiple_extruders); //} if (m_active_page->title() == L("Basic information")) { + const auto &printer_cfg = m_preset_bundle->printers.get_edited_preset().config; // SoftFever: hide BBL specific settings for (auto el : {"scan_first_layer", "bbl_calib_mark_logo", "bbl_use_printhost"}) @@ -5420,6 +5442,9 @@ void TabPrinter::toggle_options() auto gcf = m_config->option>("gcode_flavor")->value; toggle_line("enable_power_loss_recovery", is_BBL_printer || gcf == gcfMarlinFirmware); + + const bool support_parallel_printheads = printer_cfg.opt_bool("support_parallel_printheads"); + toggle_line("parallel_printheads_count", support_parallel_printheads); } From 8548e5ca963a6548a67b586afa0f34a870d12cad Mon Sep 17 00:00:00 2001 From: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> Date: Sun, 31 May 2026 13:12:49 -0300 Subject: [PATCH 47/69] Expose lightning infill angles (#13848) * expose lightning infill angles Update PrintObject.cpp * Update src/libslic3r/PrintConfig.cpp * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Update GUI_Factories.cpp * Fix lightning infill angles to 45 degrees for supports Updated lightning infill angles to fixed values for consistency. --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- src/libslic3r/Fill/Lightning/Generator.cpp | 8 +++--- src/libslic3r/Preset.cpp | 3 +++ src/libslic3r/PrintConfig.cpp | 30 ++++++++++++++++++++++ src/libslic3r/PrintConfig.hpp | 3 +++ src/libslic3r/PrintObject.cpp | 3 +++ src/slic3r/GUI/ConfigManipulation.cpp | 4 +++ src/slic3r/GUI/GUI_Factories.cpp | 3 +++ src/slic3r/GUI/Tab.cpp | 3 +++ 8 files changed, 53 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/Fill/Lightning/Generator.cpp b/src/libslic3r/Fill/Lightning/Generator.cpp index 6044f0f0a0..c638610aa5 100644 --- a/src/libslic3r/Fill/Lightning/Generator.cpp +++ b/src/libslic3r/Fill/Lightning/Generator.cpp @@ -89,9 +89,9 @@ Generator::Generator(const PrintObject &print_object, const std::function& contours, std //TODO: decide whether enable density controller in advanced options or not density = std::max(0.15f, density); m_supporting_radius = coord_t(m_infill_extrusion_width) / density; - + // Keep support-lightning behavior fixed and independent of user print-region angles. const double lightning_infill_overhang_angle = M_PI / 4; // 45 degrees const double lightning_infill_prune_angle = M_PI / 4; // 45 degrees const double lightning_infill_straightening_angle = M_PI / 4; // 45 degrees diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 484283e5ea..0070bdcbd7 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -1005,6 +1005,9 @@ static std::vector s_Preset_print_options{ "lateral_lattice_angle_1", "lateral_lattice_angle_2", "infill_overhang_angle", + "lightning_overhang_angle", + "lightning_prune_angle", + "lightning_straightening_angle", "top_surface_pattern", "bottom_surface_pattern", "infill_direction", diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 552a884fd9..539add1bce 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3047,6 +3047,36 @@ void PrintConfigDef::init_fff_params() def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloat(60)); + def = this->add("lightning_overhang_angle", coFloat); + def->label = L("Lightning overhang angle"); + def->category = L("Strength"); + def->tooltip = L("Maximum overhang angle for Lightning infill support propagation."); + def->sidetext = u8"°"; + def->min = 5; + def->max = 85; + def->mode = comExpert; + def->set_default_value(new ConfigOptionFloat(45)); + + def = this->add("lightning_prune_angle", coFloat); + def->label = L("Prune angle"); + def->category = L("Strength"); + def->tooltip = L("Controls how aggressively short or unsupported Lightning branches are pruned. This angle is converted internally to a per-layer distance."); + def->sidetext = u8"°"; + def->min = 5; + def->max = 85; + def->mode = comExpert; + def->set_default_value(new ConfigOptionFloat(45)); + + def = this->add("lightning_straightening_angle", coFloat); + def->label = L("Straightening angle"); + def->category = L("Strength"); + def->tooltip = L("Maximum straightening angle used to simplify Lightning branches."); + def->sidetext = u8"°"; + def->min = 5; + def->max = 85; + def->mode = comExpert; + def->set_default_value(new ConfigOptionFloat(45)); + auto def_infill_anchor_min = def = this->add("infill_anchor", coFloatOrPercent); def->label = L("Sparse infill anchor length"); def->category = L("Strength"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index bb3051f7fa..aae20833d4 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1103,6 +1103,9 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionFloat, lateral_lattice_angle_1)) ((ConfigOptionFloat, lateral_lattice_angle_2)) ((ConfigOptionFloat, infill_overhang_angle)) + ((ConfigOptionFloat, lightning_overhang_angle)) + ((ConfigOptionFloat, lightning_prune_angle)) + ((ConfigOptionFloat, lightning_straightening_angle)) ((ConfigOptionBool, align_infill_direction_to_model)) ((ConfigOptionString, extra_solid_infills)) ((ConfigOptionEnum, fuzzy_skin)) diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 5449f7df3a..65d624be46 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -1300,6 +1300,9 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "infill_shift_step" || opt_key == "sparse_infill_rotate_template" || opt_key == "solid_infill_rotate_template" + || opt_key == "lightning_overhang_angle" + || opt_key == "lightning_prune_angle" + || opt_key == "lightning_straightening_angle" || opt_key == "skeleton_infill_density" || opt_key == "skin_infill_density" || opt_key == "infill_lock_depth" diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 49b4410d18..1e5b350039 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -961,6 +961,10 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co bool lattice_options = config->opt_enum("sparse_infill_pattern") == InfillPattern::ipLateralLattice; for (auto el : { "lateral_lattice_angle_1", "lateral_lattice_angle_2"}) toggle_line(el, lattice_options); + + bool lightning_options = config->opt_enum("sparse_infill_pattern") == InfillPattern::ipLightning; + for (auto el : { "lightning_overhang_angle", "lightning_prune_angle", "lightning_straightening_angle" }) + toggle_line(el, lightning_options); // Adaptative Cubic and support cubic infill patterns do not support infill rotation. bool FillAdaptive = (pattern == InfillPattern::ipAdaptiveCubic || pattern == InfillPattern::ipSupportCubic); diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index 2b128eb85a..357c39e47a 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -126,6 +126,9 @@ std::map> SettingsFactory::PART_CATE {"lateral_lattice_angle_1", "", 1}, {"lateral_lattice_angle_2", "", 1}, {"infill_overhang_angle", "", 1}, + {"lightning_overhang_angle", "", 1}, + {"lightning_prune_angle", "", 1}, + {"lightning_straightening_angle", "", 1}, {"infill_anchor", "", 1}, {"infill_anchor_max", "", 1}, {"top_surface_pattern", "", 1}, diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 5a6c909877..2d6b2d385c 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2482,6 +2482,9 @@ void TabPrint::build() optgroup->append_single_option_line("lateral_lattice_angle_1", "strength_settings_patterns#lateral-lattice"); optgroup->append_single_option_line("lateral_lattice_angle_2", "strength_settings_patterns#lateral-lattice"); optgroup->append_single_option_line("infill_overhang_angle", "strength_settings_patterns#lateral-honeycomb"); + optgroup->append_single_option_line("lightning_overhang_angle", "strength_settings_patterns#lightning-infill"); + optgroup->append_single_option_line("lightning_prune_angle", "strength_settings_patterns#lightning-infill"); + optgroup->append_single_option_line("lightning_straightening_angle", "strength_settings_patterns#lightning-infill"); optgroup->append_single_option_line("infill_anchor_max", "strength_settings_infill#anchor"); optgroup->append_single_option_line("infill_anchor", "strength_settings_infill#anchor"); optgroup->append_single_option_line("internal_solid_infill_pattern", "strength_settings_infill#internal-solid-infill"); From 7f7e7dff3a4d97e2c2098d9e9540467596928cac Mon Sep 17 00:00:00 2001 From: LH <42773937+lhndo@users.noreply.github.com> Date: Sun, 31 May 2026 16:13:35 +0000 Subject: [PATCH 48/69] Update LH Stinger profile (#13865) - Adding default speed for the new initial_layer_travel_acceleration --- resources/profiles/LH/process/fdm_process_lh_common.json | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/profiles/LH/process/fdm_process_lh_common.json b/resources/profiles/LH/process/fdm_process_lh_common.json index 49ea02fee8..6e09abf5fb 100644 --- a/resources/profiles/LH/process/fdm_process_lh_common.json +++ b/resources/profiles/LH/process/fdm_process_lh_common.json @@ -28,6 +28,7 @@ "initial_layer_line_width": "0.5", "initial_layer_speed": "60", "initial_layer_travel_speed": "300", + "initial_layer_travel_acceleration": "4000", "inner_wall_acceleration": "20000", "inner_wall_jerk": "15", "inner_wall_line_width": "0.4", From 30e83d790c7785a0fe3eef15f78e22b75ec24928 Mon Sep 17 00:00:00 2001 From: Vovodroid Date: Sun, 31 May 2026 19:14:42 +0300 Subject: [PATCH 49/69] Enable wipe with firmware retractions is set 100% before wipe. (#13812) Enable wipe with firmware retractions --- src/slic3r/GUI/Tab.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 2d6b2d385c..0e8a4eb987 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -5526,7 +5526,7 @@ void TabPrinter::toggle_options() // some options only apply when not using firmware retraction vec.resize(0); vec = {"retraction_speed", "deretraction_speed", "retract_before_wipe", - "retract_length", "retract_restart_extra", "wipe", + "retract_length", "retract_restart_extra", "wipe_distance"}; for (auto el : vec) //BBS @@ -5534,20 +5534,25 @@ void TabPrinter::toggle_options() bool wipe = retraction && m_config->opt_bool("wipe", variant_index); toggle_option("retract_before_wipe", wipe, i); + float retract_before_wipe = static_cast(m_config->option("retract_before_wipe"))->values[variant_index]; - if (use_firmware_retraction && wipe) { + if (use_firmware_retraction && wipe && retract_before_wipe < 100.0) { //wxMessageDialog dialog(parent(), MessageDialog dialog(parent(), - _(L("The Wipe option is not available when using the Firmware Retraction mode.\n" - "\nShall I disable it in order to enable Firmware Retraction?")), + _(L("The Retract before wipe option could be only 100% when using the Firmware Retraction mode.\n" + "\nShall I set it to 100% in order to enable Firmware Retraction?")), _(L("Firmware Retraction")), wxICON_WARNING | wxYES | wxNO); DynamicPrintConfig new_conf = *m_config; if (dialog.ShowModal() == wxID_YES) { auto wipe = static_cast(m_config->option("wipe")->clone()); - for (size_t w = 0; w < wipe->values.size(); w++) + auto retract_before_wipe = static_cast(m_config->option("retract_before_wipe")->clone()); + for (size_t w = 0; w < wipe->values.size(); w++) { wipe->values[w] = false; + retract_before_wipe->values[w] = 100.0; + } new_conf.set_key_value("wipe", wipe); + new_conf.set_key_value("retract_before_wipe", retract_before_wipe); } else { new_conf.set_key_value("use_firmware_retraction", new ConfigOptionBool(false)); From 86ad4d141a1150af777780743fefe5c62196bfc1 Mon Sep 17 00:00:00 2001 From: Calcousin55 Date: Sun, 31 May 2026 09:16:06 -0700 Subject: [PATCH 50/69] =?UTF-8?q?Preserve=20Z=20scale=20and=20apply=20corr?= =?UTF-8?q?ect=20offset=20when=20Ctrl=E2=80=91dragging=20XY=20corner=20(#1?= =?UTF-8?q?3840)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/slic3r/GUI/Gizmos/GLGizmoScale.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp b/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp index 244ed2a238..77fc7ef46c 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp @@ -448,7 +448,29 @@ void GLGizmoScale3D::do_scale_uniform(const UpdateData& data) if (ratio > 0.0) { m_scale = m_starting.scale * ratio; - m_offset = Vec3d::Zero(); + if (m_starting.ctrl_down && abs(ratio-1.0f)>0.001) { + m_scale.z() = m_starting.scale.z(); + double local_offset_x = 0.5 * (m_scale.x() - m_starting.scale.x()) * m_starting.box.size().x(); + double local_offset_y = 0.5 * (m_scale.y() - m_starting.scale.y()) * m_starting.box.size().y(); + + Vec3d local_offset_vec = Vec3d::Zero(); + switch (m_hover_id) + { + case 6: { local_offset_vec = Vec3d(-local_offset_x, -local_offset_y, 0.0); break; } + case 7: { local_offset_vec = Vec3d( local_offset_x, -local_offset_y, 0.0); break; } + case 8: { local_offset_vec = Vec3d( local_offset_x, local_offset_y, 0.0); break; } + case 9: { local_offset_vec = Vec3d(-local_offset_x, local_offset_y, 0.0); break; } + default: break; + } + + if (m_object_manipulation->is_world_coordinates()) { + m_offset = local_offset_vec; + } else { + m_offset = m_grabbers_tran.get_matrix_no_offset() * local_offset_vec; + } + } else { + m_offset = Vec3d::Zero(); + } } } From 752551292bfda1dbaf584c5367d695aa7e206cff Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Mon, 1 Jun 2026 11:00:00 +0300 Subject: [PATCH 51/69] Fix modifiers bridge speed not respected (#13971) * Respect modifiers bridge speed --- src/libslic3r/Fill/Fill.cpp | 83 ++++++++++++++---------------- src/libslic3r/PrintObjectSlice.cpp | 2 +- 2 files changed, 41 insertions(+), 44 deletions(-) diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index d47518bbca..e30c7ee9ec 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -256,17 +256,15 @@ struct SurfaceFillParams // Index of this entry in a linear vector. size_t idx = 0; - // infill speed settings - float sparse_infill_speed = 0; - float top_surface_speed = 0; - float solid_infill_speed = 0; + // Infill speed setting for the effective extrusion role. + float role_speed = 0; // Params for lattice infill angles float lateral_lattice_angle_1 = 0.f; float lateral_lattice_angle_2 = 0.f; - float infill_lock_depth = 0; - float skin_infill_depth = 0; - bool symmetric_infill_y_axis = false; + float infill_lock_depth = 0; + float skin_infill_depth = 0; + bool symmetric_infill_y_axis = false; // Params for Lateral honeycomb float infill_overhang_angle = 60.f; @@ -298,9 +296,7 @@ struct SurfaceFillParams RETURN_COMPARE_NON_EQUAL(flow.nozzle_diameter()); RETURN_COMPARE_NON_EQUAL_TYPED(unsigned, bridge); RETURN_COMPARE_NON_EQUAL_TYPED(unsigned, extrusion_role); - RETURN_COMPARE_NON_EQUAL(sparse_infill_speed); - RETURN_COMPARE_NON_EQUAL(top_surface_speed); - RETURN_COMPARE_NON_EQUAL(solid_infill_speed); + RETURN_COMPARE_NON_EQUAL(role_speed); RETURN_COMPARE_NON_EQUAL(lateral_lattice_angle_1); RETURN_COMPARE_NON_EQUAL(lateral_lattice_angle_2); RETURN_COMPARE_NON_EQUAL(symmetric_infill_y_axis); @@ -312,30 +308,28 @@ struct SurfaceFillParams } bool operator==(const SurfaceFillParams &rhs) const { - return this->extruder == rhs.extruder && - this->pattern == rhs.pattern && - this->spacing == rhs.spacing && - this->overlap == rhs.overlap && - this->angle == rhs.angle && - this->fixed_angle == rhs.fixed_angle && - this->bridge == rhs.bridge && - this->bridge_angle == rhs.bridge_angle && - this->density == rhs.density && - this->multiline == rhs.multiline && -// this->dont_adjust == rhs.dont_adjust && - this->anchor_length == rhs.anchor_length && - this->anchor_length_max == rhs.anchor_length_max && - this->flow == rhs.flow && - this->extrusion_role == rhs.extrusion_role && - this->sparse_infill_speed == rhs.sparse_infill_speed && - this->top_surface_speed == rhs.top_surface_speed && - this->solid_infill_speed == rhs.solid_infill_speed && - this->lateral_lattice_angle_1 == rhs.lateral_lattice_angle_1 && - this->lateral_lattice_angle_2 == rhs.lateral_lattice_angle_2 && - this->infill_lock_depth == rhs.infill_lock_depth && - this->skin_infill_depth == rhs.skin_infill_depth && - this->infill_overhang_angle == rhs.infill_overhang_angle && - this->gyroid_optimized == rhs.gyroid_optimized; + return this->extruder == rhs.extruder && + this->pattern == rhs.pattern && + this->spacing == rhs.spacing && + this->overlap == rhs.overlap && + this->angle == rhs.angle && + this->fixed_angle == rhs.fixed_angle && + this->bridge == rhs.bridge && + this->bridge_angle == rhs.bridge_angle && + this->density == rhs.density && + this->multiline == rhs.multiline && +// this->dont_adjust == rhs.dont_adjust && + this->anchor_length == rhs.anchor_length && + this->anchor_length_max == rhs.anchor_length_max && + this->flow == rhs.flow && + this->extrusion_role == rhs.extrusion_role && + this->role_speed == rhs.role_speed && + this->lateral_lattice_angle_1 == rhs.lateral_lattice_angle_1 && + this->lateral_lattice_angle_2 == rhs.lateral_lattice_angle_2 && + this->infill_lock_depth == rhs.infill_lock_depth && + this->skin_infill_depth == rhs.skin_infill_depth && + this->infill_overhang_angle == rhs.infill_overhang_angle && + this->gyroid_optimized == rhs.gyroid_optimized; } }; @@ -954,15 +948,18 @@ std::vector group_fills(const Layer &layer, LockRegionParam &lock_p //Orca: enable thick bridge based on config layerm.bridging_flow(extrusion_role, is_thick_bridge) : layerm.flow(extrusion_role, (surface.thickness == -1) ? layer.height : surface.thickness); - // record speed params - if (!params.bridge) { - if (params.extrusion_role == erInternalInfill) - params.sparse_infill_speed = region_config.sparse_infill_speed; - else if (params.extrusion_role == erTopSolidInfill) { - params.top_surface_speed = region_config.top_surface_speed; - } else if (params.extrusion_role == erSolidInfill) - params.solid_infill_speed = region_config.internal_solid_infill_speed; - } + + params.role_speed = 0; + if (params.extrusion_role == erBridgeInfill) + params.role_speed = region_config.bridge_speed; + else if (params.extrusion_role == erInternalBridgeInfill) + params.role_speed = region_config.get_abs_value("internal_bridge_speed"); + else if (params.extrusion_role == erInternalInfill) + params.role_speed = region_config.sparse_infill_speed; + else if (params.extrusion_role == erTopSolidInfill) + params.role_speed = region_config.top_surface_speed; + else if (params.extrusion_role == erSolidInfill) + params.role_speed = region_config.internal_solid_infill_speed; // Calculate flow spacing for infill pattern generation. if (surface.is_solid() || is_bridge) { params.spacing = params.flow.spacing(); diff --git a/src/libslic3r/PrintObjectSlice.cpp b/src/libslic3r/PrintObjectSlice.cpp index ee37acb91e..07eb885eda 100644 --- a/src/libslic3r/PrintObjectSlice.cpp +++ b/src/libslic3r/PrintObjectSlice.cpp @@ -359,7 +359,7 @@ static std::vector> slices_to_regions( bool rhs_empty = rhs.region_id < 0 || rhs.expolygons.empty(); // Sort the empty items to the end of the list. // Sort by region_id & volume_id lexicographically. - return ! this_empty && (rhs_empty || (this->region_id < rhs.region_id || (this->region_id == rhs.region_id && volume_id < volume_id))); + return ! this_empty && (rhs_empty || (this->region_id < rhs.region_id || (this->region_id == rhs.region_id && volume_id < rhs.volume_id))); } }; From 91ce8219593c86851a1cf35c76fdae5b7571d910 Mon Sep 17 00:00:00 2001 From: Terasit Juntarasombut <93132156+Icezaza2543@users.noreply.github.com> Date: Mon, 1 Jun 2026 17:11:14 +0700 Subject: [PATCH 52/69] i18n: Complete Thai (th) localization and enable Thai in GUI (#13916) * i18n: complete Thai (th) localization * feat: fix thi translation * feat: fix Thai language localization file --------- Co-authored-by: SoftFever --- localization/i18n/th/OrcaSlicer_th.po | 19684 ++++++++++++++++++++++++ src/slic3r/GUI/GUI_App.cpp | 1 + src/slic3r/GUI/Preferences.cpp | 6 +- 3 files changed, 19690 insertions(+), 1 deletion(-) create mode 100644 localization/i18n/th/OrcaSlicer_th.po diff --git a/localization/i18n/th/OrcaSlicer_th.po b/localization/i18n/th/OrcaSlicer_th.po new file mode 100644 index 0000000000..4da62aac06 --- /dev/null +++ b/localization/i18n/th/OrcaSlicer_th.po @@ -0,0 +1,19684 @@ +# Thai translation for OrcaSlicer. +# Copyright (C) 2026 OrcaSlicer contributors +# This file is distributed under the same license as the OrcaSlicer package. +# Icezaza, 2026. +# +msgid "" +msgstr "Project-Id-Version: Orca Slicer\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2026-05-22 02:24+0800\nPO-Revision-Date: 2026-05-28 22:39+0700\nLast-Translator: Icezaza\nLanguage-Team: Thai\nLanguage: th\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPlural-Forms: nplurals=1; plural=0;\nX-Generator: Codex Thai translation bootstrap" + +msgid "right" +msgstr "ขวา" + +msgid "left" +msgstr "ซ้าย" + +msgid "right extruder" +msgstr "ชุดดันเส้นขวา" + +msgid "left extruder" +msgstr "ชุดดันเส้นซ้าย" + +msgid "extruder" +msgstr "ชุดดันเส้น" + +msgid "TPU is not supported by AMS." +msgstr "AMS ไม่รองรับ TPU" + +msgid "AMS does not support 'Bambu Lab PET-CF'." +msgstr "AMS ไม่รองรับ 'Bambu Lab PET-CF'" + +msgid "" +"Please cold pull before printing TPU to avoid clogging. You may use cold " +"pull maintenance on the printer." +msgstr "โปรดทำ cold pull ก่อนพิมพ์ TPU เพื่อหลีกเลี่ยงการอุดตัน คุณสามารถใช้การบำรุงรักษาแบบ cold pull บนเครื่องพิมพ์ได้" + +msgid "" +"Damp PVA will become flexible and get stuck inside AMS, please take care to " +"dry it before use." +msgstr "PVA ที่ชื้นจะมีความยืดหยุ่นและอาจติดค้างใน AMS โปรดระวังและอบให้แห้งก่อนใช้งาน" + +msgid "Damp PVA is flexible and may get stuck in extruder. Dry it before use." +msgstr "PVA ที่ชื้นมีความยืดหยุ่นและอาจติดค้างในชุดดันเส้น โปรดอบให้แห้งก่อนใช้งาน" + +msgid "" +"The rough surface of PLA Glow can accelerate wear on the AMS system, " +"particularly on the internal components of the AMS Lite." +msgstr "พื้นผิวที่ขรุขระของ PLA Glow สามารถเร่งการสึกหรอในระบบ AMS ได้ โดยเฉพาะอย่างยิ่งกับชิ้นส่วนภายในของ AMS Lite" + +msgid "" +"CF/GF filaments are hard and brittle, it's easy to break or get stuck in " +"AMS, please use with caution." +msgstr "เส้นพลาสติก CF/GF มีความแข็งและเปราะบาง แตกหักหรือติดค้างใน AMS ได้ง่าย โปรดใช้งานด้วยความระมัดระวัง" + +msgid "PPS-CF is brittle and could break in bended PTFE tube above Toolhead." +msgstr "PPS-CF มีความเปราะบางและอาจแตกหักในท่อ PTFE ที่โค้งงอเหนือหัวพิมพ์" + +msgid "PPA-CF is brittle and could break in bended PTFE tube above Toolhead." +msgstr "PPA-CF มีความเปราะบางและอาจแตกหักในท่อ PTFE ที่โค้งงอเหนือหัวพิมพ์" + +#, possible-c-format, possible-boost-format +msgid "%s is not supported by %s extruder." +msgstr "%s ไม่รองรับกับชุดดันเส้น %s" + +msgid "Current AMS humidity" +msgstr "ความชื้น AMS ปัจจุบัน" + +msgid "Humidity" +msgstr "ความชื้น" + +msgid "Temperature" +msgstr "อุณหภูมิ" + +msgid "Left Time" +msgstr "เวลาที่เหลือ" + +msgid "Drying" +msgstr "กำลังอบแห้ง" + +msgid "Idle" +msgstr "ว่าง" + +msgid "Model:" +msgstr "โมเดล:" + +msgid "Serial:" +msgstr "ซีเรียล:" + +msgid "Version:" +msgstr "เวอร์ชัน:" + +msgid "Latest version" +msgstr "เวอร์ชันล่าสุด" + +msgid "Support Painting" +msgstr "ระบายส่วนรองรับ" + +msgid "Perform" +msgstr "ดำเนินการ" + +msgid "On highlighted overhangs only" +msgstr "เฉพาะส่วนยื่นที่ไฮไลต์เท่านั้น" + +msgid "Erase all" +msgstr "ลบทั้งหมด" + +msgid "Highlight overhang areas" +msgstr "ไฮไลต์พื้นที่ส่วนยื่น" + +msgid "Tool type" +msgstr "ประเภทเครื่องมือ" + +msgid "Gap fill" +msgstr "เติมช่องว่าง" + +msgid "Reset direction" +msgstr "รีเซ็ตทิศทาง" + +msgid "Section view" +msgstr "มุมมองภาคตัดขวาง" + +msgid "Brush size" +msgstr "ขนาดแปรง" + +msgid "Smart fill angle" +msgstr "มุมการเติมแบบอัจฉริยะ" + +msgid "Gap area" +msgstr "พื้นที่ช่องว่าง" + +msgid "Left mouse button" +msgstr "ปุ่มเมาส์ซ้าย" + +msgid "Enforce supports" +msgstr "บังคับสร้างส่วนรองรับ" + +msgid "Right mouse button" +msgstr "ปุ่มเมาส์ขวา" + +msgid "Block supports" +msgstr "บล็อกส่วนรองรับ" + +msgid "Erase" +msgstr "ลบ" + +msgid "Mouse wheel" +msgstr "ลูกกลิ้งเมาส์" + +msgid "Auto support threshold angle: " +msgstr "มุมเกณฑ์ส่วนรองรับอัตโนมัติ: " + +msgid "Circle" +msgstr "วงกลม" + +msgid "Sphere" +msgstr "ทรงกลม" + +msgid "Fill" +msgstr "เติม" + +msgid "Gap Fill" +msgstr "เติมช่องว่าง" + +#, possible-boost-format +msgid "Allows painting only on facets selected by: \"%1%\"" +msgstr "อนุญาตให้วาดภาพเฉพาะด้านที่เลือกโดย: \"%1%\"" + +msgid "Highlight faces according to overhang angle." +msgstr "ไฮไลต์ผิวหน้าตามมุมยื่น" + +msgid "No auto support" +msgstr "ไม่สร้างส่วนรองรับอัตโนมัติ" + +msgid "Done" +msgstr "เสร็จแล้ว" + +msgid "Support Generated" +msgstr "สร้างส่วนรองรับแล้ว" + +msgid "Gizmo-Place on Face" +msgstr "Gizmo-Place บนหน้า" + +msgid "Lay on face" +msgstr "วางบนหน้า" + +#, possible-boost-format +msgid "" +"Filament count exceeds the maximum number that painting tool supports. Only " +"the first %1% filaments will be available in painting tool." +msgstr "จำนวนเส้นพลาสติกเกินจำนวนสูงสุดที่เครื่องมือพ่นสีรองรับ เฉพาะเส้นพลาสติก %1% แรกเท่านั้นที่จะสามารถใช้ได้ในเครื่องมือวาดภาพ" + +msgid "Color Painting" +msgstr "จิตรกรรมสี" + +msgid "Brush shape" +msgstr "รูปร่างแปรง" + +msgid "Paint" +msgstr "สี" + +msgid "Choose filament" +msgstr "เลือกเส้นพลาสติก" + +msgid "Edge detection" +msgstr "การตรวจจับขอบ" + +msgid "Triangles" +msgstr "สามเหลี่ยม" + +msgid "Filaments" +msgstr "เส้นพลาสติก" + +msgid "Brush" +msgstr "แปรง" + +msgid "Smart fill" +msgstr "เติมสีอัจฉริยะ" + +msgid "Bucket fill" +msgstr "ถังเติมสี" + +msgid "Height range" +msgstr "ช่วงความสูง" + +msgid "Toggle Wireframe" +msgstr "สลับโครงลวด" + +msgid "Remap filaments" +msgstr "ทำการแมปเส้นพลาสติกใหม่" + +msgid "Remap" +msgstr "รีแมป" + +msgid "Reset" +msgstr "รีเซ็ต" + +msgid "Enter" +msgstr "เข้า" + +msgid "Shortcut Key " +msgstr "ปุ่มลัด" + +msgid "Triangle" +msgstr "สามเหลี่ยม" + +msgid "Height Range" +msgstr "ช่วงความสูง" + +msgid "Vertical" +msgstr "แนวตั้ง" + +msgid "Horizontal" +msgstr "แนวนอน" + +msgid "Remove painted color" +msgstr "ลบสีที่ทาสี" + +#, possible-boost-format +msgid "Painted using: Filament %1%" +msgstr "ทาสีโดยใช้: เส้นพลาสติก %1%" + +msgid "To:" +msgstr "ถึง:" + +msgid "Paint-on fuzzy skin" +msgstr "ระบายผิวฟัซซี" + +msgid "Add fuzzy skin" +msgstr "เพิ่มผิวฟัซซี" + +msgid "Remove fuzzy skin" +msgstr "ลบผิวฟัซซี" + +msgid "Reset selection" +msgstr "รีเซ็ตการเลือก" + +msgid "" +"Warning: Fuzzy skin is disabled, painted fuzzy skin will not take effect!" +msgstr "คำเตือน: ผิวฟัซซีถูกปิดใช้งาน ผิวฟัซซีที่ทาสีจะไม่มีผล!" + +msgid "Enable painted fuzzy skin for this object" +msgstr "เปิดใช้งานสกินฟัซซี่ที่ทาสีแล้วสำหรับวัตถุนี้" + +msgid "Move" +msgstr "ย้าย" + +msgid "Please select at least one object." +msgstr "โปรดเลือกวัตถุอย่างน้อยหนึ่งชิ้น" + +msgid "Gizmo-Move" +msgstr "Gizmo-ย้าย" + +msgid "Rotate" +msgstr "หมุน" + +msgid "Gizmo-Rotate" +msgstr "Gizmo-หมุน" + +msgid "Optimize orientation" +msgstr "ปรับการวางแนวให้เหมาะสม" + +msgid "Apply" +msgstr "ใช้" + +msgid "Scale" +msgstr "ปรับขนาด" + +msgid "Gizmo-Scale" +msgstr "Gizmo-ขนาด" + +msgid "Error: Please close all toolbar menus first" +msgstr "ข้อผิดพลาด: โปรดปิดเมนูแถบเครื่องมือทั้งหมดก่อน" + +msgid "in" +msgstr "นิ้ว" + +msgid "mm" +msgstr "มม." + +msgid "Part selection" +msgstr "การเลือกชิ้นส่วน" + +msgid "Fixed step drag" +msgstr "แก้ไขการลากขั้นตอน" + +msgid "Context Menu" +msgstr "เมนูบริบท" + +msgid "Toggle Auto-Drop" +msgstr "สลับการวางอัตโนมัติ" + +msgid "Single sided scaling" +msgstr "การปรับขนาดด้านเดียว" + +msgid "Position" +msgstr "ตำแหน่ง" + +msgid "Rotate (relative)" +msgstr "หมุน (แบบสัมพันธ์)" + +msgid "Scale ratios" +msgstr "อัตราส่วนการปรับขนาด" + +msgid "Object Operations" +msgstr "การทำงานกับวัตถุ" + +msgid "Volume Operations" +msgstr "การดำเนินการตามปริมาณ" + +msgid "Translate" +msgstr "เลื่อนตำแหน่ง" + +msgid "Group Operations" +msgstr "การดำเนินงานของกลุ่ม" + +msgid "Set Orientation" +msgstr "ตั้งค่าการวางแนว" + +msgid "Set Scale" +msgstr "ตั้งค่ามาตราส่วน" + +msgid "Reset Position" +msgstr "รีเซ็ตตำแหน่ง" + +msgid "Reset Rotation" +msgstr "รีเซ็ตการหมุน" + +msgid "Object coordinates" +msgstr "พิกัดวัตถุ" + +msgid "World coordinates" +msgstr "พิกัดโลก" + +msgid "Translate(Relative)" +msgstr "เลื่อนตำแหน่ง (แบบสัมพันธ์)" + +msgid "Reset current rotation to the value when open the rotation tool." +msgstr "รีเซ็ตการหมุนปัจจุบันเป็นค่าเมื่อเปิดเครื่องมือการหมุน" + +msgid "Rotate (absolute)" +msgstr "หมุน (สัมบูรณ์)" + +msgid "Reset current rotation to real zeros." +msgstr "รีเซ็ตการหมุนปัจจุบันให้เป็นศูนย์จริง" + +msgid "Part coordinates" +msgstr "พิกัดส่วน" + +#. TRN - Input label. Be short as possible +msgid "Size" +msgstr "ขนาด" + +msgid "Uniform scale" +msgstr "ปรับขนาดเท่ากันทุกแกน" + +msgid "Planar" +msgstr "ระนาบ" + +msgid "Dovetail" +msgstr "ประกบ" + +msgid "Auto" +msgstr "อัตโนมัติ" + +msgid "Manual" +msgstr "กำหนดเอง" + +msgid "Plug" +msgstr "ปลั๊ก" + +msgid "Dowel" +msgstr "เดือย" + +msgid "Snap" +msgstr "สแน็ป" + +msgid "Prism" +msgstr "ปริซึม" + +msgid "Frustum" +msgstr "ฟรัสตัม" + +msgid "Square" +msgstr "สี่เหลี่ยม" + +msgid "Hexagon" +msgstr "หกเหลี่ยม" + +msgid "Keep orientation" +msgstr "รักษาปฐมนิเทศ" + +msgid "Place on cut" +msgstr "วางบนการตัด" + +msgid "Flip upside down" +msgstr "พลิกกลับด้าน" + +msgid "Connectors" +msgstr "ตัวเชื่อม" + +msgid "Type" +msgstr "ชนิด" + +msgid "Style" +msgstr "สไตล์" + +msgid "Shape" +msgstr "รูปร่าง" + +#. TRN - Input label. Be short as possible +#. Size in emboss direction +#. TRN - Input label. Be short as possible +msgid "Depth" +msgstr "ความลึก" + +#. TRN - Input label. Be short as possible +#. Angle between Y axis and text line direction. +#. TRN - Input label. Be short as possible +msgid "Rotation" +msgstr "การหมุน" + +msgid "Groove" +msgstr "ร่อง" + +msgid "Width" +msgstr "ความกว้าง" + +msgid "Flap Angle" +msgstr "มุมพนัง" + +msgid "Groove Angle" +msgstr "มุมร่อง" + +msgid "Cut position" +msgstr "ตำแหน่งตัด" + +msgid "Build Volume" +msgstr "ปริมาตรพื้นที่พิมพ์" + +msgid "Multiple" +msgstr "หลายรายการ" + +msgid "Count" +msgstr "จำนวน" + +msgid "Gap" +msgstr "ช่องว่าง" + +msgid "Spacing" +msgstr "ระยะห่าง" + +msgid "Part" +msgstr "ชิ้นส่วน" + +msgid "Object" +msgstr "วัตถุ" + +msgid "" +"Click to flip the cut plane\n" +"Drag to move the cut plane" +msgstr "คลิกเพื่อพลิกระนาบการตัด\nลากเพื่อย้ายระนาบที่ตัด" + +msgid "" +"Click to flip the cut plane\n" +"Drag to move the cut plane\n" +"Right-click a part to assign it to the other side" +msgstr "คลิกเพื่อพลิกระนาบการตัด\nลากเพื่อย้ายระนาบที่ตัด\nคลิกขวาที่ส่วนหนึ่งเพื่อกำหนดให้กับอีกด้านหนึ่ง" + +msgid "Move cut plane" +msgstr "ย้ายระนาบตัด" + +msgid "Mode" +msgstr "โหมด" + +msgid "Change cut mode" +msgstr "เปลี่ยนโหมดการตัด" + +msgid "Tolerance" +msgstr "ค่าความเผื่อ" + +msgid "Drag" +msgstr "ลาก" + +msgid "Move cut line" +msgstr "ย้ายเส้นตัด" + +msgid "Draw cut line" +msgstr "วาดเส้นตัด" + +msgid "Add connector" +msgstr "เพิ่มตัวเชื่อม" + +msgid "Remove connector" +msgstr "ลบตัวเชื่อม" + +msgid "Move connector" +msgstr "ย้ายตัวเชื่อมต่อ" + +msgid "Add connector to selection" +msgstr "เพิ่มตัวเชื่อมต่อในการเลือก" + +msgid "Remove connector from selection" +msgstr "ลบตัวเชื่อมต่อออกจากการเลือก" + +msgid "Select all connectors" +msgstr "เลือกตัวเชื่อมต่อทั้งหมด" + +msgid "Cut" +msgstr "ตัด" + +msgid "Rotate cut plane" +msgstr "หมุนระนาบการตัด" + +msgid "Remove connectors" +msgstr "ถอดขั้วต่อออก" + +msgid "Bulge" +msgstr "นูน" + +msgid "Bulge proportion related to radius" +msgstr "สัดส่วนนูนที่เกี่ยวข้องกับรัศมี" + +msgid "Space" +msgstr "ช่องว่าง" + +msgid "Space proportion related to radius" +msgstr "สัดส่วนพื้นที่สัมพันธ์กับรัศมี" + +msgid "Confirm connectors" +msgstr "ยืนยันตัวเชื่อมต่อ" + +msgid "Cancel" +msgstr "ยกเลิก" + +msgid "Flip cut plane" +msgstr "พลิกระนาบตัด" + +msgid "Groove change" +msgstr "การเปลี่ยนแปลงร่อง" + +#. TRN: This is an entry in the Undo/Redo stack. The whole line will be 'Edited: (name of whatever was edited)'. +msgid "Edited" +msgstr "แก้ไขแล้ว" + +msgid "Reset cutting plane" +msgstr "รีเซ็ตระนาบการตัด" + +msgid "Edit connectors" +msgstr "แก้ไขตัวเชื่อมต่อ" + +msgid "Add connectors" +msgstr "เพิ่มตัวเชื่อมต่อ" + +msgid "Upper part" +msgstr "ส่วนบน" + +msgid "Lower part" +msgstr "ส่วนล่าง" + +msgid "Keep" +msgstr "เก็บ" + +msgid "Flip" +msgstr "พลิก" + +msgid "After cut" +msgstr "หลังจากตัดแล้ว" + +msgid "Cut to parts" +msgstr "ตัดเป็นชิ้นส่วน" + +msgid "Reset cutting plane and remove connectors" +msgstr "รีเซ็ตระนาบการตัดและถอดตัวเชื่อมต่อออก" + +msgid "Perform cut" +msgstr "ดำเนินการตัด" + +msgid "Warning" +msgstr "คำเตือน" + +msgid "Invalid connectors detected" +msgstr "พบตัวเชื่อมที่ไม่ถูกต้อง" + +#, possible-c-format, possible-boost-format +msgid "%1$d connector is out of cut contour" +msgid_plural "%1$d connectors are out of cut contour" +msgstr[0] "ข้อต่อ %1$d ชิ้นอยู่นอกขอบเขตการตัด" + +#, possible-c-format, possible-boost-format +msgid "%1$d connector is out of object" +msgid_plural "%1$d connectors are out of object" +msgstr[0] "ข้อต่อ %1$d ชิ้นอยู่นอกวัตถุ" + +msgid "Some connectors are overlapped" +msgstr "ตัวเชื่อมบางรายการซ้อนทับกัน" + +msgid "Select at least one object to keep after cutting." +msgstr "เลือกอย่างน้อยหนึ่งวัตถุที่จะเก็บไว้หลังจากการตัด" + +msgid "Cut plane is placed out of object" +msgstr "ระนาบการตัดถูกวางออกจากวัตถุ" + +msgid "Cut plane with groove is invalid" +msgstr "ระนาบการตัดที่มีร่องไม่ถูกต้อง" + +msgid "Connector" +msgstr "ตัวเชื่อม" + +msgid "Cut by Plane" +msgstr "ตัดด้วยระนาบ" + +msgid "Non-manifold edges be caused by cut tool, do you want to fix it now?" +msgstr "ขอบที่ไม่มีท่อร่วมนั้นเกิดจากเครื่องมือตัด คุณต้องการแก้ไขตอนนี้เลยหรือไม่?" + +msgid "Repairing model object" +msgstr "กำลังซ่อมวัตถุโมเดล" + +msgid "Cut by line" +msgstr "ตัดด้วยเส้น" + +msgid "Delete connector" +msgstr "ลบตัวเชื่อมต่อ" + +msgid "Mesh name" +msgstr "ชื่อเมช" + +msgid "Detail level" +msgstr "ระดับรายละเอียด" + +msgid "Decimate ratio" +msgstr "อัตราการลดรายละเอียด" + +#, possible-boost-format +msgid "" +"Processing model '%1%' with more than 1M triangles could be slow. It is " +"highly recommended to simplify the model." +msgstr "การประมวลผลโมเดล '%1%' ที่มีรูปสามเหลี่ยมมากกว่า 1 ล้านรูปอาจช้า ขอแนะนำอย่างยิ่งให้ทำให้โมเดลง่ายขึ้น" + +msgid "Simplify model" +msgstr "ลดรายละเอียดโมเดล" + +msgid "Simplify" +msgstr "ลดรายละเอียด" + +msgid "Simplification is currently only allowed when a single part is selected" +msgstr "ขณะนี้อนุญาตให้ลดความซับซ้อนได้เฉพาะเมื่อเลือกส่วนเดียวเท่านั้น" + +msgid "Error" +msgstr "ข้อผิดพลาด" + +msgid "Extra high" +msgstr "สูงมาก" + +msgid "High" +msgstr "สูง" + +msgid "Medium" +msgstr "กลาง" + +msgid "Low" +msgstr "ต่ำ" + +msgid "Extra low" +msgstr "ต่ำมาก" + +#, possible-c-format, possible-boost-format +msgid "%d triangles" +msgstr "%d รูปสามเหลี่ยม" + +msgid "Show wireframe" +msgstr "แสดงโครงลวด" + +msgid "Can't apply when processing preview." +msgstr "ใช้ไม่ได้เมื่อประมวลผลการแสดงตัวอย่าง" + +msgid "Operation already cancelling. Please wait a few seconds." +msgstr "การดำเนินการยกเลิกแล้ว กรุณารอสักครู่." + +msgid "Face recognition" +msgstr "การจดจำผิวหน้า" + +msgid "Perform Recognition" +msgstr "ดำเนินการรับรู้" + +msgid "Enforce seam" +msgstr "บังคับรอยตะเข็บ" + +msgid "Block seam" +msgstr "บล็อกรอยตะเข็บ" + +msgid "Seam painting" +msgstr "ระบายรอยตะเข็บ" + +msgid "Remove selection" +msgstr "ลบการเลือก" + +msgid "Entering Seam painting" +msgstr "เข้าสู่การทาสีรอยตะเข็บ" + +msgid "Leaving Seam painting" +msgstr "ออกจากการวาดภาพรอยตะเข็บ" + +msgid "Paint-on seam editing" +msgstr "การแก้ไขรอยตะเข็บด้วยการทาสี" + +#. TRN - Input label. Be short as possible +#. Select look of letter shape +msgid "Font" +msgstr "แบบอักษร" + +msgid "Thickness" +msgstr "ความหนา" + +msgid "Text Gap" +msgstr "ช่องว่างข้อความ" + +msgid "Angle" +msgstr "มุม" + +msgid "" +"Embedded\n" +"depth" +msgstr "ฝังตัว\nความลึก" + +msgid "Input text" +msgstr "ป้อนข้อความ" + +msgid "Surface" +msgstr "พื้นผิว" + +msgid "Horizontal text" +msgstr "ข้อความแนวนอน" + +msgid "Shift+" +msgstr "กะ+" + +msgid "Mouse move up or down" +msgstr "เมาส์เลื่อนขึ้นหรือลง" + +msgid "Rotate text" +msgstr "หมุนข้อความ" + +msgid "Text shape" +msgstr "รูปร่างข้อความ" + +#. TRN - Title in Undo/Redo stack after rotate with text around emboss axe +msgid "Text rotate" +msgstr "หมุนข้อความ" + +#. TRN - Title in Undo/Redo stack after move with text along emboss axe - From surface +msgid "Text move" +msgstr "ย้ายข้อความ" + +msgid "Set Mirror" +msgstr "ตั้งกระจก" + +msgid "Embossed text" +msgstr "ข้อความนูน" + +msgid "Enter emboss gizmo" +msgstr "เข้าสู่ Gizmo ของนูน" + +msgid "Leave emboss gizmo" +msgstr "ทิ้ง Gizmo ของนูนไว้" + +msgid "Embossing actions" +msgstr "การกระทำลายนูน" + +msgid "Position on surface" +msgstr "ตำแหน่งบนพื้นผิว" + +msgid "Emboss" +msgstr "ลายนูน" + +msgid "NORMAL" +msgstr "ปกติ" + +msgid "SMALL" +msgstr "เล็ก" + +msgid "ITALIC" +msgstr "ตัวเอียง" + +msgid "SWISS" +msgstr "สวิส" + +msgid "MODERN" +msgstr "ทันสมัย" + +msgid "First font" +msgstr "แบบอักษรแรก" + +msgid "Default font" +msgstr "แบบอักษรเริ่มต้น" + +msgid "Advanced" +msgstr "ขั้นสูง" + +msgid "Reset all options except the text and operation" +msgstr "รีเซ็ตตัวเลือกทั้งหมด ยกเว้นข้อความและการดำเนินการ" + +msgid "" +"The text cannot be written using the selected font. Please try choosing a " +"different font." +msgstr "ไม่สามารถเขียนข้อความโดยใช้แบบอักษรที่เลือกได้ โปรดลองเลือกแบบอักษรอื่น" + +msgid "Embossed text cannot contain only white spaces." +msgstr "ข้อความที่มีลายนูนไม่สามารถมีเฉพาะช่องว่างสีขาวเท่านั้น" + +msgid "Text contains character glyph (represented by '?') unknown by font." +msgstr "ข้อความมีสัญลักษณ์อักขระ (แสดงด้วย '?') ไม่ทราบด้วยแบบอักษร" + +msgid "Text input doesn't show font skew." +msgstr "การป้อนข้อความไม่แสดงการเอียงแบบอักษร" + +msgid "Text input doesn't show font boldness." +msgstr "การป้อนข้อความไม่แสดงตัวหนาของแบบอักษร" + +msgid "Text input doesn't show gap between lines." +msgstr "การป้อนข้อความไม่แสดงช่องว่างระหว่างบรรทัด" + +msgid "Too tall, diminished font height inside text input." +msgstr "สูงเกินไป ความสูงของแบบอักษรในการป้อนข้อความลดลง" + +msgid "Too small, enlarged font height inside text input." +msgstr "ความสูงของแบบอักษรเล็กเกินไปและขยายใหญ่เกินไปในการป้อนข้อความ" + +msgid "Text doesn't show current horizontal alignment." +msgstr "ข้อความไม่แสดงการจัดแนวแนวนอนในปัจจุบัน" + +msgid "Revert font changes." +msgstr "ย้อนกลับการเปลี่ยนแปลงแบบอักษร" + +#, possible-boost-format +msgid "Font \"%1%\" can't be selected." +msgstr "ไม่สามารถเลือกแบบอักษร \"%1%\" ได้" + +msgid "Operation" +msgstr "การทำงาน" + +#. TRN EmbossOperation +#. ORCA +msgid "Join" +msgstr "เข้าร่วม" + +msgid "Click to change text into object part." +msgstr "คลิกเพื่อเปลี่ยนข้อความเป็นส่วนวัตถุ" + +msgid "You can't change a type of the last solid part of the object." +msgstr "คุณไม่สามารถเปลี่ยนประเภทของส่วนทึบสุดท้ายของวัตถุได้" +msgctxt "EmbossOperation" + +msgid "Cut" +msgstr "ตัด" + +msgid "Click to change part type into negative volume." +msgstr "คลิกเพื่อเปลี่ยนประเภทชิ้นส่วนเป็นปริมาณลบ" + +msgid "Modifier" +msgstr "ตัวแก้ไข" + +msgid "Click to change part type into modifier." +msgstr "คลิกเพื่อเปลี่ยนประเภทชิ้นส่วนเป็นตัวดัดแปลง" + +msgid "Change Text Type" +msgstr "เปลี่ยนประเภทข้อความ" + +#, possible-boost-format +msgid "Rename style (%1%) for embossing text" +msgstr "เปลี่ยนชื่อสไตล์ (%1%) สำหรับข้อความลายนูน" + +msgid "Name can't be empty." +msgstr "ชื่อต้องไม่ว่าง" + +msgid "Name has to be unique." +msgstr "ชื่อต้องไม่ซ้ำ" + +msgid "OK" +msgstr "ตกลง" + +msgid "Rename style" +msgstr "เปลี่ยนชื่อสไตล์" + +msgid "Rename current style." +msgstr "เปลี่ยนชื่อสไตล์ปัจจุบัน" + +msgid "Can't rename temporary style." +msgstr "ไม่สามารถเปลี่ยนชื่อรูปแบบชั่วคราวได้" + +msgid "First Add style to list." +msgstr "ขั้นแรกให้เพิ่มสไตล์ลงในรายการ" + +#, possible-boost-format +msgid "Save %1% style" +msgstr "บันทึก %1% สไตล์" + +msgid "No changes to save." +msgstr "ไม่มีการเปลี่ยนแปลงที่จะบันทึก" + +msgid "New name of style" +msgstr "ชื่อใหม่ของสไตล์" + +msgid "Save as new style" +msgstr "บันทึกเป็นรูปแบบใหม่" + +msgid "Only valid font can be added to style." +msgstr "คุณสามารถเพิ่มแบบอักษรที่ถูกต้องให้กับสไตล์ได้เท่านั้น" + +msgid "Add style to my list." +msgstr "เพิ่มสไตล์ให้กับรายการของฉัน" + +msgid "Save as new style." +msgstr "บันทึกเป็นรูปแบบใหม่" + +msgid "Remove style" +msgstr "ลบสไตล์" + +msgid "Can't remove the last existing style." +msgstr "ไม่สามารถลบสไตล์ที่มีอยู่ล่าสุดได้" + +#, possible-boost-format +msgid "Are you sure you want to permanently remove the \"%1%\" style?" +msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบรูปแบบ \"%1%\" อย่างถาวร" + +#, possible-boost-format +msgid "Delete \"%1%\" style." +msgstr "ลบรูปแบบ \"%1%\"" + +#, possible-boost-format +msgid "Can't delete \"%1%\". It is last style." +msgstr "ไม่สามารถลบ \"%1%\" เป็นสไตล์สุดท้าย" + +#, possible-boost-format +msgid "Can't delete temporary style \"%1%\"." +msgstr "ไม่สามารถลบรูปแบบชั่วคราว \"%1%\"" + +#, possible-boost-format +msgid "Modified style \"%1%\"" +msgstr "ปรับเปลี่ยนรูปแบบ \"%1%\"" + +#, possible-boost-format +msgid "Current style is \"%1%\"" +msgstr "รูปแบบปัจจุบันคือ \"%1%\"" + +#, possible-boost-format +msgid "" +"Changing style to \"%1%\" will discard current style modification.\n" +"\n" +"Would you like to continue anyway?" +msgstr "การเปลี่ยนรูปแบบเป็น \"%1%\" จะละทิ้งการแก้ไขรูปแบบปัจจุบัน\n\nคุณต้องการดำเนินการต่อหรือไม่?" + +msgid "Not valid style." +msgstr "สไตล์ไม่ถูกต้อง" + +#, possible-boost-format +msgid "Style \"%1%\" can't be used and will be removed from a list." +msgstr "ไม่สามารถใช้รูปแบบ \"%1%\" ได้และจะถูกลบออกจากรายการ" + +msgid "Unset italic" +msgstr "ยกเลิกการตั้งค่าตัวเอียง" + +msgid "Set italic" +msgstr "ตั้งค่าตัวเอียง" + +msgid "Unset bold" +msgstr "เลิกตั้งค่าตัวหนา" + +msgid "Set bold" +msgstr "ตั้งค่าตัวหนา" + +msgid "Revert text size." +msgstr "เปลี่ยนขนาดข้อความกลับ" + +msgid "Revert embossed depth." +msgstr "กลับความลึกของลายนูน" + +msgid "" +"Advanced options cannot be changed for the selected font.\n" +"Select another font." +msgstr "ไม่สามารถเปลี่ยนแปลงตัวเลือกขั้นสูงสำหรับแบบอักษรที่เลือกได้\nเลือกแบบอักษรอื่น" + +msgid "Revert using of model surface." +msgstr "เปลี่ยนกลับการใช้พื้นผิวแบบจำลอง" + +msgid "Revert Transformation per glyph." +msgstr "เปลี่ยนกลับการแปลงต่อสัญลักษณ์" + +msgid "Set global orientation for whole text." +msgstr "ตั้งค่าการวางแนวส่วนกลางสำหรับข้อความทั้งหมด" + +msgid "Set position and orientation per glyph." +msgstr "กำหนดตำแหน่งและการวางแนวต่อสัญลักษณ์" +msgctxt "Alignment" + +msgid "Left" +msgstr "ซ้าย" +msgctxt "Alignment" + +msgid "Center" +msgstr "กึ่งกลาง" +msgctxt "Alignment" + +msgid "Right" +msgstr "ขวา" +msgctxt "Alignment" + +msgid "Top" +msgstr "บน" +msgctxt "Alignment" + +msgid "Middle" +msgstr "กลาง" +msgctxt "Alignment" + +msgid "Bottom" +msgstr "ล่าง" + +msgid "Revert alignment." +msgstr "กลับการจัดตำแหน่ง" + +#. TRN EmbossGizmo: font units +msgid "points" +msgstr "คะแนน" + +msgid "Revert gap between characters" +msgstr "เปลี่ยนช่องว่างระหว่างอักขระ" + +msgid "Distance between characters" +msgstr "ระยะห่างระหว่างอักขระ" + +msgid "Revert gap between lines" +msgstr "ย้อนกลับช่องว่างระหว่างบรรทัด" + +msgid "Distance between lines" +msgstr "ระยะห่างระหว่างบรรทัด" + +msgid "Undo boldness" +msgstr "เลิกทำความหนาตัวอักษร" + +msgid "Tiny / Wide glyphs" +msgstr "รูปอักขระเล็ก / กว้าง" + +msgid "Undo letter's skew" +msgstr "เลิกทำการเอียงตัวอักษร" + +msgid "Italic strength ratio" +msgstr "อัตราส่วนความแรงของตัวเอียง" + +msgid "Undo translation" +msgstr "เลิกทำการแปล" + +msgid "Distance of the center of the text to the model surface." +msgstr "ระยะห่างจากกึ่งกลางข้อความถึงพื้นผิวโมเดล" + +msgid "Undo rotation" +msgstr "ยกเลิกการหมุน" + +msgid "Rotate text Clockwise." +msgstr "หมุนข้อความตามเข็มนาฬิกา" + +msgid "Unlock the text's rotation when moving text along the object's surface." +msgstr "ปลดล็อกการหมุนข้อความเมื่อย้ายข้อความไปตามพื้นผิวของวัตถุ" + +msgid "Lock the text's rotation when moving text along the object's surface." +msgstr "ล็อคการหมุนของข้อความเมื่อย้ายข้อความไปตามพื้นผิวของวัตถุ" + +msgid "Select from True Type Collection." +msgstr "เลือกจากคอลเลกชัน True Type" + +msgid "Set text to face camera" +msgstr "ตั้งให้ข้อความหันเข้าหากล้อง" + +msgid "Orient the text towards the camera." +msgstr "วางแนวข้อความไปทางกล้อง" + +#, possible-boost-format +msgid "Font \"%1%\" can't be used. Please select another." +msgstr "ไม่สามารถใช้แบบอักษร \"%1%\" ได้ โปรดเลือกรายการอื่น" + +#, possible-boost-format +msgid "" +"Can't load exactly same font (\"%1%\"). Application selected a similar one " +"(\"%2%\"). You have to specify font for enable edit text." +msgstr "ไม่สามารถโหลดแบบอักษรเดียวกันทุกประการ (\"%1%\") แอปพลิเคชันเลือกแอปพลิเคชันที่คล้ายกัน (\"%2%\") คุณต้องระบุแบบอักษรเพื่อให้สามารถแก้ไขข้อความได้" + +msgid "No symbol" +msgstr "ไม่มีสัญลักษณ์" + +msgid "Loading" +msgstr "กำลังโหลด" + +msgid "In queue" +msgstr "ในคิว" + +#. TRN - Input label. Be short as possible +#. Height of one text line - Font Ascent +msgid "Height" +msgstr "ความสูง" + +#. TRN - Input label. Be short as possible +#. Copy surface of model on surface of the embossed text +#. TRN - Input label. Be short as possible +msgid "Use surface" +msgstr "ใช้พื้นผิว" + +#. TRN - Input label. Be short as possible +#. Option to change projection on curved surface +#. for each character(glyph) in text separately +msgid "Per glyph" +msgstr "ต่อสัญลักษณ์" + +#. TRN - Input label. Be short as possible +#. Align Top|Middle|Bottom and Left|Center|Right +msgid "Alignment" +msgstr "การจัดตำแหน่ง" + +#. TRN - Input label. Be short as possible +msgid "Char gap" +msgstr "ระยะห่างตัวอักษร" + +#. TRN - Input label. Be short as possible +msgid "Line gap" +msgstr "ช่องว่างบรรทัด" + +#. TRN - Input label. Be short as possible +msgid "Boldness" +msgstr "ความหนาตัวอักษร" + +#. TRN - Input label. Be short as possible +#. Like Font italic +msgid "Skew ratio" +msgstr "อัตราส่วนเอียง" + +#. TRN - Input label. Be short as possible +#. Distance from model surface to be able +#. move text as part fully into not flat surface +#. move text as modifier fully out of not flat surface +#. TRN - Input label. Be short as possible +msgid "From surface" +msgstr "จากพื้นผิว" + +#. TRN - Input label. Be short as possible +#. Keep vector from bottom to top of text aligned with printer Y axis +msgid "Keep up" +msgstr "ติดตาม" + +#. TRN - Input label. Be short as possible. +#. Some Font file contain multiple fonts inside and +#. this is numerical selector of font inside font collections +msgid "Collection" +msgstr "ของสะสม" + +#. TRN - Title in Undo/Redo stack after rotate with SVG around emboss axe +msgid "SVG rotate" +msgstr "SVG หมุน" + +#. TRN - Title in Undo/Redo stack after move with SVG along emboss axe - From surface +msgid "SVG move" +msgstr "การย้าย SVG" + +msgid "Enter SVG gizmo" +msgstr "ป้อน Gizmo SVG" + +msgid "Leave SVG gizmo" +msgstr "ออกจาก Gizmo SVG" + +msgid "SVG actions" +msgstr "การกระทำ SVG" + +msgid "SVG" +msgstr "SVG" + +#, possible-boost-format +msgid "Opacity (%1%)" +msgstr "ความทึบแสง (%1%)" + +#, possible-boost-format +msgid "Color gradient (%1%)" +msgstr "ไล่ระดับสี (%1%)" + +msgid "Undefined fill type" +msgstr "ประเภทไส้ในที่ไม่ได้กำหนด" + +msgid "Linear gradient" +msgstr "การไล่ระดับสีเชิงเส้น" + +msgid "Radial gradient" +msgstr "การไล่ระดับสีแบบเรเดียล" + +msgid "Open filled path" +msgstr "เปิดเส้นทางที่เต็มไปด้วย" + +msgid "Undefined stroke type" +msgstr "ประเภทจังหวะที่ไม่ได้กำหนด" + +msgid "Path can't be healed from self-intersection and multiple points." +msgstr "เส้นทางไม่สามารถรักษาได้จากทางแยกตัวเองและหลายจุด" + +msgid "" +"Final shape contains self-intersection or multiple points with same " +"coordinate." +msgstr "รูปร่างสุดท้ายมีจุดตัดกันเองหรือหลายจุดที่มีพิกัดเดียวกัน" + +#, possible-boost-format +msgid "Shape is marked as invisible (%1%)." +msgstr "รูปร่างถูกทำเครื่องหมายว่ามองไม่เห็น (%1%)" + +#. TRN: The first placeholder is shape identifier, the second is text describing the problem. +#, possible-boost-format +msgid "Fill of shape (%1%) contains unsupported: %2%." +msgstr "ไส้ในของรูปร่าง (%1%) มีส่วนที่ไม่รองรับ: %2%" + +#, possible-boost-format +msgid "Stroke of shape (%1%) is too thin (minimal width is %2% mm)." +msgstr "ระยะโครงร่าง (%1%) บางเกินไป (ความกว้างขั้นต่ำคือ %2% มม.)" + +#, possible-boost-format +msgid "Stroke of shape (%1%) contains unsupported: %2%." +msgstr "เส้นโครงร่างของรูปร่าง (%1%) ประกอบด้วยที่ไม่รองรับ: %2%" + +msgid "Face the camera" +msgstr "หันหน้าเข้าหากล้อง" + +#. TRN - Preview of filename after clear local filepath. +msgid "Unknown filename" +msgstr "ชื่อไฟล์ที่ไม่รู้จัก" + +#, possible-boost-format +msgid "SVG file path is \"%1%\"" +msgstr "เส้นทางของไฟล์ SVG คือ \"%1%\"" + +msgid "Reload SVG file from disk." +msgstr "โหลดไฟล์ SVG จากดิสก์อีกครั้ง" + +msgid "Change file" +msgstr "เปลี่ยนไฟล์" + +msgid "Change to another SVG file." +msgstr "เปลี่ยนเป็นไฟล์ SVG อื่น" + +msgid "Forget the file path" +msgstr "ลืมเส้นทางของไฟล์" + +msgid "" +"Do NOT save local path to 3MF file.\n" +"Also disables 'reload from disk' option." +msgstr "อย่าบันทึกพาธในเครื่องเป็นไฟล์ 3MF\nปิดใช้งานตัวเลือก 'โหลดซ้ำจากดิสก์' ด้วย" + +#. TRN: An menu option to convert the SVG into an unmodifiable model part. +msgid "Bake" +msgstr "อบ" + +#. TRN: Tooltip for the menu item. +msgid "Bake into model as uneditable part" +msgstr "อบให้เป็นโมเดลโดยเป็นส่วนที่ไม่สามารถแก้ไขได้" + +msgid "Save as" +msgstr "บันทึกเป็น" + +msgid "Save SVG file" +msgstr "บันทึกไฟล์ SVG" + +msgid "Save as SVG file." +msgstr "บันทึกเป็นไฟล์ SVG" + +msgid "Size in emboss direction." +msgstr "ขนาดในทิศทางนูน" + +#. TRN: The placeholder contains a number. +#, possible-boost-format +msgid "Scale also changes amount of curve samples (%1%)" +msgstr "มาตราส่วนยังเปลี่ยนจำนวนตัวอย่างเส้นโค้ง (%1%)" + +msgid "Width of SVG." +msgstr "ความกว้างของ SVG" + +msgid "Height of SVG." +msgstr "ความสูงของ SVG" + +msgid "Lock/unlock the aspect ratio of the SVG." +msgstr "ล็อค/ปลดล็อคอัตราส่วนภาพของ SVG" + +msgid "Reset scale" +msgstr "รีเซ็ตมาตราส่วน" + +msgid "Distance of the center of the SVG to the model surface." +msgstr "ระยะห่างจากศูนย์กลางของ SVG ถึงพื้นผิวแบบจำลอง" + +msgid "Reset distance" +msgstr "รีเซ็ตระยะทาง" + +msgid "Reset rotation" +msgstr "รีเซ็ตการหมุน" + +msgid "Lock/unlock rotation angle when dragging above the surface." +msgstr "ล็อค/ปลดล็อคมุมการหมุนเมื่อลากเหนือพื้นผิว" + +msgid "Mirror vertically" +msgstr "กลับด้านแนวตั้ง" + +msgid "Mirror horizontally" +msgstr "กลับด้านแนวนอน" + +#. TRN: This is the name of the action that shows in undo/redo stack (changing part type from SVG to something else). +msgid "Change SVG Type" +msgstr "เปลี่ยนประเภท SVG" + +#. TRN - Input label. Be short as possible +msgid "Mirror" +msgstr "กลับด้าน" + +msgid "Choose SVG file for emboss:" +msgstr "เลือกไฟล์ SVG สำหรับลายนูน:" + +#, possible-boost-format +msgid "File does NOT exist (%1%)." +msgstr "ไม่มีไฟล์ (%1%)" + +#, possible-boost-format +msgid "Filename has to end with \".svg\" but you selected %1%" +msgstr "ชื่อไฟล์ต้องลงท้ายด้วย \".svg\" แต่คุณเลือก %1%" + +#, possible-boost-format +msgid "Nano SVG parser can't load from file (%1%)." +msgstr "ตัวแยกวิเคราะห์ Nano SVG ไม่สามารถโหลดจากไฟล์ได้ (%1%)" + +#, possible-boost-format +msgid "SVG file does NOT contain a single path to be embossed (%1%)." +msgstr "ไฟล์ SVG ไม่มีเส้นทางเดียวที่จะนูน (%1%)" + +msgid "No feature" +msgstr "ไม่มีคุณสมบัติ" + +msgid "Vertex" +msgstr "จุดยอด" + +msgid "Edge" +msgstr "ขอบ" + +msgid "Plane" +msgstr "ระนาบ" + +msgid "Point on edge" +msgstr "ชี้ไปที่ขอบ" + +msgid "Point on circle" +msgstr "ชี้ไปที่วงกลม" + +msgid "Point on plane" +msgstr "ชี้บนระนาบ" + +msgid "Center of edge" +msgstr "ศูนย์กลางของขอบ" + +msgid "Center of circle" +msgstr "ศูนย์กลางของวงกลม" + +msgid "Select" +msgstr "เลือก" + +msgid "Select point" +msgstr "เลือกจุด" + +msgid "Delete" +msgstr "ลบ" + +msgid "Restart selection" +msgstr "เริ่มการเลือกใหม่" + +msgid "Esc" +msgstr "Esc" + +msgid "Cancel a feature until exit" +msgstr "ยกเลิกคุณลักษณะจนกว่าจะออก" + +msgid "Measure" +msgstr "วัด" + +msgid "" +"Please confirm explosion ratio = 1, and please select at least one object." +msgstr "โปรดยืนยันอัตราส่วนการระเบิด = 1 และโปรดเลือกวัตถุอย่างน้อยหนึ่งชิ้น" + +msgid "Edit to scale" +msgstr "แก้ไขให้มีขนาด" +msgctxt "Verb" + +msgid "Scale all" +msgstr "ปรับขนาดทั้งหมด" + +msgid "None" +msgstr "ไม่มี" + +msgid "Diameter" +msgstr "เส้นผ่านศูนย์กลาง" + +msgid "Length" +msgstr "ความยาว" + +msgid "Selection" +msgstr "การเลือก" + +msgid " (Moving)" +msgstr "(ขนย้าย)" + +msgid "" +"Select 2 faces on objects and \n" +" make objects assemble together." +msgstr "เลือก 2 ผิวหน้าบนวัตถุและ \n ทำให้วัตถุมาประกอบกัน" + +msgid "" +"Select 2 points or circles on objects and \n" +" specify distance between them." +msgstr "เลือก 2 จุดหรือวงกลมบนวัตถุและ \n ระบุระยะห่างระหว่างพวกเขา" + +msgid "Face" +msgstr "หน้า" + +msgid " (Fixed)" +msgstr "(ที่ตายตัว)" + +msgid "Point" +msgstr "จุด" + +msgid "" +"Feature 1 has been reset, \n" +"feature 2 has been feature 1" +msgstr "ฟีเจอร์ที่ 1 ได้รับการรีเซ็ตแล้ว \nคุณลักษณะที่ 2 ได้กลายเป็นคุณลักษณะที่ 1" + +msgid "Copy to clipboard" +msgstr "คัดลอกไปยังคลิปบอร์ด" + +msgid "Perpendicular distance" +msgstr "ระยะทางตั้งฉาก" + +msgid "Distance" +msgstr "ระยะ" + +msgid "Direct distance" +msgstr "ระยะทางตรง" + +msgid "Distance XYZ" +msgstr "ระยะทาง XYZ" + +msgid "Parallel" +msgstr "ขนาน" + +msgid "Center coincidence" +msgstr "ความบังเอิญเป็นศูนย์" + +msgid "Feature 1" +msgstr "คุณสมบัติ 1" + +msgid "Reverse rotation" +msgstr "การหมุนย้อนกลับ" + +msgid "Rotate around center:" +msgstr "หมุนรอบศูนย์กลาง:" + +msgid "Parallel distance:" +msgstr "ระยะทางขนาน:" + +msgid "Flip by Face 2" +msgstr "พลิกตามผิวหน้า 2" + +msgid "Assemble" +msgstr "ประกอบ" + +msgid "Please confirm explosion ratio = 1 and select at least two volumes." +msgstr "โปรดยืนยันอัตราส่วนการระเบิด = 1 และเลือกอย่างน้อยสองวอลุ่ม" + +msgid "Please select at least two volumes." +msgstr "โปรดเลือกวอลุ่มอย่างน้อยสองรายการ" + +msgid "(Moving)" +msgstr "(ขนย้าย)" + +msgid "Point and point assembly" +msgstr "การประกอบแบบจุดและจุด" + +msgid "Warning: please select two different meshes." +msgstr "คำเตือน: โปรดเลือกตาข่ายสองอันที่แตกต่างกัน" + +msgid "Warning: please select Plane's feature." +msgstr "คำเตือน: โปรดเลือกคุณสมบัติของระนาบ" + +msgid "Warning: please select Point's or Circle's feature." +msgstr "คำเตือน: โปรดเลือกคุณลักษณะของจุดหรือวงกลม" + +msgid "" +"It is recommended to assemble the objects first,\n" +"because the objects is restriced to bed \n" +"and only parts can be lifted." +msgstr "ขอแนะนำให้ประกอบวัตถุก่อน\nเพราะสิ่งของนั้นถูกจำกัดไว้บนฐานพิมพ์ \nและยกได้เพียงบางส่วนเท่านั้น" + +msgid "Face and face assembly" +msgstr "การประกอบผิวหน้าและผิวหน้า" + +msgid "Ctrl+" +msgstr "Ctrl+" + +msgid "Alt+" +msgstr "Alt+" + +msgid "Notice" +msgstr "ประกาศ" + +msgid "Undefined" +msgstr "ไม่ระบุ" + +#, possible-boost-format +msgid "%1% was replaced with %2%" +msgstr "%1% ถูกแทนที่ด้วย %2%" + +msgid "The configuration may be generated by a newer version of OrcaSlicer." +msgstr "การกำหนดค่าอาจถูกสร้างขึ้นโดย OrcaSlicer เวอร์ชันใหม่กว่า" + +msgid "Some values have been replaced. Please check them:" +msgstr "ค่าบางค่าได้ถูกแทนที่แล้ว โปรดตรวจสอบ:" + +msgid "Process" +msgstr "กระบวนการ" + +msgid "Filament" +msgstr "เส้นพลาสติก" + +msgid "Machine" +msgstr "เครื่อง" + +msgid "Configuration package was loaded, but some values were not recognized." +msgstr "โหลดแพ็คเกจการกำหนดค่าแล้ว แต่ไม่รู้จักค่าบางค่า" + +#, possible-boost-format +msgid "" +"Configuration file \"%1%\" was loaded, but some values were not recognized." +msgstr "โหลดไฟล์การกำหนดค่า \"%1%\" แล้ว แต่ระบบไม่รู้จักค่าบางค่า" + +msgid "Loading configuration" +msgstr "กำลังโหลดการตั้งค่า" + +msgid "STEP files" +msgstr "ไฟล์ STEP" + +msgid "STL files" +msgstr "ไฟล์ STL" + +msgid "OBJ files" +msgstr "ไฟล์ OBJ" + +msgid "AMF files" +msgstr "ไฟล์ AMF" + +msgid "3MF files" +msgstr "ไฟล์ 3MF" + +msgid "Gcode 3MF files" +msgstr "ไฟล์ Gcode3MF" + +msgid "G-code files" +msgstr "ไฟล์ G-code" + +msgid "Supported files" +msgstr "ไฟล์ที่รองรับ" + +msgid "ZIP files" +msgstr "ไฟล์ ZIP" + +msgid "Project files" +msgstr "ไฟล์โปรเจกต์" + +msgid "Known files" +msgstr "ไฟล์ที่รู้จัก" + +msgid "INI files" +msgstr "ไฟล์ INI" + +msgid "SVG files" +msgstr "ไฟล์ SVG" + +msgid "Texture" +msgstr "พื้นผิว" + +msgid "Masked SLA files" +msgstr "ไฟล์ SLA ที่ปกปิด" + +msgid "Draco files" +msgstr "ไฟล์เดรโก" + +msgid "" +"OrcaSlicer will terminate because of running out of memory. It may be a bug. " +"It will be appreciated if you report the issue to our team." +msgstr "OrcaSlicer จะยุติลงเนื่องจากหน่วยความจำไม่เพียงพอ มันอาจจะเป็นข้อผิดพลาด เราจะยินดีเป็นอย่างยิ่งหากคุณรายงานปัญหาดังกล่าวให้ทีมงานของเราทราบ" + +msgid "Fatal error" +msgstr "ข้อผิดพลาดร้ายแรง" + +msgid "" +"OrcaSlicer will terminate because of a localization error. It will be " +"appreciated if you report the specific scenario this issue happened." +msgstr "OrcaSlicer จะยุติลงเนื่องจากข้อผิดพลาดในการแปล เราจะยินดีอย่างยิ่งหากคุณรายงานสถานการณ์เฉพาะที่ปัญหานี้เกิดขึ้น" + +msgid "Critical error" +msgstr "ข้อผิดพลาดร้ายแรง" + +#, possible-boost-format +msgid "OrcaSlicer got an unhandled exception: %1%" +msgstr "OrcaSlicer พบข้อยกเว้นที่ไม่ได้จัดการ: %1%" + +msgid "Untitled" +msgstr "ไม่มีชื่อ" + +msgid "Reloading network plug-in..." +msgstr "กำลังโหลดปลั๊กอินเครือข่ายใหม่..." + +msgid "Downloading Network Plug-in" +msgstr "กำลังดาวน์โหลดปลั๊กอินเครือข่าย" + +msgid "Downloading Bambu Network Plug-in" +msgstr "กำลังดาวน์โหลดปลั๊กอินเครือข่าย Bambu" + +msgid "Login information expired. Please login again." +msgstr "ข้อมูลการเข้าสู่ระบบหมดอายุ กรุณาเข้าสู่ระบบอีกครั้ง" + +msgid "Incorrect password" +msgstr "รหัสผ่านไม่ถูกต้อง" + +#, possible-c-format, possible-boost-format +msgid "Connect %s failed! [SN:%s, code=%s]" +msgstr "เชื่อมต่อ %s ล้มเหลว! [SN:%s, รหัส=%s]" + +msgid "" +"Orca Slicer requires the Microsoft WebView2 Runtime to operate certain " +"features.\n" +"Click Yes to install it now." +msgstr "Orca Slicer ต้องใช้ Microsoft WebView2 Runtime เพื่อใช้งานคุณสมบัติบางอย่าง\nคลิกใช่เพื่อติดตั้งทันที" + +msgid "WebView2 Runtime" +msgstr "รันไทม์ WebView2" + +#, possible-c-format, possible-boost-format +msgid "Resources path does not exist or is not a directory: %s" +msgstr "ไม่มีเส้นทางทรัพยากรหรือไม่ใช่ไดเรกทอรี: %s" + +#, possible-c-format, possible-boost-format +msgid "" +"%s\n" +"Do you want to continue?" +msgstr "%s\nคุณต้องการดำเนินการต่อหรือไม่?" + +msgid "Remember my choice" +msgstr "จดจำตัวเลือกของฉัน" + +#, possible-c-format, possible-boost-format +msgid "Click to download new version in default browser: %s" +msgstr "คลิกเพื่อดาวน์โหลดเวอร์ชันใหม่ในเบราว์เซอร์เริ่มต้น: %s" + +msgid "OrcaSlicer needs an update" +msgstr "OrcaSlicer ต้องการการอัปเดต" + +msgid "This is the newest version." +msgstr "นี่เป็นเวอร์ชันใหม่ล่าสุด" + +msgid "Info" +msgstr "ข้อมูล" + +msgid "Loading printer & filament profiles" +msgstr "กำลังโหลดโปรไฟล์เครื่องพิมพ์และฟิลาเมนต์" + +msgid "Creating main window" +msgstr "กำลังสร้างหน้าต่างหลัก" + +msgid "Loading current preset" +msgstr "กำลังโหลดค่าที่กำหนดล่วงหน้าปัจจุบัน" + +msgid "Showing main window" +msgstr "กำลังแสดงหน้าต่างหลัก" + +msgid "" +"The OrcaSlicer configuration file may be corrupted and cannot be parsed.\n" +"OrcaSlicer has attempted to recreate the configuration file.\n" +"Please note, application settings will be lost, but printer profiles will " +"not be affected." +msgstr "ไฟล์การกำหนดค่า OrcaSlicer อาจเสียหายและไม่สามารถแยกวิเคราะห์ได้\nOrcaSlicer พยายามสร้างไฟล์การกำหนดค่าใหม่\nโปรดทราบว่าการตั้งค่าแอปพลิเคชันจะหายไป แต่โปรไฟล์เครื่องพิมพ์จะไม่ได้รับผลกระทบ" + +msgid "Rebuild" +msgstr "สร้างใหม่" + +msgid "Loading current presets" +msgstr "กำลังโหลดค่าที่ตั้งล่วงหน้าปัจจุบัน" + +msgid "Loading a mode view" +msgstr "กำลังโหลดมุมมองโหมด" + +msgid "Choose one file (3MF):" +msgstr "เลือกหนึ่งไฟล์ (3MF):" + +msgid "Choose one or more files (3MF/STEP/STL/SVG/OBJ/AMF/USD*/ABC/PLY):" +msgstr "เลือกหนึ่งไฟล์ขึ้นไป (3MF/STEP/STL/SVG/OBJ/AMF/USD*/ABC/PLY):" + +msgid "Choose one or more files (3MF/STEP/STL/SVG/OBJ/AMF):" +msgstr "เลือกหนึ่งไฟล์ขึ้นไป (3MF/STEP/STL/SVG/OBJ/AMF):" + +msgid "Choose ZIP file" +msgstr "เลือกไฟล์ ZIP" + +msgid "Choose one file (GCODE/3MF):" +msgstr "เลือกหนึ่งไฟล์ (GCODE/3MF):" + +msgid "Ext" +msgstr "ต่อ" + +msgid "Some presets are modified." +msgstr "ค่าที่ตั้งล่วงหน้าบางส่วนได้รับการแก้ไข" + +msgid "" +"You can keep the modified presets to the new project, discard or save " +"changes as new presets." +msgstr "คุณสามารถเก็บค่าที่ตั้งล่วงหน้าที่แก้ไขแล้วไว้ในโปรเจ็กต์ใหม่ ทิ้งหรือบันทึกการเปลี่ยนแปลงเป็นค่าที่ตั้งล่วงหน้าใหม่ได้" + +msgid "User logged out" +msgstr "ผู้ใช้ออกจากระบบ" + +msgid "new or open project file is not allowed during the slicing process!" +msgstr "ไม่อนุญาตให้ใช้ไฟล์โครงการใหม่หรือเปิดในระหว่างกระบวนการแบ่งส่วน!" + +msgid "Open Project" +msgstr "เปิดโปรเจกต์" + +msgid "" +"The version of Orca Slicer is too low and needs to be updated to the latest " +"version before it can be used normally." +msgstr "Orca Slicer เวอร์ชันต่ำเกินไปและจำเป็นต้องอัปเดตเป็นเวอร์ชันล่าสุดก่อนจึงจะสามารถใช้งานได้ตามปกติ" + +#, possible-c-format, possible-boost-format +msgid "" +"Failed to connect to OrcaCloud.\n" +"Please check your network connectivity\n" +"(HTTP %u): %s" +msgstr "ไม่สามารถเชื่อมต่อกับ OrcaCloud\nโปรดตรวจสอบการเชื่อมต่อเครือข่ายของคุณ\n(HTTP %u): %s" + +#, possible-c-format, possible-boost-format +msgid "" +"Failed to connect to OrcaCloud.\n" +"Please check your network connectivity\n" +"(HTTP %u)" +msgstr "ไม่สามารถเชื่อมต่อกับ OrcaCloud\nโปรดตรวจสอบการเชื่อมต่อเครือข่ายของคุณ\n(HTTP %u)" + +msgid "Cloud Error" +msgstr "ข้อผิดพลาดคลาวด์" + +msgid "Retrieving printer information, please try again later." +msgstr "กำลังดึงข้อมูลเครื่องพิมพ์ โปรดลองอีกครั้งในภายหลัง" + +msgid "Please try updating OrcaSlicer and then try again." +msgstr "โปรดลองอัปเดต OrcaSlicer แล้วลองอีกครั้ง" + +msgid "" +"The certificate has expired. Please check the time settings or update " +"OrcaSlicer and try again." +msgstr "ใบรับรองหมดอายุแล้ว โปรดตรวจสอบการตั้งค่าเวลาหรืออัปเดต OrcaSlicer แล้วลองอีกครั้ง" + +msgid "" +"The certificate is no longer valid and the printing functions are " +"unavailable." +msgstr "ใบรับรองไม่ถูกต้องอีกต่อไป และฟังก์ชันการพิมพ์ไม่พร้อมใช้งาน" + +msgid "" +"Internal error. Please try upgrading the firmware and OrcaSlicer version. If " +"the issue persists, contact support." +msgstr "ข้อผิดพลาดภายใน โปรดลองอัปเกรดเฟิร์มแวร์และเวอร์ชัน OrcaSlicer หากปัญหายังคงอยู่ โปรดติดต่อฝ่ายสนับสนุน" + +msgid "" +"To use OrcaSlicer with Bambu Lab printers, you need to enable LAN mode and " +"Developer mode on your printer.\n" +"\n" +"Please go to your printer's settings and:\n" +"1. Turn on LAN mode\n" +"2. Enable Developer mode\n" +"\n" +"Developer mode allows the printer to work exclusively through local network " +"access, enabling full functionality with OrcaSlicer." +msgstr "หากต้องการใช้ OrcaSlicer กับเครื่องพิมพ์ Bambu Lab คุณต้องเปิดใช้งานโหมด LAN และโหมดนักพัฒนาซอฟต์แวร์บนเครื่องพิมพ์ของคุณ\n\nโปรดไปที่การตั้งค่าเครื่องพิมพ์ของคุณและ:\n1. เปิดโหมด LAN\n2. เปิดใช้งานโหมดนักพัฒนาซอฟต์แวร์\n\nโหมดนักพัฒนาซอฟต์แวร์ช่วยให้เครื่องพิมพ์ทำงานผ่านการเข้าถึงเครือข่ายท้องถิ่นโดยเฉพาะ เปิดใช้งานฟังก์ชันการทำงานเต็มรูปแบบด้วย OrcaSlicer" + +msgid "Network Plug-in Restriction" +msgstr "ข้อจำกัดปลั๊กอินเครือข่าย" + +msgid "Privacy Policy Update" +msgstr "การปรับปรุงนโยบายความเป็นส่วนตัว" + +#, possible-c-format, possible-boost-format +msgid "your Bambu Cloud profile (user ID: \"%s\")" +msgstr "โปรไฟล์ Bambu Cloud ของคุณ (รหัสผู้ใช้: \"%s\")" + +msgid "your default profile" +msgstr "โปรไฟล์เริ่มต้นของคุณ" + +#, possible-c-format, possible-boost-format +msgid "a user profile (folder: \"%s\")" +msgstr "โปรไฟล์ผู้ใช้ (โฟลเดอร์: \"%s\")" + +#, possible-c-format, possible-boost-format +msgid "" +"Existing user presets were found in %s.\n" +"Do you want to migrate them to your OrcaCloud profile?\n" +"This will copy your presets so they are available under your new account." +msgstr "พบค่าที่ตั้งล่วงหน้าของผู้ใช้ที่มีอยู่ใน %s\nคุณต้องการย้ายไปยังโปรไฟล์ OrcaCloud ของคุณหรือไม่?\nการดำเนินการนี้จะคัดลอกค่าที่ตั้งล่วงหน้าของคุณเพื่อให้สามารถใช้งานได้ภายใต้บัญชีใหม่ของคุณ" + +msgid "Migrate User Presets" +msgstr "ย้ายค่าที่ตั้งไว้ของผู้ใช้" + +#, possible-c-format, possible-boost-format +msgid "" +"Failed to migrate user presets:\n" +"%s" +msgstr "ไม่สามารถย้ายค่าที่ตั้งล่วงหน้าของผู้ใช้:\n%s" + +msgid "" +"The number of user presets cached in the cloud has exceeded the upper limit, " +"newly created user presets can only be used locally." +msgstr "จำนวนค่าที่ตั้งไว้ล่วงหน้าของผู้ใช้ที่แคชไว้ในคลาวด์เกินขีดจำกัดสูงสุด ค่าที่ตั้งไว้ล่วงหน้าของผู้ใช้ที่สร้างขึ้นใหม่สามารถใช้ได้เฉพาะในเครื่องเท่านั้น" + +msgid "Sync user presets" +msgstr "ซิงค์การตั้งค่าล่วงหน้าของผู้ใช้" + +msgid "" +"The preset content is too large to sync to the cloud (exceeds 1MB). Please " +"reduce the preset size by removing custom configurations or use it locally " +"only." +msgstr "เนื้อหาที่ตั้งไว้ล่วงหน้ามีขนาดใหญ่เกินกว่าจะซิงค์กับระบบคลาวด์ (เกิน 1MB) โปรดลดขนาดที่กำหนดไว้ล่วงหน้าโดยการลบการกำหนดค่าที่กำหนดเองออกหรือใช้เฉพาะในเครื่องเท่านั้น" + +#, possible-c-format, possible-boost-format +msgid "%s updated from %s to %s" +msgstr "%s อัปเดตจาก %s เป็น %s แล้ว" + +#, possible-c-format, possible-boost-format +msgid "%s has been downloaded." +msgstr "ดาวน์โหลด %s แล้ว" + +#, possible-c-format, possible-boost-format +msgid "Bundle %s is no longer available." +msgstr "บันเดิล %s ไม่มีให้บริการอีกต่อไป" + +#, possible-c-format, possible-boost-format +msgid "Bundle %s access is unauthorized." +msgstr "การเข้าถึง Bundle %s ไม่ได้รับอนุญาต" + +msgid "Loading user preset" +msgstr "กำลังโหลดค่าที่ตั้งล่วงหน้าของผู้ใช้" + +#, possible-c-format, possible-boost-format +msgid "%s has been removed." +msgstr "ลบ %s แล้ว" + +msgid "Switching application language" +msgstr "การเปลี่ยนภาษาของแอปพลิเคชัน" + +msgid "Select the language" +msgstr "เลือกภาษา" + +msgid "Language" +msgstr "ภาษา" + +msgid "*" +msgstr "*" + +msgid "Changing application language" +msgstr "การเปลี่ยนภาษาของแอปพลิเคชัน" + +msgid "The uploads are still ongoing" +msgstr "การอัปโหลดยังคงดำเนินต่อไป" + +msgid "Stop them and continue anyway?" +msgstr "หยุดพวกมันแล้วไปต่อเลยเหรอ?" + +msgid "Ongoing uploads" +msgstr "การอัปโหลดอย่างต่อเนื่อง" + +msgid "Select a G-code file:" +msgstr "เลือกไฟล์ G-code:" + +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "ไม่สามารถเริ่มการดาวน์โหลด URL ไม่ได้ตั้งค่าโฟลเดอร์ปลายทาง โปรดเลือกโฟลเดอร์ปลายทางในตัวช่วยสร้างการกำหนดค่า" + +msgid "Import File" +msgstr "นำเข้าไฟล์" + +msgid "Choose files" +msgstr "ไฟล์เลือก" + +msgid "New Folder" +msgstr "โฟลเดอร์ใหม่" + +msgid "Open" +msgstr "เปิด" + +msgid "Rename" +msgstr "เปลี่ยนชื่อ" + +msgid "Orca Slicer GUI initialization failed" +msgstr "การเริ่มต้น Orca Slicer GUI ล้มเหลว" + +#, possible-boost-format +msgid "Fatal error, exception caught: %1%" +msgstr "ข้อผิดพลาดร้ายแรง พบข้อยกเว้น: %1%" + +msgid "Quality" +msgstr "คุณภาพ" + +msgid "Shell" +msgstr "ผนัง" + +msgid "Infill" +msgstr "ไส้ใน" + +msgid "Support" +msgstr "ส่วนรองรับ" + +msgid "Flush options" +msgstr "ตัวเลือกการไล่เส้น" + +msgid "Speed" +msgstr "ความเร็ว" + +msgid "Strength" +msgstr "ความแข็งแรง" + +msgid "Top Solid Layers" +msgstr "เลเยอร์ทึบด้านบน" + +msgid "Top Minimum Shell Thickness" +msgstr "ความหนาของเปลือกขั้นต่ำสูงสุด" + +msgid "Top Surface Density" +msgstr "ความหนาแน่นพื้นผิวด้านบน" + +msgid "Bottom Solid Layers" +msgstr "เลเยอร์ทึบด้านล่าง" + +msgid "Bottom Minimum Shell Thickness" +msgstr "ความหนาของเปลือกขั้นต่ำด้านล่าง" + +msgid "Bottom Surface Density" +msgstr "ความหนาแน่นพื้นผิวด้านล่าง" + +msgid "Ironing" +msgstr "รีดผิว" + +msgid "Fuzzy Skin" +msgstr "ผิวฟัซซี" + +msgid "Extruders" +msgstr "ชุดดันเส้น" + +msgid "Extrusion Width" +msgstr "ความกว้างของการอัดขึ้นรูป" + +msgid "Wipe options" +msgstr "ตัวเลือกการเช็ดหัวฉีด" + +msgid "Bed adhesion" +msgstr "การยึดเกาะของฐานพิมพ์" + +msgid "Add part" +msgstr "เพิ่มส่วนหนึ่ง" + +msgid "Add negative part" +msgstr "เพิ่มส่วนที่เป็นลบ" + +msgid "Add modifier" +msgstr "เพิ่มตัวแก้ไข" + +msgid "Add support blocker" +msgstr "เพิ่มตัวบล็อกส่วนรองรับ" + +msgid "Add support enforcer" +msgstr "เพิ่มกำหนดส่วนรองรับ" + +msgid "Add text" +msgstr "เพิ่มข้อความ" + +msgid "Add negative text" +msgstr "เพิ่มข้อความเชิงลบ" + +msgid "Add text modifier" +msgstr "เพิ่มตัวแก้ไขข้อความ" + +msgid "Add SVG part" +msgstr "เพิ่มส่วน SVG" + +msgid "Add negative SVG" +msgstr "เพิ่ม SVG เชิงลบ" + +msgid "Add SVG modifier" +msgstr "เพิ่มตัวแก้ไข SVG" + +msgid "Select settings" +msgstr "การตั้งค่าเลือก" + +msgid "Hide" +msgstr "ซ่อน" + +msgid "Show" +msgstr "แสดง" + +msgid "Del" +msgstr "เดล" + +msgid "Delete the selected object" +msgstr "ลบวัตถุที่เลือก" + +msgid "Backspace" +msgstr "แบ็คสเปซ" + +msgid "Load..." +msgstr "โหลด..." + +msgid "Cube" +msgstr "ลูกบาศก์" + +msgid "Cylinder" +msgstr "ทรงกระบอก" + +msgid "Cone" +msgstr "ทรงกรวย" + +msgid "Disc" +msgstr "แผ่นกลม" + +msgid "Torus" +msgstr "ทอรัส" + +msgid "Orca Cube" +msgstr "ออร์ก้าคิวบ์" + +msgid "Orca Tolerance Test" +msgstr "การทดสอบค่าความเผื่อ Orca" + +msgid "3DBenchy" +msgstr "3Dbenchy" + +msgid "Cali Cat" +msgstr "แมวกาลี" + +msgid "Autodesk FDM Test" +msgstr "การทดสอบ Autodesk FDM" + +msgid "Voron Cube" +msgstr "โวรอน คิวบ์" + +msgid "Stanford Bunny" +msgstr "สแตนฟอร์ด บันนี่" + +msgid "Orca String Hell" +msgstr "ออร์ก้าสตริงนรก" + +msgid "" +"This model features text embossment on the top surface. For optimal results, " +"it is advisable to set the 'One Wall Threshold (min_width_top_surface)' to 0 " +"for the 'Only One Wall on Top Surfaces' to work best.\n" +"Yes - Change these settings automatically\n" +"No - Do not change these settings for me" +msgstr "รุ่นนี้มีข้อความนูนบนพื้นผิวด้านบน เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด ขอแนะนำให้ตั้งค่า 'เกณฑ์ผนังด้านเดียว (min_width_top_surface)' เป็น 0 เพื่อให้ 'ผนังด้านเดียวเท่านั้นบนพื้นผิวด้านบน' เพื่อให้ทำงานได้ดีที่สุด\nใช่ - เปลี่ยนการตั้งค่าเหล่านี้โดยอัตโนมัติ\nไม่ - อย่าเปลี่ยนการตั้งค่าเหล่านี้ให้ฉัน" + +msgid "Suggestion" +msgstr "คำแนะนำ" + +msgid "Text" +msgstr "ข้อความ" + +msgid "Height range Modifier" +msgstr "ตัวแก้ไขช่วงความสูง" + +msgid "Add settings" +msgstr "การตั้งค่าเพิ่ม" + +msgid "Change type" +msgstr "เปลี่ยนประเภท" + +msgid "Negative Part" +msgstr "ส่วนเชิงลบ" + +msgid "Support Blocker" +msgstr "ตัวบล็อกส่วนรองรับ" + +msgid "Support Enforcer" +msgstr "กำหนดส่วนรองรับ" + +msgid "Change part type" +msgstr "เปลี่ยนประเภทชิ้นส่วน" + +msgid "Set as an individual object" +msgstr "ตั้งเป็นวัตถุแต่ละรายการ" + +msgid "Set as individual objects" +msgstr "ตั้งเป็นวัตถุแต่ละรายการ" + +msgid "Fill bed with copies" +msgstr "เติมฐานพิมพ์ด้วยสำเนา" + +msgid "Fill the remaining area of bed with copies of the selected object" +msgstr "เติมพื้นที่ที่เหลือของฐานพิมพ์ด้วยสำเนาของวัตถุที่เลือก" + +msgid "Printable" +msgstr "พิมพ์ได้" + +msgid "Auto Drop" +msgstr "ดรอปอัตโนมัติ" + +msgid "Automatically drops the selected object to the build plate" +msgstr "วางวัตถุที่เลือกลงในเพลตฐานพิมพ์โดยอัตโนมัติ" + +msgid "Fix model" +msgstr "ซ่อมโมเดล" + +msgid "Export as one STL" +msgstr "ส่งออกเป็น STL เดียว" + +msgid "Export as STLs" +msgstr "ส่งออกเป็น STL" + +msgid "Export as one DRC" +msgstr "ส่งออกเป็น DRC เดียว" + +msgid "Export as DRCs" +msgstr "ส่งออกเป็น DRC" + +msgid "Reload from disk" +msgstr "โหลดซ้ำจากดิสก์" + +msgid "Reload the selected parts from disk" +msgstr "โหลดส่วนที่เลือกจากดิสก์อีกครั้ง" + +msgid "Replace 3D file" +msgstr "แทนที่ไฟล์ 3D" + +msgid "Replace the selected part with a new 3D file" +msgstr "แทนที่ส่วนที่เลือกด้วยไฟล์ 3D ใหม่" + +msgid "Replace all with 3D files" +msgstr "แทนที่ทั้งหมดด้วยไฟล์ 3D" + +msgid "Replace all selected parts with 3D files from folder" +msgstr "แทนที่ส่วนที่เลือกทั้งหมดด้วยไฟล์ 3D จากโฟลเดอร์" + +msgid "Change filament" +msgstr "เปลี่ยนเส้นพลาสติก" + +msgid "Set filament for selected items" +msgstr "ตั้งค่าเส้นพลาสติกสำหรับรายการที่เลือก" + +msgid "Default" +msgstr "ค่าเริ่มต้น" + +#, possible-c-format, possible-boost-format +msgid "Filament %d" +msgstr "เส้นพลาสติก %d" + +msgid "current" +msgstr "ปัจจุบัน" + +msgid "Scale to build volume" +msgstr "ปรับขนาดเพื่อสร้างปริมาณ" + +msgid "Scale an object to fit the build volume" +msgstr "ปรับขนาดวัตถุให้พอดีกับปริมาณงานสร้าง" + +msgid "Flush Options" +msgstr "ตัวเลือกการไล่เส้น" + +msgid "Flush into objects' infill" +msgstr "ไล่เส้นเข้าไปใน ไส้ใน ของวัตถุ" + +msgid "Flush into this object" +msgstr "พุ่งเข้าไปในวัตถุนี้" + +msgid "Flush into objects' support" +msgstr "ไล่เส้นเข้าไปในส่วนรองรับของวัตถุ" + +msgid "Edit in Parameter Table" +msgstr "แก้ไขในตารางพารามิเตอร์" + +msgid "Convert from inches" +msgstr "แปลงจากนิ้ว" + +msgid "Restore to inches" +msgstr "กลับคืนสู่นิ้ว" + +msgid "Convert from meters" +msgstr "แปลงจากเมตร" + +msgid "Restore to meters" +msgstr "คืนค่าเป็นเมตร" + +msgid "Assemble the selected objects into an object with multiple parts" +msgstr "ประกอบวัตถุที่เลือกให้เป็นวัตถุที่มีหลายส่วน" + +msgid "Assemble the selected objects into an object with single part" +msgstr "ประกอบวัตถุที่เลือกให้เป็นวัตถุที่มีส่วนเดียว" + +msgid "Mesh boolean" +msgstr "บูลีนแบบตาข่าย" + +msgid "Mesh boolean operations including union and subtraction" +msgstr "การดำเนินการบูลีนแบบ Mesh รวมถึงการรวมและการลบ" + +msgid "Along X axis" +msgstr "ตามแกน X" + +msgid "Mirror along the X axis" +msgstr "กลับด้านตามแกน X" + +msgid "Along Y axis" +msgstr "ตามแกน Y" + +msgid "Mirror along the Y axis" +msgstr "กลับด้านตามแกน Y" + +msgid "Along Z axis" +msgstr "ตามแกน Z" + +msgid "Mirror along the Z axis" +msgstr "กลับด้านตามแกน Z" + +msgid "Mirror object" +msgstr "วัตถุกระจก" + +msgid "Edit text" +msgstr "แก้ไขข้อความ" + +msgid "Ability to change text, font, size, ..." +msgstr "ความสามารถในการเปลี่ยนข้อความ แบบอักษร ขนาด ..." + +msgid "Edit SVG" +msgstr "แก้ไข SVG" + +msgid "Change SVG source file, projection, size, ..." +msgstr "เปลี่ยนไฟล์ต้นฉบับ SVG, การฉายภาพ, ขนาด, ..." + +msgid "Invalidate cut info" +msgstr "ข้อมูลการตัดไม่ถูกต้อง" + +msgid "Add Primitive" +msgstr "เพิ่มดั้งเดิม" + +msgid "Add Handy models" +msgstr "เพิ่มรุ่นแฮนดี้" + +msgid "Add Models" +msgstr "เพิ่มโมเดล" + +msgid "Show Labels" +msgstr "แสดงป้ายชื่อ" + +msgid "To objects" +msgstr "ไปยังวัตถุ" + +msgid "Split the selected object into multiple objects" +msgstr "แยกวัตถุที่เลือกออกเป็นหลายวัตถุ" + +msgid "To parts" +msgstr "เพื่อชิ้นส่วน" + +msgid "Split the selected object into multiple parts" +msgstr "แยกวัตถุที่เลือกออกเป็นหลายส่วน" + +msgid "Split" +msgstr "แยก" + +msgid "Split the selected object" +msgstr "แยกวัตถุที่เลือก" + +msgid "Auto orientation" +msgstr "การวางแนวอัตโนมัติ" + +msgid "Auto orient the object to improve print quality" +msgstr "ปรับทิศทางวัตถุโดยอัตโนมัติเพื่อปรับปรุงคุณภาพการพิมพ์" + +msgid "Edit" +msgstr "แก้ไข" + +msgid "Merge with" +msgstr "รวมกับ" + +msgid "Delete this filament" +msgstr "ลบเส้นพลาสติกนี้" + +msgid "Select All" +msgstr "เลือกทั้งหมด" + +msgid "Select all objects on the current plate" +msgstr "เลือกวัตถุทั้งหมดบนจานปัจจุบัน" + +msgid "Select All Plates" +msgstr "เลือกจานทั้งหมด" + +msgid "Select all objects on all plates" +msgstr "เลือกวัตถุทั้งหมดบนจานทั้งหมด" + +msgid "Delete All" +msgstr "ลบทั้งหมด" + +msgid "Delete all objects on the current plate" +msgstr "ลบวัตถุทั้งหมดบนแผ่นปัจจุบัน" + +msgid "Arrange" +msgstr "จัดเรียง" + +msgid "Arrange current plate" +msgstr "จัดจานปัจจุบัน" + +msgid "Reload All" +msgstr "โหลดใหม่ทั้งหมด" + +msgid "Reload all from disk" +msgstr "โหลดใหม่ทั้งหมดจากดิสก์" + +msgid "Auto Rotate" +msgstr "หมุนอัตโนมัติ" + +msgid "Auto rotate current plate" +msgstr "หมุนแผ่นปัจจุบันอัตโนมัติ" + +msgid "Delete Plate" +msgstr "ลบฐานพิมพ์" + +msgid "Remove the selected plate" +msgstr "นำแผ่นที่เลือกออก" + +msgid "Add instance" +msgstr "เพิ่มอินสแตนซ์" + +msgid "Add one more instance of the selected object" +msgstr "เพิ่มอีกหนึ่งอินสแตนซ์ของออบเจ็กต์ที่เลือก" + +msgid "Remove instance" +msgstr "ลบอินสแตนซ์" + +msgid "Remove one instance of the selected object" +msgstr "ลบหนึ่งอินสแตนซ์ของออบเจ็กต์ที่เลือก" + +msgid "Set number of instances" +msgstr "กำหนดจำนวนอินสแตนซ์" + +msgid "Change the number of instances of the selected object" +msgstr "เปลี่ยนจำนวนอินสแตนซ์ของวัตถุที่เลือก" + +msgid "Fill bed with instances" +msgstr "เติมฐานพิมพ์ด้วยอินสแตนซ์" + +msgid "Fill the remaining area of bed with instances of the selected object" +msgstr "เติมพื้นที่ที่เหลือของฐานพิมพ์ด้วยวัตถุที่เลือก" + +msgid "Clone" +msgstr "โคลน" + +msgid "Simplify Model" +msgstr "ลดความซับซ้อนของโมเดล" + +msgid "Subdivision mesh" +msgstr "แบ่งตาข่าย" + +msgid "(Lost color)" +msgstr "(สีที่หายไป)" + +msgid "Center" +msgstr "กึ่งกลาง" + +msgid "Drop" +msgstr "หยด" + +msgid "Edit Process Settings" +msgstr "แก้ไขการตั้งค่ากระบวนการ" + +msgid "Copy Process Settings" +msgstr "คัดลอกการตั้งค่ากระบวนการ" + +msgid "Paste Process Settings" +msgstr "วางการตั้งค่ากระบวนการ" + +msgid "Edit print parameters for a single object" +msgstr "แก้ไขพารามิเตอร์การพิมพ์สำหรับวัตถุเดียว" + +msgid "Change Filament" +msgstr "เปลี่ยนเส้นพลาสติก" + +msgid "Set Filament for selected items" +msgstr "ตั้งค่า เส้นพลาสติก สำหรับรายการที่เลือก" + +msgid "Automatically snaps the selected object to the build plate" +msgstr "ยึดวัตถุที่เลือกเข้ากับฐานรองพิมพ์โดยอัตโนมัติ" + +msgid "Unlock" +msgstr "ปลดล็อค" + +msgid "Lock" +msgstr "ล็อค" + +msgid "Edit Plate Name" +msgstr "แก้ไขชื่อเพลท" + +msgid "Name" +msgstr "ชื่อ" + +msgid "Fila." +msgstr "ฟิล่า." + +#, possible-c-format, possible-boost-format +msgid "%1$d error repaired" +msgid_plural "%1$d errors repaired" +msgstr[0] "ซ่อมแซมข้อผิดพลาดแล้ว %1$d รายการ" + +#, possible-c-format, possible-boost-format +msgid "Error: %1$d non-manifold edge." +msgid_plural "Error: %1$d non-manifold edges." +msgstr[0] "ข้อผิดพลาด: พบขอบ non-manifold จำนวน %1$d ขอบ" + +msgid "Remaining errors" +msgstr "ข้อผิดพลาดที่เหลืออยู่" + +#, possible-c-format, possible-boost-format +msgid "%1$d non-manifold edge" +msgid_plural "%1$d non-manifold edges" +msgstr[0] "ขอบ non-manifold จำนวน %1$d ขอบ" + +msgid "Click the icon to repair model object" +msgstr "คลิกที่ไอคอนเพื่อซ่อมแซมโมเดลออบเจ็กต์" + +msgid "Right button click the icon to drop the object settings" +msgstr "คลิกขวาที่ไอคอนเพื่อยกเลิกการตั้งค่าออบเจ็กต์" + +msgid "Click the icon to reset all settings of the object" +msgstr "คลิกที่ไอคอนเพื่อรีเซ็ตการตั้งค่าทั้งหมดของออบเจ็กต์" + +msgid "Right button click the icon to drop the object printable property" +msgstr "คลิกขวาที่ไอคอนเพื่อปล่อยคุณสมบัติการพิมพ์ของออบเจ็กต์" + +msgid "Click the icon to toggle printable property of the object" +msgstr "คลิกที่ไอคอนเพื่อสลับคุณสมบัติการพิมพ์ของออบเจ็กต์" + +msgid "Click the icon to edit support painting of the object" +msgstr "คลิกที่ไอคอนเพื่อแก้ไขภาพวาดส่วนรองรับของวัตถุ" + +msgid "Click the icon to edit color painting of the object" +msgstr "คลิกที่ไอคอนเพื่อแก้ไขการวาดภาพสีของวัตถุ" + +msgid "Click the icon to shift this object to the bed" +msgstr "คลิกที่ไอคอนเพื่อเลื่อนวัตถุนี้ไปที่ฐานพิมพ์" + +msgid "Loading file" +msgstr "กำลังโหลดไฟล์" + +msgid "Error!" +msgstr "ข้อผิดพลาด!" + +msgid "Failed to get the model data in the current file." +msgstr "ไม่สามารถรับข้อมูลโมเดลในไฟล์ปัจจุบัน" + +msgid "Generic" +msgstr "ทั่วไป" + +msgid "Add Modifier" +msgstr "เพิ่มตัวแก้ไข" + +msgid "Switch to per-object setting mode to edit modifier settings." +msgstr "สลับไปที่โหมดการตั้งค่าต่อวัตถุเพื่อแก้ไขการตั้งค่าตัวแก้ไข" + +msgid "" +"Switch to per-object setting mode to edit process settings of selected " +"objects." +msgstr "สลับไปที่โหมดการตั้งค่าต่ออ็อบเจ็กต์เพื่อแก้ไขการตั้งค่ากระบวนการของอ็อบเจ็กต์ที่เลือก" + +msgid "Remove paint-on fuzzy skin" +msgstr "ลบสีบนผิวที่คลุมเครือ" + +msgid "Delete connector from object which is a part of cut" +msgstr "ลบตัวเชื่อมต่อออกจากวัตถุที่เป็นส่วนหนึ่งของการตัด" + +msgid "Delete solid part from object which is a part of cut" +msgstr "ลบส่วนที่เป็นของแข็งออกจากวัตถุที่เป็นส่วนหนึ่งของการตัด" + +msgid "Delete negative volume from object which is a part of cut" +msgstr "ลบปริมาตรเชิงลบออกจากวัตถุซึ่งเป็นส่วนหนึ่งของการตัด" + +msgid "" +"To save cut correspondence you can delete all connectors from all related " +"objects." +msgstr "หากต้องการบันทึกการติดต่อตัด คุณสามารถลบตัวเชื่อมต่อทั้งหมดออกจากวัตถุที่เกี่ยวข้องทั้งหมดได้" + +msgid "" +"This action will break a cut correspondence.\n" +"After that model consistency can't be guaranteed.\n" +"\n" +"To manipulate with solid parts or negative volumes you have to invalidate " +"cut information first." +msgstr "การกระทำนี้จะตัดการติดต่อทางจดหมาย\nหลังจากนั้นจึงไม่สามารถรับประกันความสอดคล้องของโมเดลได้\n\nหากต้องการจัดการกับชิ้นส่วนที่เป็นของแข็งหรือปริมาตรเป็นลบ คุณต้องทำให้ข้อมูลการตัดเป็นโมฆะก่อน" + +msgid "Delete all connectors" +msgstr "ลบตัวเชื่อมต่อทั้งหมด" + +msgid "Deleting the last solid part is not allowed." +msgstr "ไม่อนุญาตให้ลบส่วนที่เป็นของแข็งสุดท้าย" + +msgid "The target object contains only one part and can not be split." +msgstr "วัตถุเป้าหมายมีเพียงส่วนเดียวและไม่สามารถแยกออกได้" + +msgid "Assembly" +msgstr "การประกอบ" + +msgid "Cut Connectors information" +msgstr "ตัดข้อมูลตัวเชื่อมต่อ" + +msgid "Object manipulation" +msgstr "การจัดการวัตถุ" + +msgid "Group manipulation" +msgstr "การจัดการกลุ่ม" + +msgid "Object Settings to modify" +msgstr "การตั้งค่าวัตถุที่จะแก้ไข" + +msgid "Part Settings to modify" +msgstr "การตั้งค่าส่วนที่จะแก้ไข" + +msgid "Layer range Settings to modify" +msgstr "การตั้งค่าช่วงชั้นที่จะแก้ไข" + +msgid "Part manipulation" +msgstr "การจัดการชิ้นส่วน" + +msgid "Instance manipulation" +msgstr "การจัดการอินสแตนซ์" + +msgid "Height ranges" +msgstr "ช่วงความสูง" + +msgid "Settings for height range" +msgstr "การตั้งค่าช่วงความสูง" + +msgid "Layer" +msgstr "เลเยอร์" + +msgid "Selection conflicts" +msgstr "ข้อขัดแย้งในการคัดเลือก" + +msgid "" +"If the first selected item is an object, the second should also be an object." +msgstr "หากรายการแรกที่เลือกเป็นวัตถุ รายการที่สองก็ควรเป็นวัตถุด้วย" + +msgid "" +"If the first selected item is a part, the second should be a part in the " +"same object." +msgstr "หากรายการแรกที่เลือกเป็นส่วนหนึ่ง รายการที่สองควรเป็นส่วนในวัตถุเดียวกัน" + +msgid "The type of the last solid object part is not to be changed." +msgstr "ประเภทของชิ้นส่วนวัตถุทึบชิ้นสุดท้ายจะไม่ถูกเปลี่ยนแปลง" + +msgid "Type:" +msgstr "ชนิด:" + +msgid "Choose part type" +msgstr "เลือกประเภทชิ้นส่วน" + +msgid "Enter new name" +msgstr "ป้อนชื่อใหม่" + +msgid "Renaming" +msgstr "กำลังเปลี่ยนชื่อ" + +msgid "Following model object has been repaired" +msgid_plural "Following model objects have been repaired" +msgstr[0] "ซ่อมแซมวัตถุโมเดลต่อไปนี้แล้ว" + +msgid "Failed to repair following model object" +msgid_plural "Failed to repair following model objects" +msgstr[0] "ล้มเหลวในการซ่อมแซมวัตถุโมเดลต่อไปนี้" + +msgid "Repairing was canceled" +msgstr "การซ่อมแซมถูกยกเลิก" + +#, possible-c-format, possible-boost-format +msgid "" +"\"%s\" will exceed 1 million faces after this subdivision, which may " +"increase slicing time. Do you want to continue?" +msgstr "\"%s\" จะมีเกิน 1 ล้านผิวหน้าหลังจากการแบ่งย่อยนี้ ซึ่งอาจเพิ่มเวลาการแบ่งส่วน คุณต้องการดำเนินการต่อหรือไม่?" + +#, possible-c-format, possible-boost-format +msgid "\"%s\" part's mesh contains errors. Please repair it first." +msgstr "mesh ของส่วน \"%s\" มีข้อผิดพลาด กรุณาซ่อมแซมก่อน." + +msgid "Additional process preset" +msgstr "การตั้งค่าล่วงหน้าของกระบวนการเพิ่มไส้ใน" + +msgid "Remove parameter" +msgstr "ลบพารามิเตอร์" + +msgid "to" +msgstr "ถึง" + +msgid "Remove height range" +msgstr "ลบช่วงความสูง" + +msgid "Add height range" +msgstr "เพิ่มช่วงความสูง" + +msgid "Invalid numeric." +msgstr "ตัวเลขไม่ถูกต้อง" + +msgid "One cell can only be copied to one or more cells in the same column." +msgstr "สามารถคัดลอกเซลล์หนึ่งเซลล์ไปยังเซลล์ตั้งแต่หนึ่งเซลล์ขึ้นไปในคอลัมน์เดียวกันเท่านั้น" + +msgid "Copying multiple cells is not supported." +msgstr "ไม่รองรับการคัดลอกหลายเซลล์" + +msgid "Outside" +msgstr "ด้านนอก" + +msgid "Layer height" +msgstr "ความสูงเลเยอร์" + +msgid "Wall loops" +msgstr "จำนวนรอบผนัง" + +msgid "Infill density(%)" +msgstr "ความหนาแน่นไส้ใน (%)" + +msgid "Auto Brim" +msgstr "ขอบยึดชิ้นงาน อัตโนมัติ" + +msgid "Mouse ear" +msgstr "หูหนู" + +msgid "Painted" +msgstr "ทาสี" + +msgid "Outer brim only" +msgstr "ขอบยึดชิ้นงานด้านนอกเท่านั้น" + +msgid "Inner brim only" +msgstr "ขอบยึดชิ้นงานด้านในเท่านั้น" + +msgid "Outer and inner brim" +msgstr "ขอบยึดชิ้นงานด้านนอกและด้านใน" + +msgid "No-brim" +msgstr "ไม่มี ขอบยึดชิ้นงาน" + +msgid "Outer wall speed" +msgstr "ความเร็วผนังด้านนอก" + +msgid "Plate" +msgstr "ฐานพิมพ์" + +msgid "Brim" +msgstr "ขอบยึดชิ้นงาน" + +msgid "Object/Part Settings" +msgstr "การตั้งค่าวัตถุ/ชิ้นส่วน" + +msgid "Reset parameter" +msgstr "รีเซ็ตพารามิเตอร์" + +msgid "Multicolor Print" +msgstr "พิมพ์หลากสี" + +msgid "Line Type" +msgstr "ประเภทเส้น" + +#, possible-c-format, possible-boost-format +msgid "1x1 Grid: %d mm" +msgstr "1x1 ตาราง: %d มม" + +msgid "More" +msgstr "เพิ่มเติม" + +msgid "Open Preferences." +msgstr "เปิดการตั้งค่า" + +msgid "Open next tip." +msgstr "เปิดเคล็ดลับถัดไป" + +msgid "Open Documentation in web browser." +msgstr "เปิดเอกสารในเว็บเบราว์เซอร์" + +msgid "Color" +msgstr "สี" + +msgid "Pause" +msgstr "หยุดชั่วคราว" + +msgid "Template" +msgstr "แม่แบบ" + +msgid "Custom" +msgstr "กำหนดเอง" + +msgid "Pause:" +msgstr "หยุดชั่วคราว:" + +msgid "Custom Template:" +msgstr "เทมเพลตที่กำหนดเอง:" + +msgid "Custom G-code:" +msgstr "รหัส G ที่กำหนดเอง:" + +msgid "Custom G-code" +msgstr "รหัส G ที่กำหนดเอง" + +msgid "Enter Custom G-code used on current layer:" +msgstr "ป้อนรหัส G ที่กำหนดเองที่ใช้ในเลเยอร์ปัจจุบัน:" + +msgid "Jump to Layer" +msgstr "ข้ามไปที่เลเยอร์" + +msgid "Please enter the layer number" +msgstr "กรุณากรอกหมายเลขชั้น" + +msgid "Add Pause" +msgstr "เพิ่มการหยุดชั่วคราว" + +msgid "Insert a pause command at the beginning of this layer." +msgstr "แทรกคำสั่งหยุดชั่วคราวที่จุดเริ่มต้นของเลเยอร์นี้" + +msgid "Add Custom G-code" +msgstr "เพิ่มรหัส G ที่กำหนดเอง" + +msgid "Insert custom G-code at the beginning of this layer." +msgstr "แทรก G-code ที่กำหนดเองที่จุดเริ่มต้นของเลเยอร์นี้" + +msgid "Add Custom Template" +msgstr "เพิ่มเทมเพลตที่กำหนดเอง" + +msgid "Insert template custom G-code at the beginning of this layer." +msgstr "แทรก G-code ที่กำหนดเองของเทมเพลตที่จุดเริ่มต้นของเลเยอร์นี้" + +msgid "Filament " +msgstr "เส้นพลาสติก " + +msgid "Change filament at the beginning of this layer." +msgstr "เปลี่ยนเส้นพลาสติกที่จุดเริ่มต้นของชั้นนี้" + +msgid "Delete Pause" +msgstr "ลบการหยุดชั่วคราว" + +msgid "Delete Custom Template" +msgstr "ลบเทมเพลตแบบกำหนดเอง" + +msgid "Edit Custom G-code" +msgstr "แก้ไขรหัส G ที่กำหนดเอง" + +msgid "Delete Custom G-code" +msgstr "ลบรหัส G แบบกำหนดเอง" + +msgid "Delete Filament Change" +msgstr "ลบการเปลี่ยนแปลงเส้นพลาสติก" + +msgid "No printer" +msgstr "ไม่มีเครื่องพิมพ์" + +msgid "..." +msgstr "..." + +msgid "Failed to connect to the server" +msgstr "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์" + +msgid "Check the status of current system services" +msgstr "ตรวจสอบสถานะของบริการระบบปัจจุบัน" + +msgid "code" +msgstr "รหัส" + +msgid "Failed to connect to cloud service" +msgstr "เชื่อมต่อบริการคลาวด์ไม่สำเร็จ" + +msgid "Please click on the hyperlink above to view the cloud service status" +msgstr "โปรดคลิกที่ไฮเปอร์ลิงก์ด้านบนเพื่อดูสถานะบริการคลาวด์" + +msgid "Failed to connect to the printer" +msgstr "เชื่อมต่อเครื่องพิมพ์ไม่สำเร็จ" + +msgid "Connection to printer failed" +msgstr "การเชื่อมต่อเครื่องพิมพ์ล้มเหลว" + +msgid "Please check the network connection of the printer and Orca." +msgstr "โปรดตรวจสอบการเชื่อมต่อเครือข่ายของเครื่องพิมพ์และ Orca" + +msgid "Connecting..." +msgstr "กำลังเชื่อมต่อ..." + +msgid "Auto Refill" +msgstr "เติมเส้นอัตโนมัติ" + +msgid "Load" +msgstr "โหลด" + +msgid "Unload" +msgstr "ถอนเส้น" + +msgid "" +"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " +"load or unload filaments." +msgstr "เลือกช่อง AMS จากนั้นกดปุ่ม \"โหลด\" หรือ \"ยกเลิกการโหลด\" เพื่อโหลดหรือยกเลิกการโหลดฟิลาเมนต์โดยอัตโนมัติ" + +msgid "" +"Filament type is unknown which is required to perform this action. Please " +"set target filament's informations." +msgstr "ไม่ทราบประเภทเส้นพลาสติกซึ่งจำเป็นต่อการดำเนินการนี้ กรุณาตั้งค่าข้อมูลของเส้นพลาสติกเป้าหมาย" + +msgid "" +"Changing fan speed during printing may affect print quality, please choose " +"carefully." +msgstr "การเปลี่ยนความเร็วพัดลมระหว่างการพิมพ์อาจส่งผลต่อคุณภาพการพิมพ์ โปรดเลือกอย่างระมัดระวัง" + +msgid "Change Anyway" +msgstr "เปลี่ยนยังไงก็ได้" + +msgid "Off" +msgstr "ปิด" + +msgid "Filter" +msgstr "กรอง" + +msgid "" +"Enabling filtration redirects the right fan to filter gas, which may reduce " +"cooling performance." +msgstr "การเปิดใช้งานการกรองจะเปลี่ยนเส้นทางพัดลมที่เหมาะสมไปกรองก๊าซ ซึ่งอาจลดประสิทธิภาพการทำความเย็น" + +msgid "" +"Enabling filtration during printing may reduce cooling and affect print " +"quality. Please choose carefully." +msgstr "การเปิดใช้งานการกรองระหว่างการพิมพ์อาจลดความเย็นและส่งผลต่อคุณภาพการพิมพ์ โปรดเลือกอย่างระมัดระวัง" + +msgid "" +"The selected material only supports the current fan mode, and it can't be " +"changed during printing." +msgstr "วัสดุที่เลือกรองรับเฉพาะโหมดพัดลมปัจจุบันเท่านั้น และไม่สามารถเปลี่ยนแปลงได้ในระหว่างการพิมพ์" + +msgid "Cooling" +msgstr "การระบายความร้อน" + +msgid "Heating" +msgstr "กำลังทำความร้อน" + +msgid "Exhaust" +msgstr "ระบายอากาศ" + +msgid "Full Cooling" +msgstr "ระบายความร้อนเต็มที่" + +msgid "Init" +msgstr "เริ่มต้น" + +msgid "Chamber" +msgstr "ห้องพิมพ์" + +msgid "Innerloop" +msgstr "อินเนอร์ลูป" + +#. TRN To be shown in the main menu View->Top +msgid "Top" +msgstr "บน" + +msgid "" +"The fan controls the temperature during printing to improve print quality. " +"The system automatically adjusts the fan's switch and speed according to " +"different printing materials." +msgstr "พัดลมจะควบคุมอุณหภูมิระหว่างการพิมพ์เพื่อปรับปรุงคุณภาพการพิมพ์ ระบบจะปรับสวิตช์และความเร็วของพัดลมโดยอัตโนมัติตามวัสดุการพิมพ์ที่แตกต่างกัน" + +msgid "" +"Cooling mode is suitable for printing PLA/PETG/TPU materials and filters the " +"chamber air." +msgstr "โหมดทำความเย็นเหมาะสำหรับการพิมพ์วัสดุ PLA/PETG/TPU และกรองอากาศในห้อง" + +msgid "" +"Heating mode is suitable for printing ABS/ASA/PC/PA materials and circulates " +"filters the chamber air." +msgstr "โหมดทำความร้อนเหมาะสำหรับการพิมพ์วัสดุ ABS/ASA/PC/PA และหมุนเวียนตัวกรองอากาศในห้อง" + +msgid "" +"Strong cooling mode is suitable for printing PLA/TPU materials. In this " +"mode, the printouts will be fully cooled." +msgstr "โหมดระบายความร้อนสูงเหมาะสำหรับการพิมพ์วัสดุ PLA/TPU ในโหมดนี้ งานพิมพ์จะถูกระบายความร้อนเต็มที่" + +msgid "Cooling mode is suitable for printing PLA/PETG/TPU materials." +msgstr "โหมดทำความเย็นเหมาะสำหรับการพิมพ์วัสดุ PLA/PETG/TPU" +msgctxt "air_duct" + +msgid "Right(Aux)" +msgstr "ขวา(AUX)" +msgctxt "air_duct" + +msgid "Right(Filter)" +msgstr "ขวา(ตัวกรอง)" +msgctxt "air_duct" + +msgid "Left(Aux)" +msgstr "ซ้าย(เสริม)" + +msgid "Hotend" +msgstr "ฮอตเอนด์" + +msgid "Parts" +msgstr "ชิ้นส่วน" + +msgid "Aux" +msgstr "เสริม" + +msgid "Nozzle1" +msgstr "หัวฉีด1" + +msgid "MC Board" +msgstr "บอร์ด MC" + +msgid "Heat" +msgstr "ทำความร้อน" + +msgid "Fan" +msgstr "พัดลม" + +msgid "Idling..." +msgstr "ว่าง..." + +msgid "Heat the nozzle" +msgstr "อุ่นหัวฉีด" + +msgid "Cut filament" +msgstr "ตัดเส้นพลาสติก" + +msgid "Pull back current filament" +msgstr "ดึงไส้ปัจจุบันกลับ" + +msgid "Push new filament into extruder" +msgstr "ดันเส้นพลาสติกใหม่เข้าไปในชุดดันเส้น" + +msgid "Grab new filament" +msgstr "คว้าเส้นพลาสติกใหม่" + +msgid "Purge old filament" +msgstr "ล้างเส้นพลาสติกเก่า" + +msgid "Confirm extruded" +msgstr "ยืนยันการอัดขึ้นรูป" + +msgid "Check filament location" +msgstr "ตรวจสอบตำแหน่งของเส้นพลาสติก" + +msgid "The maximum temperature cannot exceed " +msgstr "อุณหภูมิสูงสุดต้องไม่เกิน " + +msgid "The minmum temperature should not be less than " +msgstr "อุณหภูมิต่ำสุดไม่ควรต่ำกว่า" + +msgid "" +"All the selected objects are on a locked plate.\n" +"Cannot auto-arrange these objects." +msgstr "วัตถุที่เลือกทั้งหมดอยู่บนแผ่นล็อค\nไม่สามารถจัดเรียงวัตถุเหล่านี้โดยอัตโนมัติ" + +msgid "No arrangeable objects are selected." +msgstr "ไม่มีการเลือกวัตถุที่สามารถจัดเรียงได้" + +msgid "" +"This plate is locked.\n" +"Cannot auto-arrange on this plate." +msgstr "จานนี้ถูกล็อค\nไม่สามารถจัดเรียงอัตโนมัติบนจานนี้ได้" + +msgid "Arranging..." +msgstr "กำลังจัด..." + +msgid "Arranging" +msgstr "การจัด" + +msgid "Arranging canceled." +msgstr "ยกเลิกการจัดเตรียมแล้ว" + +msgid "" +"Arranging is done but there are unpacked items. Reduce spacing and try again." +msgstr "จัดเตรียมของเสร็จแต่มีของที่แกะออกมา ลดระยะห่างแล้วลองอีกครั้ง" + +msgid "Arranging done." +msgstr "จัดการเรียบร้อยแล้ว." + +msgid "" +"Arrange failed. Found some exceptions when processing object geometries." +msgstr "การจัดเรียงล้มเหลว พบข้อยกเว้นบางประการเมื่อประมวลผลรูปทรงของวัตถุ" + +#, possible-c-format, possible-boost-format +msgid "" +"Arrangement ignored the following objects which can't fit into a single " +"bed:\n" +"%s" +msgstr "การจัดวางจะละเลยวัตถุต่อไปนี้ซึ่งไม่สามารถบรรจุลงในฐานพิมพ์เดี่ยวได้:\n%s" + +msgid "" +"All the selected objects are on a locked plate.\n" +"Cannot auto-orient these objects." +msgstr "วัตถุที่เลือกทั้งหมดอยู่บนแผ่นล็อค\nไม่สามารถปรับทิศทางวัตถุเหล่านี้ได้โดยอัตโนมัติ" + +msgid "" +"This plate is locked.\n" +"Cannot auto-orient on this plate." +msgstr "จานนี้ถูกล็อค\nไม่สามารถปรับทิศทางอัตโนมัติบนจานนี้ได้" + +msgid "Orienting..." +msgstr "กำลังปรับทิศทาง..." + +msgid "Orienting" +msgstr "การวางแนว" + +msgid "Orienting canceled." +msgstr "ยกเลิกการปฐมนิเทศแล้ว" + +msgid "Filling" +msgstr "กำลังเติม" + +msgid "Bed filling canceled." +msgstr "การเติมฐานพิมพ์ถูกยกเลิก" + +msgid "Bed filling done." +msgstr "การเติมฐานพิมพ์เสร็จสิ้น" + +msgid "Searching for optimal orientation" +msgstr "กำลังค้นหาการวางแนวที่เหมาะสมที่สุด" + +msgid "Orientation search canceled." +msgstr "การค้นหาการวางแนวถูกยกเลิก" + +msgid "Orientation found." +msgstr "พบการวางแนว" + +msgid "Logging in" +msgstr "เข้าสู่ระบบ" + +msgid "Login failed" +msgstr "การเข้าสู่ระบบล้มเหลว" + +msgid "Please check the printer network connection." +msgstr "โปรดตรวจสอบการเชื่อมต่อเครือข่ายเครื่องพิมพ์" + +msgid "Abnormal print file data. Please slice again." +msgstr "ข้อมูลไฟล์การพิมพ์ผิดปกติ กรุณาหั่นอีกครั้ง." + +msgid "Task canceled." +msgstr "ยกเลิกงานแล้ว" + +msgid "Upload task timed out. Please check the network status and try again." +msgstr "งานอัปโหลดหมดเวลา โปรดตรวจสอบสถานะเครือข่ายแล้วลองอีกครั้ง" + +msgid "Cloud service connection failed. Please try again." +msgstr "การเชื่อมต่อบริการคลาวด์ล้มเหลว โปรดลองอีกครั้ง" + +msgid "Print file not found. Please slice again." +msgstr "ไม่พบไฟล์การพิมพ์ กรุณาหั่นอีกครั้ง." + +msgid "" +"The print file exceeds the maximum allowable size (1GB). Please simplify the " +"model and slice again." +msgstr "ไฟล์พิมพ์เกินขนาดสูงสุดที่อนุญาต (1GB) โปรดทำให้โมเดลง่ายขึ้นและแบ่งส่วนอีกครั้ง" + +msgid "Failed to send the print job. Please try again." +msgstr "ไม่สามารถส่งงานพิมพ์ได้ โปรดลองอีกครั้ง" + +msgid "Failed to upload file to ftp. Please try again." +msgstr "ไม่สามารถอัปโหลดไฟล์ไปยัง ftp โปรดลองอีกครั้ง" + +msgid "" +"Check the current status of the bambu server by clicking on the link above." +msgstr "ตรวจสอบสถานะปัจจุบันของเซิร์ฟเวอร์ bambu โดยคลิกที่ลิงค์ด้านบน" + +msgid "" +"The size of the print file is too large. Please adjust the file size and try " +"again." +msgstr "ขนาดของไฟล์การพิมพ์ใหญ่เกินไป โปรดปรับขนาดไฟล์แล้วลองอีกครั้ง" + +msgid "Print file not found, please slice it again and send it for printing." +msgstr "ไม่พบไฟล์พิมพ์ โปรดหั่นอีกครั้งและส่งไปพิมพ์" + +msgid "" +"Failed to upload print file to FTP. Please check the network status and try " +"again." +msgstr "ไม่สามารถอัปโหลดไฟล์พิมพ์ไปยัง FTP โปรดตรวจสอบสถานะเครือข่ายแล้วลองอีกครั้ง" + +msgid "Sending print job over LAN" +msgstr "การส่งงานพิมพ์ผ่าน LAN" + +msgid "Sending print job through cloud service" +msgstr "การส่งงานพิมพ์ผ่านบริการคลาวด์" + +msgid "Print task sending times out." +msgstr "งานพิมพ์หมดเวลาส่งงาน" + +msgid "Service Unavailable" +msgstr "บริการไม่พร้อมใช้งาน" + +msgid "Unknown Error." +msgstr "ข้อผิดพลาดไม่ทราบสาเหตุ" + +msgid "Sending print configuration" +msgstr "กำลังส่งการกำหนดค่าการพิมพ์" + +#, possible-c-format, possible-boost-format +msgid "Successfully sent. Will automatically jump to the device page in %ss" +msgstr "ส่งเรียบร้อยแล้ว. จะข้ามไปที่หน้าอุปกรณ์โดยอัตโนมัติใน %ss" + +#, possible-c-format, possible-boost-format +msgid "Successfully sent. Will automatically jump to the next page in %ss" +msgstr "ส่งเรียบร้อยแล้ว. จะข้ามไปยังหน้าถัดไปโดยอัตโนมัติใน %ss" + +#, possible-c-format, possible-boost-format +msgid "Access code:%s IP address:%s" +msgstr "รหัสเข้าถึง:%s ที่อยู่ IP:%s" + +msgid "A Storage needs to be inserted before printing via LAN." +msgstr "ต้องใส่ที่เก็บข้อมูลก่อนที่จะพิมพ์ผ่าน LAN" + +msgid "" +"Sending print job over LAN, but the Storage in the printer is abnormal and " +"print-issues may be caused by this." +msgstr "การส่งงานพิมพ์ผ่าน LAN แต่ที่เก็บข้อมูลในเครื่องพิมพ์ผิดปกติและปัญหาการพิมพ์อาจมีสาเหตุจากสิ่งนี้" + +msgid "" +"The Storage in the printer is abnormal. Please replace it with a normal " +"Storage before sending print job to printer." +msgstr "พื้นที่จัดเก็บข้อมูลในเครื่องพิมพ์ผิดปกติ โปรดแทนที่ด้วยที่เก็บข้อมูลปกติก่อนที่จะส่งงานพิมพ์ไปยังเครื่องพิมพ์" + +msgid "" +"The Storage in the printer is read-only. Please replace it with a normal " +"Storage before sending print job to printer." +msgstr "ที่เก็บข้อมูลในเครื่องพิมพ์เป็นแบบอ่านอย่างเดียว โปรดแทนที่ด้วยที่เก็บข้อมูลปกติก่อนที่จะส่งงานพิมพ์ไปยังเครื่องพิมพ์" + +msgid "Encountered an unknown error with the Storage status. Please try again." +msgstr "พบข้อผิดพลาดที่ไม่ทราบสาเหตุเกี่ยวกับสถานะการจัดเก็บ โปรดลองอีกครั้ง" + +msgid "Sending G-code file over LAN" +msgstr "การส่งไฟล์ G-code ผ่าน LAN" + +msgid "Sending G-code file to SD card" +msgstr "กำลังส่งไฟล์ G-code ไปยังการ์ด SD" + +#, possible-c-format, possible-boost-format +msgid "Successfully sent. Close current page in %s s" +msgstr "ส่งสำเร็จ หน้านี้จะปิดใน %s วินาที" + +msgid "Storage needs to be inserted before sending to printer." +msgstr "ต้องใส่ที่เก็บข้อมูลก่อนที่จะส่งไปยังเครื่องพิมพ์" + +msgid "" +"Sending G-code file over LAN, but the Storage in the printer is abnormal and " +"print-issues may be caused by this." +msgstr "กำลังส่งไฟล์ G-code ผ่าน LAN แต่ที่เก็บข้อมูลในเครื่องพิมพ์ผิดปกติและปัญหาการพิมพ์อาจมีสาเหตุจากสิ่งนี้" + +msgid "" +"The Storage in the printer is abnormal. Please replace it with a normal " +"Storage before sending to printer." +msgstr "พื้นที่จัดเก็บข้อมูลในเครื่องพิมพ์ผิดปกติ โปรดแทนที่ด้วยที่เก็บข้อมูลปกติก่อนที่จะส่งไปยังเครื่องพิมพ์" + +msgid "" +"The Storage in the printer is read-only. Please replace it with a normal " +"Storage before sending to printer." +msgstr "ที่เก็บข้อมูลในเครื่องพิมพ์เป็นแบบอ่านอย่างเดียว โปรดแทนที่ด้วยที่เก็บข้อมูลปกติก่อนที่จะส่งไปยังเครื่องพิมพ์" + +msgid "Bad input data for EmbossCreateObjectJob." +msgstr "ข้อมูลอินพุตไม่ถูกต้องสำหรับ EmbossCreateObjectJob" + +msgid "Add Emboss text object" +msgstr "เพิ่มวัตถุข้อความนูน" + +msgid "Bad input data for EmbossUpdateJob." +msgstr "ข้อมูลอินพุตไม่ถูกต้องสำหรับ EmbossUpdateJob" + +msgid "Created text volume is empty. Change text or font." +msgstr "ปริมาณข้อความที่สร้างว่างเปล่า เปลี่ยนข้อความหรือแบบอักษร" + +msgid "Bad input data for CreateSurfaceVolumeJob." +msgstr "ข้อมูลอินพุตไม่ถูกต้องสำหรับ CreateSurfaceVolumeJob" + +msgid "Bad input data for UseSurfaceJob." +msgstr "ข้อมูลอินพุตไม่ถูกต้องสำหรับ UseSurfaceJob" + +#. TRN: This is the title of the action appearing in undo/redo stack. +#. It is same for Text and SVG. +msgid "Emboss attribute change" +msgstr "การเปลี่ยนแปลงคุณลักษณะนูน" + +msgid "Add Emboss text Volume" +msgstr "เพิ่มปริมาณข้อความลายนูน" + +msgid "Font doesn't have any shape for given text." +msgstr "แบบอักษรไม่มีรูปร่างสำหรับข้อความที่กำหนด" + +msgid "There is no valid surface for text projection." +msgstr "ไม่มีพื้นผิวที่ถูกต้องสำหรับการฉายข้อความ" + +msgid "Thermal Preconditioning for first layer optimization" +msgstr "การปรับสภาพล่วงหน้าด้วยความร้อนเพื่อการเพิ่มประสิทธิภาพชั้นแรก" + +msgid "Remaining time: Calculating..." +msgstr "เวลาที่เหลืออยู่: กำลังคำนวณ..." + +msgid "" +"The heated bed's thermal preconditioning helps optimize the first layer " +"print quality. Printing will start once preconditioning is complete." +msgstr "การปรับสภาพความร้อนล่วงหน้าของฐานพิมพ์อุ่นช่วยปรับคุณภาพการพิมพ์ชั้นแรกให้เหมาะสมที่สุด การพิมพ์จะเริ่มขึ้นเมื่อการปรับสภาพเบื้องต้นเสร็จสิ้น" + +#, possible-c-format, possible-boost-format +msgid "Remaining time: %dmin%ds" +msgstr "เวลาที่เหลือ: %d นาที %d วินาที" + +msgid "Importing SLA archive" +msgstr "การนำเข้าไฟล์เก็บถาวร SLA" + +msgid "" +"The SLA archive doesn't contain any presets. Please activate some SLA " +"printer preset first before importing that SLA archive." +msgstr "ไฟล์เก็บถาวร SLA ไม่มีการตั้งค่าล่วงหน้าใดๆ โปรดเปิดใช้งานเครื่องพิมพ์ SLA ที่ตั้งไว้ล่วงหน้าก่อนที่จะนำเข้าไฟล์เก็บถาวร SLA นั้น" + +msgid "Importing canceled." +msgstr "การนำเข้าถูกยกเลิก" + +msgid "Importing done." +msgstr "นำเข้าเรียบร้อยแล้ว" + +msgid "" +"The imported SLA archive did not contain any presets. The current SLA " +"presets were used as fallback." +msgstr "ไฟล์เก็บถาวร SLA ที่นำเข้าไม่มีการตั้งค่าล่วงหน้าใดๆ ค่าที่ตั้งไว้ล่วงหน้าของ SLA ปัจจุบันถูกใช้เป็นทางเลือก" + +msgid "You cannot load SLA project with a multi-part object on the bed" +msgstr "คุณไม่สามารถโหลดโครงการ SLA ที่มีวัตถุหลายส่วนบนฐานพิมพ์ได้" + +msgid "Please check your object list before preset changing." +msgstr "โปรดตรวจสอบรายการวัตถุของคุณก่อนที่จะเปลี่ยนค่าที่ตั้งล่วงหน้า" + +msgid "Attention!" +msgstr "โปรดทราบ!" + +msgid "Downloading" +msgstr "กำลังดาวน์โหลด" + +msgid "Download failed" +msgstr "ดาวน์โหลดล้มเหลว" + +msgid "Canceled" +msgstr "ยกเลิกแล้ว" + +msgid "Installed successfully" +msgstr "ติดตั้งสำเร็จ" + +msgid "Installing" +msgstr "กำลังติดตั้ง" + +msgid "Install failed" +msgstr "ติดตั้งล้มเหลว" + +msgid "Portions copyright" +msgstr "ลิขสิทธิ์บางส่วน" + +msgid "Copyright" +msgstr "ลิขสิทธิ์" + +msgid "License" +msgstr "ใบอนุญาต" + +msgid "Orca Slicer is licensed under " +msgstr "Orca Slicer ได้รับอนุญาตภายใต้" + +msgid "GNU Affero General Public License, version 3" +msgstr "ใบอนุญาตสาธารณะทั่วไปของ GNU Affero เวอร์ชัน 3" + +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" +msgstr "Orca Slicer ขึ้นอยู่กับ PrusaSlicer และ BambuStudio" + +msgid "Libraries" +msgstr "ห้องสมุด" + +msgid "" +"This software uses open source components whose copyright and other " +"proprietary rights belong to their respective owners" +msgstr "ซอฟต์แวร์นี้ใช้ส่วนประกอบโอเพ่นซอร์สซึ่งมีลิขสิทธิ์และกรรมสิทธิ์อื่น ๆ เป็นของเจ้าของที่เกี่ยวข้อง" + +#, possible-c-format, possible-boost-format +msgid "About %s" +msgstr "เกี่ยวกับ %s" + +msgid "" +"Open-source slicing stands on a tradition of collaboration and attribution. " +"Slic3r, created by Alessandro Ranellucci and the RepRap community, laid the " +"foundation. PrusaSlicer by Prusa Research built on that work, Bambu Studio " +"forked from PrusaSlicer, and SuperSlicer extended it with community-driven " +"enhancements. Each project carried the work of its predecessors forward, " +"crediting those who came before." +msgstr "การแบ่งส่วนโอเพ่นซอร์สยืนหยัดบนพื้นฐานของการทำงานร่วมกันและการระบุแหล่งที่มา Slic3r ซึ่งสร้างโดย Alessandro Ranellucci และชุมชน RepRap ได้วางรากฐาน PrusaSlicer โดย Prusa Research สร้างขึ้นจากผลงานดังกล่าว Bambu Studio แยกจาก PrusaSlicer และ SuperSlicer ได้ขยายขอบเขตด้วยการปรับปรุงที่ขับเคลื่อนโดยชุมชน แต่ละโครงการได้สานต่องานของรุ่นก่อนไปข้างหน้า โดยให้เครดิตผู้ที่มาก่อนหน้านี้" + +msgid "" +"OrcaSlicer began in that same spirit, drawing from PrusaSlicer, BambuStudio, " +"SuperSlicer, and CuraSlicer. But it has since grown far beyond its origins — " +"introducing advanced calibration tools, precise wall and seam control and " +"hundreds of other features." +msgstr "OrcaSlicer เริ่มต้นด้วยจิตวิญญาณเดียวกัน โดยวาดจาก PrusaSlicer, BambuStudio, SuperSlicer และ CuraSlicer แต่ตั้งแต่นั้นเป็นต้นมามันก็เติบโตไปไกลเกินกว่าต้นกำเนิด โดยนำเสนอเครื่องมือสอบเทียบขั้นสูง การควบคุมผนังและรอยตะเข็บที่แม่นยำ และคุณสมบัติอื่น ๆ หลายร้อยรายการ" + +msgid "" +"Today, OrcaSlicer is the most widely used and actively developed open-source " +"slicer in the 3D printing community. Many of its innovations have been " +"adopted by other slicers, making it a driving force for the entire industry." +msgstr "ปัจจุบัน OrcaSlicer เป็นตัวแบ่งส่วนข้อมูลแบบโอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายและได้รับการพัฒนาอย่างแข็งขันที่สุดในชุมชนการพิมพ์ 3 มิติ นวัตกรรมหลายอย่างของบริษัทได้ถูกนำไปใช้โดยตัวแบ่งส่วนข้อมูลอื่นๆ ทำให้สิ่งนี้เป็นแรงผลักดันสำหรับอุตสาหกรรมทั้งหมด" + +msgid "Version" +msgstr "เวอร์ชัน" + +msgid "AMS Materials Setting" +msgstr "การตั้งค่าวัสดุ AMS" + +msgid "Confirm" +msgstr "ยืนยัน" + +msgid "Close" +msgstr "ปิด" + +msgid "" +"Nozzle\n" +"Temperature" +msgstr "หัวฉีด\nอุณหภูมิ" + +msgid "max" +msgstr "สูงสุด" + +msgid "min" +msgstr "ต่ำสุด" + +#, possible-boost-format +msgid "The input value should be greater than %1% and less than %2%" +msgstr "ค่าอินพุตควรมากกว่า %1% และน้อยกว่า %2%" + +msgid "SN" +msgstr "ส.น" + +msgid "Factors of Flow Dynamics Calibration" +msgstr "ปัจจัยของการสอบเทียบโฟลว์ไดนามิกส์" + +msgid "PA Profile" +msgstr "โปรไฟล์ PA" + +msgid "Factor K" +msgstr "ปัจจัยเค" + +msgid "Factor N" +msgstr "ปัจจัย N" + +msgid "Setting AMS slot information while printing is not supported" +msgstr "ไม่รองรับการตั้งค่าข้อมูลสล็อต AMS ขณะพิมพ์" + +msgid "Setting Virtual slot information while printing is not supported" +msgstr "ไม่รองรับการตั้งค่าข้อมูลสล็อตเสมือนขณะพิมพ์" + +msgid "Are you sure you want to clear the filament information?" +msgstr "คุณแน่ใจหรือไม่ว่าต้องการล้างข้อมูลฟิลาเมนต์" + +msgid "You need to select the material type and color first." +msgstr "คุณต้องเลือกประเภทวัสดุและสีก่อน" + +#, possible-c-format, possible-boost-format +msgid "Please input a valid value (K in %.1f~%.1f)" +msgstr "โปรดป้อนค่าที่ถูกต้อง (K อยู่ในช่วง %.1f~%.1f)" + +#, possible-c-format, possible-boost-format +msgid "Please input a valid value (K in %.1f~%.1f, N in %.1f~%.1f)" +msgstr "โปรดป้อนค่าที่ถูกต้อง (K ใน %.1f~%.1f, N ใน %.1f~%.1f)" + +msgid "" +"The nozzle flow is not set. Please set the nozzle flow rate before editing " +"the filament.\n" +"'Device -> Print parts'" +msgstr "ไม่ได้ตั้งค่าการไหลของหัวฉีด โปรดตั้งค่าอัตราการไหลของหัวฉีดก่อนที่จะแก้ไขเส้นพลาสติก\n'อุปกรณ์ -> พิมพ์ชิ้นส่วน'" + +msgid "AMS" +msgstr "AMS" + +msgid "Other Color" +msgstr "สีอื่น" + +msgid "Custom Color" +msgstr "สีกำหนดเอง" + +msgid "Dynamic flow calibration" +msgstr "ปรับเทียบการไหลแบบไดนามิก" + +msgid "" +"The nozzle temp and max volumetric speed will affect the calibration " +"results. Please fill in the same values as the actual printing. They can be " +"auto-filled by selecting a filament preset." +msgstr "อุณหภูมิหัวฉีดและความเร็วปริมาตรสูงสุดจะส่งผลต่อผลการสอบเทียบ กรุณากรอกค่าเดียวกันกับการพิมพ์จริง สามารถไส้ในเส้นได้อัตโนมัติโดยเลือกค่าเส้นสายที่ตั้งไว้ล่วงหน้า" + +msgid "Nozzle Diameter" +msgstr "เส้นผ่านศูนย์กลางหัวฉีด" + +msgid "Bed Type" +msgstr "ชนิดฐานพิมพ์" + +msgid "Nozzle temperature" +msgstr "อุณหภูมิหัวฉีด" + +msgid "Bed Temperature" +msgstr "อุณหภูมิฐานพิมพ์" + +msgid "Max volumetric speed" +msgstr "ความเร็วปริมาตรสูงสุด" + +msgid "℃" +msgstr "℃" + +msgid "Bed temperature" +msgstr "อุณหภูมิฐานพิมพ์" + +msgid "mm³" +msgstr "มม.³" + +msgid "Start calibration" +msgstr "เริ่มปรับเทียบ" + +msgid "Next" +msgstr "ถัดไป" + +msgid "" +"Calibration completed. Please find the most uniform extrusion line on your " +"hot bed like the picture below, and fill the value on its left side into the " +"factor K input box." +msgstr "การสอบเทียบเสร็จสิ้น โปรดค้นหาเส้นการอัดรีดที่สม่ำเสมอที่สุดบนฐานพิมพ์ร้อนของคุณดังภาพด้านล่าง และกรอกค่าทางด้านซ้ายลงในกล่องอินพุตแฟคเตอร์ K" + +msgid "Save" +msgstr "บันทึก" + +msgid "Last Step" +msgstr "ขั้นตอนสุดท้าย" + +msgid "Example" +msgstr "ตัวอย่าง" + +#, possible-c-format, possible-boost-format +msgid "Calibrating... %d%%" +msgstr "กำลังปรับเทียบ... %d%%" + +msgid "Calibration completed" +msgstr "ปรับเทียบเสร็จแล้ว" + +#, possible-c-format, possible-boost-format +msgid "%s does not support %s" +msgstr "%s ไม่รองรับ %s" + +msgid "Dynamic flow Calibration" +msgstr "การสอบเทียบการไหลแบบไดนามิก" + +msgid "Step" +msgstr "ขั้นตอน" + +msgid "Unmapped" +msgstr "ไม่ได้แมป" + +msgid "" +"Upper half area: Original\n" +"Lower half area: The filament from original project will be used when " +"unmapped.\n" +"And you can click it to modify" +msgstr "พื้นที่ครึ่งบน: ต้นฉบับ\nพื้นที่ครึ่งล่าง: เส้นพลาสติกจากโปรเจ็กต์ดั้งเดิมจะถูกใช้เมื่อไม่ได้แมป\nและคุณสามารถคลิกเพื่อแก้ไขได้" + +msgid "" +"Upper half area: Original\n" +"Lower half area: Filament in AMS\n" +"And you can click it to modify" +msgstr "พื้นที่ครึ่งบน: ต้นฉบับ\nบริเวณครึ่งล่าง: เส้นพลาสติกใน AMS\nและคุณสามารถคลิกเพื่อแก้ไขได้" + +msgid "" +"Upper half area: Original\n" +"Lower half area: Filament in AMS\n" +"And you cannot click it to modify" +msgstr "พื้นที่ครึ่งบน: ต้นฉบับ\nบริเวณครึ่งล่าง: เส้นพลาสติกใน AMS\nและคุณไม่สามารถคลิกเพื่อแก้ไขได้" + +msgid "AMS Slots" +msgstr "สล็อต AMS" + +msgid "Please select from the following filaments" +msgstr "กรุณาเลือกจากเส้นพลาสติกต่อไปนี้" + +msgid "Select filament that installed to the left nozzle" +msgstr "เลือกเส้นพลาสติกที่ติดตั้งไว้ที่หัวฉีดด้านซ้าย" + +msgid "Select filament that installed to the right nozzle" +msgstr "เลือกเส้นพลาสติกที่ติดตั้งไว้ที่หัวฉีดด้านขวา" + +msgid "Left AMS" +msgstr "AMS ซ้าย" + +msgid "External" +msgstr "ภายนอก" + +msgid "Reset current filament mapping" +msgstr "รีเซ็ตการแมปเส้นพลาสติกปัจจุบัน" + +msgid "Right AMS" +msgstr "AMS ขวา" + +msgid "Left Nozzle" +msgstr "หัวฉีดซ้าย" + +msgid "Right Nozzle" +msgstr "หัวฉีดขวา" + +msgid "Nozzle" +msgstr "หัวฉีด" + +#, possible-c-format, possible-boost-format +msgid "" +"Note: the filament type(%s) does not match with the filament type(%s) in the " +"slicing file. If you want to use this slot, you can install %s instead of %s " +"and change slot information on the 'Device' page." +msgstr "หมายเหตุ: ประเภทเส้นพลาสติก (%s) ไม่ตรงกับประเภทเส้นพลาสติก (%s) ในไฟล์การแบ่งส่วน หากคุณต้องการใช้ช่องนี้ คุณสามารถติดตั้ง %s แทน %s และเปลี่ยนข้อมูลช่องบนหน้า 'อุปกรณ์'" + +#, possible-c-format, possible-boost-format +msgid "" +"Note: the slot is empty or undefined. If you want to use this slot, you can " +"install %s and change slot information on the 'Device' page." +msgstr "หมายเหตุ: ช่องว่างเปล่าหรือไม่ได้กำหนด หากคุณต้องการใช้ช่องนี้ คุณสามารถติดตั้ง %s และเปลี่ยนข้อมูลช่องได้ในหน้า 'อุปกรณ์'" + +msgid "Note: Only filament-loaded slots can be selected." +msgstr "หมายเหตุ: สามารถเลือกได้เฉพาะช่องที่ใส่ฟิลาเมนท์เท่านั้น" + +msgid "Enable AMS" +msgstr "เปิดใช้ AMS" + +msgid "Print with filaments in the AMS" +msgstr "พิมพ์ด้วยเส้นพลาสติกในระบบ AMS" + +msgid "Disable AMS" +msgstr "ปิดใช้ AMS" + +msgid "Print with the filament mounted on the back of chassis" +msgstr "พิมพ์โดยติดฟิลาเมนท์ไว้ที่ด้านหลังของตัวเครื่อง" + +msgid "" +"Please change the desiccant when it is too wet. The indicator may not " +"represent accurately in following cases: when the lid is open or the " +"desiccant pack is changed. It take hours to absorb the moisture, and low " +"temperatures also slow down the process." +msgstr "โปรดเปลี่ยนสารดูดความชื้นเมื่อเปียกเกินไป ตัวบ่งชี้อาจแสดงไม่ถูกต้องในกรณีต่อไปนี้: เมื่อเปิดฝาหรือเปลี่ยนชุดดูดความชื้น การดูดซับความชื้นใช้เวลาหลายชั่วโมง และอุณหภูมิที่ต่ำยังทำให้กระบวนการช้าลงอีกด้วย" + +msgid "" +"Configure which AMS slot should be used for a filament used in the print job." +msgstr "กำหนดค่าช่อง AMS ที่จะใช้สำหรับเส้นพลาสติกที่ใช้ในงานพิมพ์" + +msgid "Filament used in this print job" +msgstr "เส้นพลาสติกที่ใช้ในงานพิมพ์นี้" + +msgid "AMS slot used for this filament" +msgstr "ช่อง AMS ที่ใช้สำหรับเส้นพลาสติกนี้" + +msgid "Click to select AMS slot manually" +msgstr "คลิกเพื่อเลือกช่อง AMS ด้วยตนเอง" + +msgid "Do not Enable AMS" +msgstr "อย่าเปิดใช้งาน AMS" + +msgid "Print using materials mounted on the back of the case" +msgstr "พิมพ์โดยใช้วัสดุที่ติดตั้งอยู่ที่ด้านหลังของเคส" + +msgid "Print with filaments in AMS" +msgstr "พิมพ์ด้วยเส้นพลาสติกในระบบ AMS" + +msgid "Print with filaments mounted on the back of the chassis" +msgstr "พิมพ์โดยใช้เส้นพลาสติกติดตั้งอยู่ที่ด้านหลังของตัวเครื่อง" + +msgid "Left" +msgstr "ซ้าย" + +msgid "Right" +msgstr "ขวา" + +msgid "" +"When the current material run out, the printer will continue to print in the " +"following order." +msgstr "เมื่อวัสดุปัจจุบันหมด เครื่องพิมพ์จะพิมพ์ต่อตามลำดับต่อไปนี้" + +msgid "Identical filament: same brand, type and color." +msgstr "เส้นพลาสติกเหมือนกัน: ยี่ห้อ ชนิด และสีเดียวกัน" + +msgid "Group" +msgstr "กลุ่ม" + +msgid "" +"When the current material runs out, the printer would use identical filament " +"to continue printing." +msgstr "เมื่อวัสดุที่ใช้ในปัจจุบันหมด เครื่องพิมพ์จะใช้เส้นพลาสติกที่เหมือนกันเพื่อพิมพ์ต่อ" + +msgid "The printer does not currently support auto refill." +msgstr "ขณะนี้เครื่องพิมพ์ไม่รองรับการโหลดเส้นอัตโนมัติ" + +msgid "" +"AMS filament backup is not enabled, please enable it in the AMS settings." +msgstr "ไม่ได้เปิดใช้งานการสำรองข้อมูลเส้นพลาสติก AMS โปรดเปิดใช้งานในการตั้งค่า AMS" + +msgid "" +"When the current filament runs out, the printer will use identical filament " +"to continue printing.\n" +"*Identical filament: same brand, type and color." +msgstr "เมื่อเส้นพลาสติกปัจจุบันหมด เครื่องพิมพ์จะใช้เส้นพลาสติกที่เหมือนกันเพื่อพิมพ์ต่อ\n*เส้นพลาสติกเหมือนกัน: ยี่ห้อ ประเภท และสีเดียวกัน" + +msgid "DRY" +msgstr "แห้ง" + +msgid "WET" +msgstr "ชื้น" + +msgid "AMS Settings" +msgstr "การตั้งค่า AMS" + +msgid "Insertion update" +msgstr "การอัพเดตการแทรก" + +msgid "" +"The AMS will automatically read the filament information when inserting a " +"new Bambu Lab filament. This takes about 20 seconds." +msgstr "AMS จะอ่านข้อมูลเส้นพลาสติกโดยอัตโนมัติเมื่อใส่เส้นพลาสติก Bambu Lab ใหม่ This takes about 20 seconds." + +msgid "" +"Note: if a new filament is inserted during printing, the AMS will not " +"automatically read any information until printing is completed." +msgstr "หมายเหตุ: หากใส่เส้นพลาสติกใหม่ระหว่างการพิมพ์ AMS จะไม่อ่านข้อมูลใดๆ โดยอัตโนมัติจนกว่าการพิมพ์จะเสร็จสิ้น" + +msgid "" +"When inserting a new filament, the AMS will not automatically read its " +"information, leaving it blank for you to enter manually." +msgstr "เมื่อใส่เส้นพลาสติกใหม่ AMS จะไม่อ่านข้อมูลโดยอัตโนมัติ ปล่อยให้ว่างไว้เพื่อให้คุณป้อนด้วยตนเอง" + +msgid "Power on update" +msgstr "เปิดการอัพเดต" + +msgid "" +"The AMS will automatically read the information of inserted filament on " +"start-up. It will take about 1 minute. The reading process will roll the " +"filament spools." +msgstr "AMS จะอ่านข้อมูลของเส้นพลาสติกที่ใส่ไว้โดยอัตโนมัติเมื่อสตาร์ทเครื่อง จะใช้เวลาประมาณ 1 นาที กระบวนการอ่านจะม้วนแกนเส้นพลาสติก" + +msgid "" +"The AMS will not automatically read information from inserted filament " +"during startup and will continue to use the information recorded before the " +"last shutdown." +msgstr "AMS จะไม่อ่านข้อมูลจากเส้นพลาสติกที่แทรกไว้โดยอัตโนมัติระหว่างการเริ่มต้นระบบ และจะยังคงใช้ข้อมูลที่บันทึกไว้ก่อนการปิดระบบครั้งล่าสุด" + +msgid "Update remaining capacity" +msgstr "อัพเดตความจุคงเหลือ" + +msgid "" +"AMS will attempt to estimate the remaining capacity of the Bambu Lab " +"filaments." +msgstr "AMS จะพยายามประเมินกำลังการผลิตที่เหลืออยู่ของเส้นพลาสติก Bambu Lab" + +msgid "AMS filament backup" +msgstr "การสำรองข้อมูลเส้นพลาสติก AMS" + +msgid "" +"AMS will continue to another spool with matching filament properties " +"automatically when current filament runs out." +msgstr "AMS จะดำเนินการต่อไปยังแกนม้วนอื่นที่มีคุณสมบัติเส้นพลาสติกที่ตรงกันโดยอัตโนมัติเมื่อเส้นพลาสติกปัจจุบันหมด" + +msgid "Air Printing Detection" +msgstr "การตรวจจับการพิมพ์ทางอากาศ" + +msgid "" +"Detects clogging and filament grinding, halting printing immediately to " +"conserve time and filament." +msgstr "ตรวจจับการอุดตันและการบดเส้นพลาสติก หยุดการพิมพ์ทันทีเพื่อประหยัดเวลาและเส้นพลาสติก" + +msgid "AMS Type" +msgstr "ประเภทเอเอ็มเอส" + +msgid "Switching" +msgstr "การสลับ" + +msgid "The printer is busy and cannot switch AMS type." +msgstr "เครื่องพิมพ์ไม่ว่างและไม่สามารถสลับประเภท AMS ได้" + +msgid "Please unload all filament before switching." +msgstr "กรุณาขนเส้นพลาสติกทั้งหมดออกก่อนที่จะเปลี่ยน" + +msgid "AMS type switching needs firmware update, taking about 30s. Switch now?" +msgstr "การสลับประเภท AMS จำเป็นต้องอัปเดตเฟิร์มแวร์ โดยใช้เวลาประมาณ 30 วินาที สลับตอนนี้?" + +msgid "Arrange AMS Order" +msgstr "จัดเรียงคำสั่งซื้อ AMS" + +msgid "" +"AMS ID will be reset. If you want a specific ID sequence, disconnect all AMS " +"before resetting and connect them in the desired order after resetting." +msgstr "รหัส AMS จะถูกรีเซ็ต หากคุณต้องการลำดับ ID เฉพาะ ให้ยกเลิกการเชื่อมต่อ AMS ทั้งหมดก่อนที่จะรีเซ็ต และเชื่อมต่อตามลำดับที่ต้องการหลังจากรีเซ็ต" + +msgid "File" +msgstr "ไฟล์" + +msgid "Calibration" +msgstr "การปรับเทียบ" + +msgid "" +"Failed to download the plug-in. Please check your firewall settings and VPN " +"software and retry." +msgstr "ดาวน์โหลดปลั๊กอินไม่สำเร็จ โปรดตรวจสอบการตั้งค่าไฟร์วอลล์และซอฟต์แวร์ VPN แล้วลองอีกครั้ง" + +msgid "" +"Failed to install the plug-in. The plug-in file may be in use. Please " +"restart OrcaSlicer and try again. Also check whether it is blocked or " +"deleted by anti-virus software." +msgstr "ไม่สามารถติดตั้งปลั๊กอินได้ ไฟล์ปลั๊กอินอาจถูกใช้งานอยู่ โปรดรีสตาร์ท OrcaSlicer แล้วลองอีกครั้ง ตรวจสอบด้วยว่าซอฟต์แวร์ป้องกันไวรัสบล็อกหรือลบหรือไม่" + +msgid "Click here to see more info" +msgstr "คลิกที่นี่เพื่อดูข้อมูลเพิ่มเติม" + +msgid "" +"The network plug-in was installed but could not be loaded. Please restart " +"the application." +msgstr "ติดตั้งปลั๊กอินเครือข่ายแล้ว แต่ไม่สามารถโหลดได้ กรุณารีสตาร์ทแอปพลิเคชัน" + +msgid "Restart Required" +msgstr "ต้องเริ่มใหม่" + +msgid "Please home all axes (click " +msgstr "กรุณากลับบ้านทุกแกน (คลิก" + +msgid "" +") to locate the toolhead's position. This prevents device moving beyond the " +"printable boundary and causing equipment wear." +msgstr ") เพื่อค้นหาตำแหน่งของหัวเครื่องมือ เพื่อป้องกันไม่ให้อุปกรณ์เคลื่อนที่เกินขอบเขตที่สามารถพิมพ์ได้ และทำให้อุปกรณ์สึกหรอ" + +msgid "Go Home" +msgstr "กลับจุดอ้างอิง" + +msgid "" +"A error occurred. Maybe memory of system is not enough or it's a bug of the " +"program" +msgstr "เกิดข้อผิดพลาด บางทีหน่วยความจำของระบบอาจไม่เพียงพอหรือเป็นข้อบกพร่องของโปรแกรม" + +#, possible-boost-format +msgid "A fatal error occurred: \"%1%\"" +msgstr "เกิดข้อผิดพลาดร้ายแรง: \"%1%\"" + +msgid "Please save project and restart the program." +msgstr "โปรดบันทึกโปรเจกต์และเริ่มโปรแกรมใหม่" + +msgid "Processing G-code from Previous file..." +msgstr "กำลังประมวลผล G-code จากไฟล์ก่อนหน้า..." + +msgid "Slicing complete" +msgstr "สไลซ์เสร็จแล้ว" + +msgid "Access violation" +msgstr "การเข้าถึงหน่วยความจำผิดพลาด" + +msgid "Illegal instruction" +msgstr "คำสั่งไม่ถูกต้อง" + +msgid "Divide by zero" +msgstr "หารด้วยศูนย์" + +msgid "Overflow" +msgstr "ค่าล้น" + +msgid "Underflow" +msgstr "ค่าต่ำเกินขอบเขต" + +msgid "Floating reserved operand" +msgstr "ตัวถูกดำเนินการที่สงวนไว้แบบลอยตัว" + +msgid "Stack overflow" +msgstr "สแตกโอเวอร์โฟลว์" + +msgid "Running post-processing scripts" +msgstr "การรันสคริปต์หลังการประมวลผล" + +msgid "Successfully executed post-processing script" +msgstr "ดำเนินการสคริปต์หลังการประมวลผลสำเร็จแล้ว" + +msgid "Unknown error occurred during exporting G-code." +msgstr "เกิดข้อผิดพลาดที่ไม่รู้จักระหว่างการส่งออก G-code" + +#, possible-boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD " +"card is write locked?\n" +"Error message: %1%" +msgstr "การคัดลอก G-code ชั่วคราวไปยังเอาต์พุต G-code ล้มเหลว บางทีการ์ด SD อาจถูกล็อคการเขียน?\nข้อความแสดงข้อผิดพลาด: %1%" + +#, possible-boost-format +msgid "" +"Copying of the temporary G-code to the output G-code failed. There might be " +"problem with target device, please try exporting again or using different " +"device. The corrupted output G-code is at %1%.tmp." +msgstr "การคัดลอก G-code ชั่วคราวไปยังเอาต์พุต G-code ล้มเหลว อาจมีปัญหากับอุปกรณ์เป้าหมาย โปรดลองส่งออกอีกครั้งหรือใช้อุปกรณ์อื่น G-code เอาต์พุตที่เสียหายอยู่ที่ %1%.tmp" + +#, possible-boost-format +msgid "" +"Renaming of the G-code after copying to the selected destination folder has " +"failed. Current path is %1%.tmp. Please try exporting again." +msgstr "การเปลี่ยนชื่อ G-code หลังจากคัดลอกไปยังโฟลเดอร์ปลายทางที่เลือกล้มเหลว เส้นทางปัจจุบันคือ %1%.tmp โปรดลองส่งออกอีกครั้ง" + +#, possible-boost-format +msgid "" +"Copying of the temporary G-code has finished but the original code at %1% " +"couldn't be opened during copy check. The output G-code is at %2%.tmp." +msgstr "การคัดลอก G-code ชั่วคราวเสร็จสิ้นแล้ว แต่ไม่สามารถเปิดรหัสต้นฉบับที่ %1% ได้ในระหว่างการตรวจสอบการคัดลอก G-code เอาต์พุตอยู่ที่ %2%.tmp" + +#, possible-boost-format +msgid "" +"Copying of the temporary G-code has finished but the exported code couldn't " +"be opened during copy check. The output G-code is at %1%.tmp." +msgstr "การคัดลอก G-code ชั่วคราวเสร็จสิ้นแล้ว แต่ไม่สามารถเปิดรหัสที่ส่งออกได้ในระหว่างการตรวจสอบการคัดลอก G-code เอาต์พุตอยู่ที่ %1%.tmp" + +#, possible-boost-format +msgid "G-code file exported to %1%" +msgstr "ส่งออกไฟล์ G-code ไปที่ %1% แล้ว" + +msgid "Unknown error when exporting G-code." +msgstr "เกิดข้อผิดพลาดไม่ทราบสาเหตุขณะส่งออก G-code" + +#, possible-boost-format +msgid "" +"Failed to save G-code file.\n" +"Error message: %1%.\n" +"Source file %2%." +msgstr "ไม่สามารถบันทึกไฟล์ G-code\nข้อความแสดงข้อผิดพลาด: %1%\nไฟล์ต้นฉบับ %2%" + +msgid "Copying of the temporary G-code to the output G-code failed" +msgstr "การคัดลอก G-code ชั่วคราวไปยังเอาต์พุต G-code ล้มเหลว" + +#, possible-boost-format +msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" +msgstr "กำลังกำหนดเวลาอัปโหลดเป็น `%1%` ดูหน้าต่าง -> คิวการอัปโหลดโฮสต์การพิมพ์" + +msgid "Origin" +msgstr "ต้นทาง" + +msgid "Size in X and Y of the rectangular plate." +msgstr "ขนาดของแผ่นสี่เหลี่ยมเป็น X และ Y" + +msgid "" +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." +msgstr "ระยะห่างของพิกัด 0,0 G-code จากมุมซ้ายหน้าของสี่เหลี่ยมผืนผ้า" + +msgid "" +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." +msgstr "เส้นผ่านศูนย์กลางของฐานพิมพ์ สันนิษฐานว่าจุดกำเนิด (0,0) อยู่ตรงกลาง" + +msgid "Rectangular" +msgstr "สี่เหลี่ยม" + +msgid "Circular" +msgstr "หนังสือเวียน" + +msgid "Load shape from STL..." +msgstr "โหลดรูปร่างจาก STL..." + +msgid "Settings" +msgstr "การตั้งค่า" + +msgid "Remove" +msgstr "ลบ" + +msgid "Not found:" +msgstr "ไม่พบ:" + +msgid "Model" +msgstr "โมเดล" + +msgid "Choose an STL file to import bed shape from:" +msgstr "เลือกไฟล์ STL ที่จะนำเข้ารูปทรงฐานพิมพ์จาก:" + +msgid "Invalid file format." +msgstr "รูปแบบไฟล์ไม่ถูกต้อง" + +msgid "Error! Invalid model" +msgstr "ข้อผิดพลาด! โมเดลไม่ถูกต้อง" + +msgid "The selected file contains no geometry." +msgstr "ไฟล์ที่เลือกไม่มีรูปทรงเรขาคณิต" + +msgid "" +"The selected file contains several disjoint areas. This is not supported." +msgstr "ไฟล์ที่เลือกมีพื้นที่ที่ไม่ต่อเนื่องกันหลายส่วน สิ่งนี้ไม่ได้รับส่วนรองรับ" + +msgid "Choose a file to import bed texture from (PNG/SVG):" +msgstr "เลือกไฟล์ที่จะนำเข้าพื้นผิวฐานพิมพ์จาก (PNG/SVG):" + +msgid "Choose an STL file to import bed model from:" +msgstr "เลือกไฟล์ STL ที่จะนำเข้าแบบจำลองฐานพิมพ์จาก:" + +msgid "Bed Shape" +msgstr "รูปทรงฐานพิมพ์" + +#, possible-c-format, possible-boost-format +msgid "A minimum temperature above %d℃ is recommended for %s.\n" +msgstr "แนะนำให้ใช้อุณหภูมิต่ำสุดที่สูงกว่า %d℃ สำหรับ %s\n" + +#, possible-c-format, possible-boost-format +msgid "A maximum temperature below %d℃ is recommended for %s.\n" +msgstr "แนะนำให้ใช้อุณหภูมิสูงสุดต่ำกว่า %d℃ สำหรับ %s\n" + +msgid "" +"The recommended minimum temperature cannot be higher than the recommended " +"maximum temperature.\n" +msgstr "อุณหภูมิต่ำสุดที่แนะนำต้องไม่สูงกว่าอุณหภูมิสูงสุดที่แนะนำ\n" + +msgid "Please check.\n" +msgstr "กรุณาตรวจสอบ.\n" + +msgid "" +"Nozzle may be blocked when the temperature is out of recommended range.\n" +"Please make sure whether to use the temperature to print.\n" +"\n" +msgstr "หัวฉีดอาจถูกปิดกั้นเมื่ออุณหภูมิอยู่นอกช่วงที่แนะนำ\nโปรดตรวจสอบให้แน่ใจว่าจะใช้อุณหภูมิในการพิมพ์หรือไม่\n" + +#, possible-c-format, possible-boost-format +msgid "" +"The recommended nozzle temperature for this filament type is [%d, %d] " +"degrees Celsius." +msgstr "อุณหภูมิหัวฉีดที่แนะนำสำหรับเส้นพลาสติกประเภทนี้คือ [%d, %d] องศาเซลเซียส" + +msgid "" +"Too small max volumetric speed.\n" +"Reset to 0.5." +msgstr "ความเร็วปริมาตรสูงสุดน้อยเกินไป\nรีเซ็ตเป็น 0.5" + +#, possible-c-format, possible-boost-format +msgid "" +"Current chamber temperature is higher than the material's safe temperature, " +"this may result in material softening and clogging. The maximum safe " +"temperature for the material is %d" +msgstr "อุณหภูมิห้องเพาะเลี้ยงในปัจจุบันสูงกว่าอุณหภูมิที่ปลอดภัยของวัสดุ ซึ่งอาจส่งผลให้วัสดุอ่อนตัวและอุดตัน อุณหภูมิที่ปลอดภัยสูงสุดสำหรับวัสดุคือ %d" + +msgid "" +"Too small layer height.\n" +"Reset to 0.2." +msgstr "ความสูงของชั้นเล็กเกินไป\nรีเซ็ตเป็น 0.2" + +msgid "" +"Too small ironing spacing.\n" +"Reset to 0.1." +msgstr "ระยะห่างในการรีดผ้าน้อยเกินไป\nรีเซ็ตเป็น 0.1" + +msgid "" +"Zero initial layer height is invalid.\n" +"\n" +"The first layer height will be reset to 0.2." +msgstr "ความสูงของเลเยอร์เริ่มต้นเป็นศูนย์ไม่ถูกต้อง\n\nความสูงของเลเยอร์แรกจะถูกรีเซ็ตเป็น 0.2" + +msgid "" +"This setting is only used for model size tunning with small value in some " +"cases.\n" +"For example, when model size has small error and hard to be assembled.\n" +"For large size tuning, please use model scale function.\n" +"\n" +"The value will be reset to 0." +msgstr "การตั้งค่านี้ใช้สำหรับการปรับขนาดโมเดลที่มีค่าน้อยเท่านั้นในบางกรณี\nเช่น เมื่อขนาดรุ่นมีข้อผิดพลาดเล็กน้อยและประกอบได้ยาก\nสำหรับการปรับแต่งขนาดใหญ่ โปรดใช้ฟังก์ชันสเกลโมเดล\n\nค่าจะถูกรีเซ็ตเป็น 0" + +msgid "" +"Too large elephant foot compensation is unreasonable.\n" +"If really have serious elephant foot effect, please check other settings.\n" +"For example, whether bed temperature is too high.\n" +"\n" +"The value will be reset to 0." +msgstr "การชดเชยตีนช้างที่ใหญ่เกินไปนั้นไม่สมเหตุสมผล\nหากมีผลกระทบร้ายแรงต่อเท้าช้าง โปรดตรวจสอบการตั้งค่าอื่นๆ\nเช่น อุณหภูมิฐานพิมพ์สูงเกินไปหรือไม่\n\nค่าจะถูกรีเซ็ตเป็น 0" + +msgid "" +"Alternate extra wall does't work well when ensure vertical shell thickness " +"is set to All." +msgstr "ผนังเสริมสำรองทำงานได้ไม่ดีเมื่อตั้งค่าความหนาของเปลือกแนวตั้งเป็นทั้งหมด" + +msgid "" +"Change these settings automatically?\n" +"Yes - Change ensure vertical shell thickness to Moderate and enable " +"alternate extra wall\n" +"No - Don't use alternate extra wall" +msgstr "เปลี่ยนการตั้งค่าเหล่านี้โดยอัตโนมัติหรือไม่\nใช่ - เปลี่ยนให้แน่ใจว่าความหนาของเปลือกแนวตั้งเป็นปานกลาง และเปิดใช้งานผนังเสริมสำรอง\nไม่ - ห้ามใช้ผนังเสริมสำรอง" + +msgid "" +"Prime tower does not work when Adaptive Layer Height or Independent Support " +"Layer Height is on.\n" +"Which do you want to keep?\n" +"YES - Keep Prime Tower\n" +"NO - Keep Adaptive Layer Height and Independent Support Layer Height" +msgstr "ไพรม์ทาวเวอร์ไม่ทำงานเมื่อเปิดใช้งาน Adaptive Layer Height หรือ Independent ส่วนรองรับ Layer Height\nคุณต้องการเก็บอันไหน?\nใช่ - เก็บ Prime Tower ไว้\nไม่ - คงความสูงของเลเยอร์แบบปรับได้และความสูงของเลเยอร์รองรับที่เป็นอิสระ" + +msgid "" +"Prime tower does not work when Adaptive Layer Height is on.\n" +"Which do you want to keep?\n" +"YES - Keep Prime Tower\n" +"NO - Keep Adaptive Layer Height" +msgstr "ไพรม์ทาวเวอร์ไม่ทำงานเมื่อเปิด Adaptive Layer Height\nคุณต้องการเก็บอันไหน?\nใช่ - เก็บ Prime Tower ไว้\nไม่ - คงความสูงของเลเยอร์แบบปรับได้" + +msgid "" +"Prime tower does not work when Independent Support Layer Height is on.\n" +"Which do you want to keep?\n" +"YES - Keep Prime Tower\n" +"NO - Keep Independent Support Layer Height" +msgstr "ไพร์มทาวเวอร์ไม่ทำงานเมื่อเปิดความสูงของเลเยอร์รองรับอิสระ\nคุณต้องการเก็บอันไหน?\nใช่ - เก็บ Prime Tower ไว้\nไม่ - รักษาความสูงของชั้นรองรับที่เป็นอิสระ" + +msgid "" +"seam_slope_start_height need to be smaller than layer_height.\n" +"Reset to 0." +msgstr "seam_slope_start_height ต้องเล็กกว่า layer_height\nรีเซ็ตเป็น 0" + +#, no-c-format, no-boost-format +msgid "" +"Lock depth should smaller than skin depth.\n" +"Reset to 50% of skin depth." +msgstr "ความลึกของล็อคควรน้อยกว่าความลึกของผิวหนัง\nรีเซ็ตเป็น 50% ของความลึกของผิว" + +msgid "" +"Both [Extrusion] and [Combined] modes of Fuzzy Skin require the Arachne Wall " +"Generator to be enabled." +msgstr "ทั้งโหมด [อัดขึ้นรูป] และ [รวม] ของ Fuzzy Skin จำเป็นต้องเปิดใช้งาน Arachne Wall Generator" + +msgid "" +"Change these settings automatically?\n" +"Yes - Enable Arachne Wall Generator\n" +"No - Disable Arachne Wall Generator and set [Displacement] mode of the " +"Fuzzy Skin" +msgstr "เปลี่ยนการตั้งค่าเหล่านี้โดยอัตโนมัติหรือไม่\nใช่ - เปิดใช้งาน Arachne Wall Generator\nไม่ - ปิดการใช้งาน Arachne Wall Generator และตั้งค่าโหมด [Displacement] ของ Fuzzy Skin" + +msgid "" +"Spiral mode only works when wall loops is 1, support is disabled, clumping " +"detection by probing is disabled, top shell layers is 0, sparse infill " +"density is 0 and timelapse type is traditional." +msgstr "โหมดเกลียวจะทำงานเฉพาะเมื่อลูปติดผนังเป็น 1, ปิดใช้งานส่วนรองรับ, การตรวจจับการจับตัวเป็นก้อนโดยการตรวจวัดถูกปิดใช้งาน, ชั้นเปลือกด้านบนเป็น 0, ความหนาแน่นของไส้ในแบบกระจายเป็น 0 และประเภทไทม์แลปส์เป็นแบบดั้งเดิม" + +msgid " But machines with I3 structure will not generate timelapse videos." +msgstr "แต่เครื่องที่มีโครงสร้าง I3 จะไม่สร้างวิดีโอแบบไทม์แลปส์" + +msgid "" +"Change these settings automatically?\n" +"Yes - Change these settings and enable spiral mode automatically\n" +"No - Give up using spiral mode this time" +msgstr "เปลี่ยนการตั้งค่าเหล่านี้โดยอัตโนมัติหรือไม่\nใช่ - เปลี่ยนการตั้งค่าเหล่านี้และเปิดใช้งานโหมดเกลียวโดยอัตโนมัติ\nไม่ - เลิกใช้โหมดเกลียวในครั้งนี้" + +msgid "Printing" +msgstr "กำลังพิมพ์" + +msgid "Auto bed leveling" +msgstr "ปรับระดับฐานพิมพ์อัตโนมัติ" + +msgid "Heatbed preheating" +msgstr "การอุ่นฐานพิมพ์ด้วยความร้อน" + +msgid "Vibration compensation" +msgstr "ชดเชยการสั่น" + +msgid "Changing filament" +msgstr "กำลังเปลี่ยนเส้นพลาสติก" + +msgid "M400 pause" +msgstr "M400 หยุดชั่วคราว" + +msgid "Paused (filament ran out)" +msgstr "หยุดชั่วคราว (เส้นพลาสติกหมด)" + +msgid "Heating nozzle" +msgstr "หัวฉีดความร้อน" + +msgid "Calibrating dynamic flow" +msgstr "การปรับเทียบการไหลแบบไดนามิก" + +msgid "Scanning bed surface" +msgstr "การสแกนพื้นผิวฐานพิมพ์" + +msgid "Inspecting first layer" +msgstr "การตรวจสอบชั้นแรก" + +msgid "Identifying build plate type" +msgstr "การระบุประเภทของแผ่นประกอบ" + +msgid "Calibrating Micro Lidar" +msgstr "การปรับเทียบไมโครไลดาร์" + +msgid "Homing toolhead" +msgstr "นำหัวพิมพ์กลับจุดอ้างอิง" + +msgid "Cleaning nozzle tip" +msgstr "ปลายหัวฉีดทำความสะอาด" + +msgid "Checking extruder temperature" +msgstr "การตรวจสอบอุณหภูมิชุดดันเส้น" + +msgid "Paused by the user" +msgstr "หยุดชั่วคราวโดยผู้ใช้" + +msgid "Pause (front cover fall off)" +msgstr "หยุดชั่วคราว (ปกหน้าหลุด)" + +msgid "Calibrating the micro lidar" +msgstr "การปรับเทียบไมโครไลดาร์" + +msgid "Calibrating flow ratio" +msgstr "อัตราส่วนการไหลกำลังปรับเทียบ" + +msgid "Pause (nozzle temperature malfunction)" +msgstr "หยุดชั่วคราว (อุณหภูมิหัวฉีดทำงานผิดปกติ)" + +msgid "Pause (heatbed temperature malfunction)" +msgstr "หยุดชั่วคราว (อุณหภูมิของฐานพิมพ์ทำงานผิดปกติ)" + +msgid "Filament unloading" +msgstr "กำลังถอนเส้นพลาสติก" + +msgid "Pause (step loss)" +msgstr "หยุดชั่วคราว (สูญเสียขั้นตอน)" + +msgid "Filament loading" +msgstr "กำลังโหลดเส้นพลาสติก" + +msgid "Motor noise cancellation" +msgstr "การยกเลิกเสียงรบกวนของมอเตอร์" + +msgid "Pause (AMS offline)" +msgstr "หยุดชั่วคราว (AMS ออฟไลน์)" + +msgid "Pause (low speed of the heatbreak fan)" +msgstr "หยุดชั่วคราว (พัดลมระบายความร้อนความเร็วต่ำ)" + +msgid "Pause (chamber temperature control problem)" +msgstr "หยุดชั่วคราว (ปัญหาการควบคุมอุณหภูมิห้องเพาะเลี้ยง)" + +msgid "Cooling chamber" +msgstr "ห้องทำความเย็น" + +msgid "Pause (G-code inserted by user)" +msgstr "หยุดชั่วคราว (ใส่รหัส G-code โดยผู้ใช้)" + +msgid "Motor noise showoff" +msgstr "โชว์เสียงมอเตอร์" + +msgid "Pause (nozzle clumping)" +msgstr "หยุดชั่วคราว (หัวฉีดจับกันเป็นก้อน)" + +msgid "Pause (cutter error)" +msgstr "หยุดชั่วคราว (ข้อผิดพลาดของเครื่องตัด)" + +msgid "Pause (first layer error)" +msgstr "หยุดชั่วคราว (ข้อผิดพลาดชั้นแรก)" + +msgid "Pause (nozzle clog)" +msgstr "หยุดชั่วคราว (หัวฉีดอุดตัน)" + +msgid "Measuring motion precision" +msgstr "การวัดความแม่นยำของการเคลื่อนไหว" + +msgid "Enhancing motion precision" +msgstr "เพิ่มความแม่นยำในการเคลื่อนไหว" + +msgid "Measure motion accuracy" +msgstr "วัดความแม่นยำของการเคลื่อนไหว" + +msgid "Nozzle offset calibration" +msgstr "การสอบเทียบชดเชยหัวฉีด" + +msgid "High temperature auto bed leveling" +msgstr "การปรับระดับฐานพิมพ์อัตโนมัติที่อุณหภูมิสูง" + +msgid "Auto Check: Quick Release Lever" +msgstr "ตรวจสอบอัตโนมัติ: คันโยกแบบปลดเร็ว" + +msgid "Auto Check: Door and Upper Cover" +msgstr "ตรวจสอบอัตโนมัติ: ประตูและฝาครอบด้านบน" + +msgid "Laser Calibration" +msgstr "การปรับเทียบเลเซอร์" + +msgid "Auto Check: Platform" +msgstr "ตรวจสอบอัตโนมัติ: แพลตฟอร์ม" + +msgid "Confirming BirdsEye Camera location" +msgstr "กำลังยืนยันตำแหน่งของกล้อง BirdsEye" + +msgid "Calibrating BirdsEye Camera" +msgstr "การปรับเทียบกล้อง BirdsEye" + +msgid "Auto bed leveling -phase 1" +msgstr "การปรับระดับฐานพิมพ์อัตโนมัติ - เฟส 1" + +msgid "Auto bed leveling -phase 2" +msgstr "การปรับระดับฐานพิมพ์อัตโนมัติ - เฟส 2" + +msgid "Heating chamber" +msgstr "ห้องทำความร้อน" + +msgid "Cooling heatbed" +msgstr "กำลังระบายความร้อนของฐานพิมพ์" + +msgid "Printing calibration lines" +msgstr "การพิมพ์เส้นปรับเทียบ" + +msgid "Auto Check: Material" +msgstr "ตรวจสอบอัตโนมัติ: วัสดุ" + +msgid "Live View Camera Calibration" +msgstr "การปรับเทียบกล้อง Live View" + +msgid "Waiting for heatbed to reach target temperature" +msgstr "กำลังรอให้ฐานพิมพ์ทำความร้อนถึงอุณหภูมิเป้าหมาย" + +msgid "Auto Check: Material Position" +msgstr "ตรวจสอบอัตโนมัติ: ตำแหน่งวัสดุ" + +msgid "Cutting Module Offset Calibration" +msgstr "การสอบเทียบออฟเซ็ตโมดูลตัด" + +msgid "Measuring Surface" +msgstr "การวัดพื้นผิว" + +msgid "Calibrating the detection position of nozzle clumping" +msgstr "การปรับเทียบตำแหน่งการตรวจจับการเกาะตัวของหัวฉีด" + +msgid "Unknown" +msgstr "ไม่ทราบ" + +msgid "Update successful." +msgstr "อัปเดตสำเร็จ" + +msgid "Downloading failed." +msgstr "การดาวน์โหลดล้มเหลว" + +msgid "Verification failed." +msgstr "การยืนยันล้มเหลว" + +msgid "Update failed." +msgstr "อัปเดตล้มเหลว" + +msgid "Timelapse is not supported on this printer." +msgstr "เครื่องพิมพ์นี้ไม่รองรับไทม์แลปส์" + +msgid "Timelapse is not supported while the storage does not exist." +msgstr "ไม่รองรับไทม์แลปส์ในขณะที่ไม่มีที่เก็บข้อมูล" + +msgid "Timelapse is not supported while the storage is unavailable." +msgstr "ไม่รองรับไทม์แลปส์ในขณะที่พื้นที่เก็บข้อมูลไม่พร้อมใช้งาน" + +msgid "Timelapse is not supported while the storage is readonly." +msgstr "ไม่รองรับไทม์แลปส์ในขณะที่พื้นที่เก็บข้อมูลเป็นแบบอ่านอย่างเดียว" + +msgid "" +"To ensure your safety, certain processing tasks (such as laser) can only be " +"resumed on printer." +msgstr "เพื่อความปลอดภัยของคุณ งานการประมวลผลบางอย่าง (เช่น เลเซอร์) สามารถดำเนินการต่อได้บนเครื่องพิมพ์เท่านั้น" + +#, possible-c-format, possible-boost-format +msgid "" +"The chamber temperature is too high, which may cause the filament to soften. " +"Please wait until the chamber temperature drops below %d℃. You may open the " +"front door or enable fans to cool down." +msgstr "อุณหภูมิในห้องเพาะเลี้ยงสูงเกินไป ซึ่งอาจทำให้เส้นพลาสติกนิ่มลง โปรดรอจนกว่าอุณหภูมิห้องจะลดลงต่ำกว่า %d℃ คุณสามารถเปิดประตูหน้าหรือเปิดพัดลมให้เย็นลงได้" + +#, possible-c-format, possible-boost-format +msgid "" +"AMS temperature is too high, which may cause the filament to soften. Please " +"wait until the AMS temperature drops below %d℃." +msgstr "อุณหภูมิ AMS สูงเกินไป ซึ่งอาจทำให้เส้นพลาสติกอ่อนตัวลง โปรดรอจนกว่าอุณหภูมิ AMS จะลดลงต่ำกว่า %d℃" + +msgid "" +"The current chamber temperature or the target chamber temperature exceeds " +"45℃. In order to avoid extruder clogging, low temperature filament(PLA/PETG/" +"TPU) is not allowed to be loaded." +msgstr "อุณหภูมิห้องปัจจุบันหรืออุณหภูมิห้องเป้าหมายเกิน 45°C เพื่อหลีกเลี่ยงการอุดตันของชุดดันเส้น ไม่อนุญาตให้โหลดเส้นพลาสติกที่มีอุณหภูมิต่ำ (PLA/PETG/TPU)" + +msgid "" +"Low temperature filament(PLA/PETG/TPU) is loaded in the extruder. In order " +"to avoid extruder clogging, it is not allowed to set the chamber temperature." +msgstr "โหลดเส้นพลาสติกอุณหภูมิต่ำ (PLA/PETG/TPU) ลงในชุดดันเส้น เพื่อหลีกเลี่ยงการอุดตันของชุดดันเส้น ไม่อนุญาตให้ตั้งอุณหภูมิห้องเพาะเลี้ยง" + +msgid "" +"When you set the chamber temperature below 40℃, the chamber temperature " +"control will not be activated, and the target chamber temperature will " +"automatically be set to 0℃." +msgstr "เมื่อคุณตั้งอุณหภูมิห้องเพาะเลี้ยงให้ต่ำกว่า 40°C การควบคุมอุณหภูมิห้องเพาะเลี้ยงจะไม่ทำงาน และอุณหภูมิห้องเพาะเลี้ยงเป้าหมายจะถูกตั้งค่าเป็น 0°C โดยอัตโนมัติ" + +msgid "Failed to start print job" +msgstr "ไม่สามารถเริ่มงานพิมพ์ได้" + +msgid "" +"This calibration does not support the currently selected nozzle diameter" +msgstr "การสอบเทียบนี้ไม่รองรับเส้นผ่านศูนย์กลางหัวฉีดที่เลือกในปัจจุบัน" + +msgid "Current flowrate cali param is invalid" +msgstr "พารามิเตอร์ cali ของอัตราการไหลปัจจุบันไม่ถูกต้อง" + +msgid "Selected diameter and machine diameter do not match" +msgstr "เส้นผ่านศูนย์กลางที่เลือกและเส้นผ่านศูนย์กลางของเครื่องจักรไม่ตรงกัน" + +msgid "Failed to generate cali G-code" +msgstr "ไม่สามารถสร้าง cali G-code" + +msgid "Calibration error" +msgstr "ข้อผิดพลาดในการสอบเทียบ" + +msgid "Resume Printing" +msgstr "พิมพ์ต่อ" + +msgid "Resume (defects acceptable)" +msgstr "ดำเนินการต่อ (ข้อบกพร่องที่ยอมรับได้)" + +msgid "Resume (problem solved)" +msgstr "ดำเนินการต่อ (แก้ไขปัญหาแล้ว)" + +msgid "Stop Printing" +msgstr "หยุดพิมพ์" + +msgid "Check Assistant" +msgstr "ตรวจสอบผู้ช่วย" + +msgid "Filament Extruded, Continue" +msgstr "เส้นพลาสติกอัดรีด ดำเนินการต่อ" + +msgid "Not Extruded Yet, Retry" +msgstr "ยังไม่ได้อัด ลองอีกครั้ง" + +msgid "Finished, Continue" +msgstr "เสร็จแล้ว ดำเนินการต่อ" + +msgid "Load Filament" +msgstr "โหลดเส้นพลาสติก" + +msgid "Filament Loaded, Resume" +msgstr "โหลดเส้นแล้ว พิมพ์ต่อ" + +msgid "View Liveview" +msgstr "ดูภาพสด" + +msgid "No Reminder Next Time" +msgstr "ไม่มีการเตือนครั้งต่อไป" + +msgid "Ignore. Don't Remind Next Time" +msgstr "ไม่สนใจ. อย่าเตือนครั้งต่อไป" + +msgid "Ignore this and Resume" +msgstr "ละเว้นสิ่งนี้และดำเนินการต่อ" + +msgid "Problem Solved and Resume" +msgstr "แก้ไขปัญหาและดำเนินการต่อ" + +msgid "Got it, Turn off the Fire Alarm." +msgstr "รับทราบ ปิดสัญญาณเตือนไฟไหม้" + +msgid "Retry (problem solved)" +msgstr "ลองอีกครั้ง (แก้ไขปัญหาแล้ว)" + +msgid "Stop Drying" +msgstr "หยุดการทำให้แห้ง" + +msgid "Proceed" +msgstr "ดำเนินการต่อ" + +msgid "Retry" +msgstr "ลองใหม่" + +msgid "Resume" +msgstr "ประวัติย่อ" + +msgid "Unknown error." +msgstr "ข้อผิดพลาดไม่ทราบสาเหตุ" + +msgid "default" +msgstr "ค่าเริ่มต้น" + +#, possible-boost-format +msgid "Edit Custom G-code (%1%)" +msgstr "แก้ไขรหัส G ที่กำหนดเอง (%1%)" + +msgid "Built-in placeholders (Double click item to add to G-code)" +msgstr "ตัวยึดตำแหน่งในตัว (ดับเบิลคลิกรายการเพื่อเพิ่มใน G-code)" + +msgid "Search G-code placeholders" +msgstr "ค้นหาตัวยึดตำแหน่ง G-code" + +msgid "Add selected placeholder to G-code" +msgstr "เพิ่มตัวยึดตำแหน่งที่เลือกลงใน G-code" + +msgid "Select placeholder" +msgstr "เลือกตัวยึดตำแหน่ง" + +msgid "[Global] Slicing State" +msgstr "[ทั่วโลก] สถานะการแบ่งส่วน" + +msgid "Read Only" +msgstr "อ่านอย่างเดียว" + +msgid "Read Write" +msgstr "อ่านเขียน" + +msgid "Slicing State" +msgstr "สถานะการแบ่งส่วน" + +msgid "Print Statistics" +msgstr "พิมพ์สถิติ" + +msgid "Objects Info" +msgstr "ข้อมูลวัตถุ" + +msgid "Dimensions" +msgstr "ขนาด" + +msgid "Temperatures" +msgstr "อุณหภูมิ" + +msgid "Timestamps" +msgstr "การประทับเวลา" + +#, possible-boost-format +msgid "Specific for %1%" +msgstr "เฉพาะสำหรับ %1%" + +msgid "Presets" +msgstr "พรีเซ็ต" + +msgid "Print settings" +msgstr "การตั้งค่าพิมพ์" + +msgid "Filament settings" +msgstr "การตั้งค่าเส้นพลาสติก" + +msgid "SLA Materials settings" +msgstr "การตั้งค่าวัสดุ SLA" + +msgid "Printer settings" +msgstr "การตั้งค่าเครื่องพิมพ์" + +msgid "parameter name" +msgstr "ชื่อพารามิเตอร์" + +msgid "layers" +msgstr "ชั้น" + +msgid "Range" +msgstr "พิสัย" + +msgid "Empty string" +msgstr "สตริงว่าง" + +msgid "Value is out of range." +msgstr "ค่าอยู่นอกช่วงที่กำหนด" + +#, possible-c-format, possible-boost-format +msgid "%s can't be a percentage" +msgstr "%s ไม่สามารถเป็นเปอร์เซ็นต์ได้" + +#, possible-c-format, possible-boost-format +msgid "Value %s is out of range, continue?" +msgstr "ค่า %s อยู่นอกช่วง ต้องการดำเนินการต่อหรือไม่" + +msgid "Parameter validation" +msgstr "การตรวจสอบพารามิเตอร์" + +#, possible-c-format, possible-boost-format +msgid "Value %s is out of range. The valid range is from %d to %d." +msgstr "ค่า %s อยู่นอกช่วง ช่วงที่ถูกต้องคือตั้งแต่ %d ถึง %d" + +#, possible-c-format, possible-boost-format +msgid "" +"Is it %s%% or %s %s?\n" +"YES for %s%%, \n" +"NO for %s %s." +msgstr "มันคือ %s%% หรือ %s %s?\nใช่สำหรับ %s%% \nไม่ สำหรับ %s %s" + +#, possible-boost-format +msgid "" +"Invalid input format. Expected vector of dimensions in the following format: " +"\"%1%\"" +msgstr "รูปแบบการป้อนข้อมูลไม่ถูกต้อง เวกเตอร์ที่คาดหวังของมิติข้อมูลในรูปแบบต่อไปนี้: \"%1%\"" + +msgid "Input value is out of range" +msgstr "ค่าที่ป้อนอยู่นอกช่วงที่กำหนด" + +msgid "Some extension in the input is invalid" +msgstr "ส่วนขยายบางส่วนในอินพุตไม่ถูกต้อง" + +msgid "This parameter expects a valid template." +msgstr "พารามิเตอร์นี้ต้องการเทมเพลตที่ถูกต้อง" + +msgid "" +"Invalid pattern. Use N, N#K, or a comma-separated list with optional #K per " +"entry. Examples: 5, 5#2, 1,7,9, 5,9#2,18." +msgstr "รูปแบบไม่ถูกต้อง ใช้ N, N#K หรือรายการที่คั่นด้วยเครื่องหมายจุลภาคโดยมีตัวเลือก #K ให้เลือกต่อรายการ ตัวอย่าง: 5, 5#2, 1,7,9, 5,9#2,18" + +#, possible-boost-format +msgid "Invalid format. Expected vector format: \"%1%\"" +msgstr "รูปแบบไม่ถูกต้อง รูปแบบเวกเตอร์ที่ต้องการ: \"%1%\"" + +msgid "N/A" +msgstr "ไม่มี" + +msgid "Pick" +msgstr "เลือก" + +msgid "Summary" +msgstr "สรุป" + +msgid "Layer Height" +msgstr "ความสูงเลเยอร์" + +msgid "Line Width" +msgstr "ความกว้างเส้น" + +msgid "Actual Speed" +msgstr "ความเร็วจริง" + +msgid "Acceleration" +msgstr "ความเร่ง" + +msgid "Jerk" +msgstr "เจิร์ก" + +msgid "Fan Speed" +msgstr "ความเร็วพัดลม" + +msgid "Flow" +msgstr "อัตราการไหล" + +msgid "Actual Flow" +msgstr "อัตราการไหลจริง" + +msgid "Tool" +msgstr "เครื่องมือ" + +msgid "Layer Time" +msgstr "เวลาเลเยอร์" + +msgid "Layer Time (log)" +msgstr "เวลาเลเยอร์ (บันทึก)" + +msgid "Pressure Advance" +msgstr "แรงดันล่วงหน้า (Pressure Advance)" + +msgid "Noop" +msgstr "นะ" + +msgid "Retract" +msgstr "ดึงกลับ" + +msgid "Unretract" +msgstr "คืนเส้น" + +msgid "Seam" +msgstr "รอยตะเข็บ" + +msgid "Tool Change" +msgstr "การเปลี่ยนเครื่องมือ" + +msgid "Color Change" +msgstr "เปลี่ยนสี" + +msgid "Pause Print" +msgstr "หยุดพิมพ์ชั่วคราว" + +msgid "Travel" +msgstr "เดินหัวเปล่า" + +msgid "Wipe" +msgstr "เช็ดหัวฉีด" + +msgid "Extrude" +msgstr "ขับไล่" + +msgid "Inner wall" +msgstr "ผนังด้านใน" + +msgid "Outer wall" +msgstr "ผนังด้านนอก" + +msgid "Overhang wall" +msgstr "ผนังส่วนยื่น" + +msgid "Sparse infill" +msgstr "ไส้ในแบบโปร่ง" + +msgid "Internal solid infill" +msgstr "ไส้ในแบบทึบ" + +msgid "Top surface" +msgstr "ผิวด้านบน" + +msgid "Bridge" +msgstr "สะพาน" + +msgid "Gap infill" +msgstr "เติมช่องว่าง" + +msgid "Skirt" +msgstr "เส้นล้อมชิ้นงาน" + +msgid "Support interface" +msgstr "ผิวสัมผัสส่วนรองรับ" + +msgid "Prime tower" +msgstr "ทาวเวอร์ไล่เส้น" + +msgid "Bottom surface" +msgstr "ผิวด้านล่าง" + +msgid "Internal bridge" +msgstr "สะพานภายใน" + +msgid "Support transition" +msgstr "ช่วงเปลี่ยนส่วนรองรับ" + +msgid "Mixed" +msgstr "ผสม" + +msgid "Height: " +msgstr "ความสูง: " + +msgid "Width: " +msgstr "ความกว้าง: " + +msgid "Flow: " +msgstr "อัตราการไหล: " + +msgid "Fan: " +msgstr "พัดลม: " + +msgid "Temperature: " +msgstr "อุณหภูมิ: " + +msgid "Layer Time: " +msgstr "เวลาเลเยอร์:" + +msgid "Tool: " +msgstr "เครื่องมือ:" + +msgid "Color: " +msgstr "สี: " + +msgid "Acceleration: " +msgstr "ความเร่ง: " + +msgid "Jerk: " +msgstr "เจิร์ก: " + +msgid "PA: " +msgstr "พ่อ:" + +msgid "mm/s" +msgstr "มม./วินาที" + +msgid "mm/s²" +msgstr "มม./วินาที²" + +msgid "mm³/s" +msgstr "มม.³/วินาที" + +msgid "Flow rate" +msgstr "อัตราการไหล" + +msgid "Fan speed" +msgstr "ความเร็วพัดลม" + +msgid "°C" +msgstr "°C" + +msgid "Time" +msgstr "เวลา" + +msgid "Speed: " +msgstr "ความเร็ว: " + +msgid "Actual speed profile" +msgstr "โปรไฟล์ความเร็วจริง" + +msgid "Statistics of All Plates" +msgstr "สถิติของแผ่นทั้งหมด" + +msgid "Display" +msgstr "แสดง" + +msgid "Flushed" +msgstr "ไล่เส้นแล้ว" + +msgid "Tower" +msgstr "ทาวเวอร์" + +msgid "Total" +msgstr "รวม" + +msgid "Total Estimation" +msgstr "การประมาณค่าทั้งหมด" + +msgid "Total time" +msgstr "เวลาทั้งหมด" + +msgid "Total cost" +msgstr "ค่าใช้จ่ายทั้งหมด" + +msgid "" +"Automatically re-slice according to the optimal filament grouping, and the " +"grouping results will be displayed after slicing." +msgstr "หั่นใหม่โดยอัตโนมัติตามการจัดกลุ่มเส้นพลาสติกที่เหมาะสมที่สุด และผลลัพธ์การจัดกลุ่มจะแสดงหลังจากการหั่น" + +msgid "Filament Grouping" +msgstr "การจัดกลุ่มเส้นพลาสติก" + +msgid "Why this grouping" +msgstr "ทำไมถึงจัดกลุ่มแบบนี้." + +msgid "Left nozzle" +msgstr "หัวฉีดซ้าย" + +msgid "Right nozzle" +msgstr "หัวฉีดขวา" + +msgid "Please place filaments on the printer based on grouping result." +msgstr "กรุณาวางฟิลาเมนต์บนเครื่องพิมพ์ตามผลการจัดกลุ่ม" + +msgid "Tips:" +msgstr "เคล็ดลับ:" + +msgid "Current grouping of slice result is not optimal." +msgstr "การจัดกลุ่มผลลัพธ์การแบ่งส่วนในปัจจุบันไม่เหมาะสมที่สุด" + +#, possible-boost-format +msgid "Increase %1%g filament and %2% changes compared to optimal grouping." +msgstr "เพิ่ม %1%g เส้นพลาสติกและ %2% การเปลี่ยนแปลงเมื่อเปรียบเทียบกับการจัดกลุ่มที่เหมาะสมที่สุด" + +#, possible-boost-format +msgid "" +"Increase %1%g filament and save %2% changes compared to optimal grouping." +msgstr "เพิ่มเส้นพลาสติก %1%g และบันทึกการเปลี่ยนแปลง %2% เมื่อเปรียบเทียบกับการจัดกลุ่มที่เหมาะสมที่สุด" + +#, possible-boost-format +msgid "" +"Save %1%g filament and increase %2% changes compared to optimal grouping." +msgstr "ประหยัดเส้นพลาสติก %1%g และเพิ่มการเปลี่ยนแปลง %2% เมื่อเปรียบเทียบกับการจัดกลุ่มที่เหมาะสมที่สุด" + +#, possible-boost-format +msgid "" +"Save %1%g filament and %2% changes compared to a printer with one nozzle." +msgstr "บันทึก %1%g เส้นพลาสติกและ %2% การเปลี่ยนแปลง เมื่อเปรียบเทียบกับเครื่องพิมพ์ที่มีหัวฉีดเดียว" + +#, possible-boost-format +msgid "" +"Save %1%g filament and increase %2% changes compared to a printer with one " +"nozzle." +msgstr "ประหยัดเส้นพลาสติก %1%g และเพิ่มการเปลี่ยนแปลง %2% เมื่อเทียบกับเครื่องพิมพ์ที่มีหัวฉีดเพียงอันเดียว" + +#, possible-boost-format +msgid "" +"Increase %1%g filament and save %2% changes compared to a printer with one " +"nozzle." +msgstr "เพิ่มเส้นพลาสติก %1%g และประหยัดการเปลี่ยนแปลง %2% เมื่อเปรียบเทียบกับเครื่องพิมพ์ที่มีหัวฉีดเพียงอันเดียว" + +msgid "Set to Optimal" +msgstr "ตั้งค่าให้เหมาะสมที่สุด" + +msgid "Regroup filament" +msgstr "จัดกลุ่มเส้นพลาสติกใหม่" + +msgid "Wiki Guide" +msgstr "คู่มือวิกิ" + +msgid "up to" +msgstr "ขึ้นไป" + +msgid "above" +msgstr "ข้างบน" + +msgid "from" +msgstr "จาก" + +msgid "Usage" +msgstr "การใช้งาน" + +msgid "Layer Height (mm)" +msgstr "ความสูงเลเยอร์ (มม.)" + +msgid "Line Width (mm)" +msgstr "ความกว้างเส้น (มม.)" + +msgid "Speed (mm/s)" +msgstr "ความเร็ว (มม./วินาที)" + +msgid "Actual Speed (mm/s)" +msgstr "ความเร็วจริง (มม./วินาที)" + +msgid "Acceleration (mm/s²)" +msgstr "ความเร่ง (มม./วินาที²)" + +msgid "Jerk (mm/s)" +msgstr "กระตุก (มม./วินาที)" + +msgid "Fan Speed (%)" +msgstr "ความเร็วพัดลม (%)" + +msgid "Temperature (°C)" +msgstr "อุณหภูมิ (°C)" + +msgid "Volumetric flow rate (mm³/s)" +msgstr "อัตราการไหลเชิงปริมาตร (มม.³/วินาที)" + +msgid "Actual volumetric flow rate (mm³/s)" +msgstr "อัตราการไหลเชิงปริมาตรจริง (มม.³/วินาที)" + +msgid "Seams" +msgstr "รอยตะเข็บ" + +msgid "Filament Changes" +msgstr "การเปลี่ยนเส้นพลาสติก" + +msgid "Options" +msgstr "ตัวเลือก" + +msgid "Extruder" +msgstr "ชุดดันเส้น" + +msgid "Cost" +msgstr "ต้นทุน" + +msgid "Filament change times" +msgstr "จำนวนครั้งที่เปลี่ยนเส้น" + +msgid "Tool changes" +msgstr "การเปลี่ยนแปลงเครื่องมือ" + +msgid "Color change" +msgstr "เปลี่ยนสี" + +msgid "Print" +msgstr "พิมพ์" + +msgid "Printer" +msgstr "เครื่องพิมพ์" + +msgid "Time Estimation" +msgstr "การประมาณเวลา" + +msgid "Normal mode" +msgstr "โหมดปกติ" + +msgid "Total Filament" +msgstr "เส้นพลาสติกทั้งหมด" + +msgid "Model Filament" +msgstr "เส้นพลาสติกโมเดล" + +msgid "Prepare time" +msgstr "เตรียมเวลา" + +msgid "Model printing time" +msgstr "ระยะเวลาในการพิมพ์โมเดล" + +msgid "Show stealth mode" +msgstr "แสดงโหมดซ่อนตัว" + +msgid "Show normal mode" +msgstr "แสดงโหมดปกติ" + +msgid "" +"An object is placed in the left/right nozzle-only area or exceeds the " +"printable height of the left nozzle.\n" +"Please ensure the filaments used by this object are not arranged to other " +"nozzles." +msgstr "วัตถุถูกวางในพื้นที่เฉพาะหัวฉีดด้านซ้าย/ขวา หรือเกินความสูงที่สามารถพิมพ์ได้ของหัวฉีดด้านซ้าย\nโปรดตรวจสอบให้แน่ใจว่าเส้นพลาสติกที่ใช้โดยวัตถุนี้ไม่ได้ถูกจัดเรียงเข้ากับหัวฉีดอื่น" + +msgid "" +"An object is laid over the boundary of plate or exceeds the height limit.\n" +"Please solve the problem by moving it totally on or off the plate, and " +"confirming that the height is within the build volume." +msgstr "วัตถุวางอยู่เหนือขอบเขตของแผ่นหรือสูงเกินขีดจำกัดความสูง\nโปรดแก้ไขปัญหาด้วยการเลื่อนเข้าหรือออกจากเพลตโดยสิ้นเชิง และยืนยันว่าความสูงอยู่ภายในปริมาตรงานประกอบ" + +msgid "Variable layer height" +msgstr "ความสูงของชั้นตัวแปร" + +msgid "Adaptive" +msgstr "ปรับตัวได้" + +msgid "Quality / Speed" +msgstr "คุณภาพ/ความเร็ว" + +msgid "Smooth" +msgstr "เรียบ" + +msgid "Radius" +msgstr "รัศมี" + +msgid "Keep min" +msgstr "เก็บขั้นต่ำไว้" + +msgid "Add detail" +msgstr "เพิ่มรายละเอียด" + +msgid "Remove detail" +msgstr "ลบรายละเอียด" + +msgid "Reset to base" +msgstr "รีเซ็ตเป็นฐาน" + +msgid "Smoothing" +msgstr "ปรับให้เรียบ" + +msgid "Increase/decrease edit area" +msgstr "เพิ่ม/ลดพื้นที่แก้ไข" + +msgid "Sequence" +msgstr "ลำดับ" + +msgid "Object Selection" +msgstr "การเลือกวัตถุ" + +msgid "Part Selection" +msgstr "การเลือกชิ้นส่วน" + +msgid "number keys" +msgstr "ปุ่มตัวเลข" + +msgid "Number keys can quickly change the color of objects" +msgstr "ปุ่มตัวเลขสามารถเปลี่ยนสีของวัตถุได้อย่างรวดเร็ว" + +msgid "" +"Following objects are laid over the boundary of plate or exceeds the height " +"limit:\n" +msgstr "วัตถุต่อไปนี้วางอยู่เหนือขอบเขตของแผ่นหรือสูงเกินขีดจำกัดความสูง:\n" + +msgid "" +"Please solve the problem by moving it totally on or off the plate, and " +"confirming that the height is within the build volume.\n" +msgstr "โปรดแก้ไขปัญหาด้วยการเลื่อนเข้าหรือออกจากเพลตโดยสิ้นเชิง และยืนยันว่าความสูงอยู่ภายในปริมาตรงานประกอบ\n" + +msgid "left nozzle" +msgstr "หัวฉีดซ้าย" + +msgid "right nozzle" +msgstr "หัวฉีดขวา" + +#, possible-c-format, possible-boost-format +msgid "The position or size of some models exceeds the %s's printable range." +msgstr "ตำแหน่งหรือขนาดของบางรุ่นเกินช่วงที่สามารถพิมพ์ได้ของ %s" + +#, possible-c-format, possible-boost-format +msgid "The position or size of the model %s exceeds the %s's printable range." +msgstr "ตำแหน่งหรือขนาดของโมเดล %s เกินช่วงที่สามารถพิมพ์ได้ของ %s" + +msgid "" +" Please check and adjust the part's position or size to fit the printable " +"range:\n" +msgstr "โปรดตรวจสอบและปรับตำแหน่งหรือขนาดของชิ้นส่วนให้พอดีกับช่วงที่สามารถพิมพ์ได้:\n" + +#, possible-boost-format +msgid "Left nozzle: X:%1%-%2%, Y:%3%-%4%, Z:%5%-%6%\n" +msgstr "หัวฉีดด้านซ้าย: X:%1%-%2%, Y:%3%-%4%, Z:%5%-%6%\n" + +#, possible-boost-format +msgid "Right nozzle: X:%1%-%2%, Y:%3%-%4%, Z:%5%-%6%" +msgstr "หัวฉีดด้านขวา: X:%1%-%2%, Y:%3%-%4%, Z:%5%-%6%" + +msgid "Mirror Object" +msgstr "วัตถุกระจก" + +msgid "Tool Move" +msgstr "การเคลื่อนย้ายเครื่องมือ" + +msgid "Tool Rotate" +msgstr "หมุนเครื่องมือ" + +msgid "Move Object" +msgstr "ย้ายวัตถุ" + +msgid "Auto Orientation options" +msgstr "ตัวเลือกการวางแนวอัตโนมัติ" + +msgid "Enable rotation" +msgstr "เปิดใช้งานการหมุน" + +msgid "Optimize support interface area" +msgstr "ปรับพื้นที่อินเทอร์เฟซส่วนรองรับให้เหมาะสม" + +msgid "Orient" +msgstr "ตะวันออก" + +msgid "Arrange options" +msgstr "ตัวเลือกจัดเรียง" + +msgid "0 means auto spacing." +msgstr "0 หมายถึงการเว้นระยะห่างอัตโนมัติ" + +msgid "Auto rotate for arrangement" +msgstr "หมุนอัตโนมัติเพื่อการจัดเรียง" + +msgid "Allow multiple materials on same plate" +msgstr "อนุญาตให้ใช้วัสดุหลายชนิดในจานเดียวกัน" + +msgid "Avoid extrusion calibration region" +msgstr "หลีกเลี่ยงบริเวณการสอบเทียบการอัดขึ้นรูป" + +msgid "Align to Y axis" +msgstr "จัดแนวตามแกน Y" +msgctxt "Camera" + +msgid "Left" +msgstr "ซ้าย" +msgctxt "Camera" + +msgid "Right" +msgstr "ขวา" + +msgid "Add" +msgstr "เพิ่ม" + +msgid "Add plate" +msgstr "เพิ่มจาน" + +msgid "Auto orient all/selected objects" +msgstr "ปรับทิศทางวัตถุทั้งหมด/ที่เลือกโดยอัตโนมัติ" + +msgid "Auto orient all objects on current plate" +msgstr "ปรับทิศทางวัตถุทั้งหมดบนแผ่นปัจจุบันโดยอัตโนมัติ" + +msgid "Arrange all objects" +msgstr "จัดเรียงวัตถุทั้งหมด" + +msgid "Arrange objects on selected plates" +msgstr "จัดเรียงวัตถุบนจานที่เลือก" + +msgid "Split to objects" +msgstr "แยกเป็นวัตถุ" + +msgid "Split to parts" +msgstr "แยกเป็นส่วนๆ" + +msgid "Assembly View" +msgstr "มุมมองการประกอบ" + +msgid "Select Plate" +msgstr "เลือกฐานพิมพ์" + +msgid "Slicing" +msgstr "กำลังสไลซ์" + +msgid "Slice all" +msgstr "หั่นทั้งหมด" + +msgid "Failed" +msgstr "ล้มเหลว" + +msgid "All Plates" +msgstr "ทุกแผ่น" + +msgid "Stats" +msgstr "สถิติ" + +msgid "Assembly Return" +msgstr "การส่งคืนการประกอบ" + +msgid "Return" +msgstr "กลับ" + +msgid "Canvas Toolbar" +msgstr "แถบเครื่องมือแคนวาส" + +msgid "Fit camera to scene or selected object." +msgstr "ปรับกล้องให้พอดีกับฉากหรือวัตถุที่เลือก" + +msgid "3D Navigator" +msgstr "นาวิเกเตอร์ 3 มิติ" + +msgid "Zoom button" +msgstr "ปุ่มซูม" + +msgid "Overhangs" +msgstr "ส่วนยื่น" + +msgid "Outline" +msgstr "เส้นขอบ" + +msgid "Perspective" +msgstr "เปอร์สเปกทีฟ" + +msgid "Axes" +msgstr "แกน" + +msgid "Gridlines" +msgstr "เส้นกริด" + +msgid "Labels" +msgstr "ป้ายชื่อ" + +msgid "Paint Toolbar" +msgstr "แถบเครื่องมือสี" + +msgid "part selection" +msgstr "การเลือกชิ้นส่วน" + +msgid "Explosion Ratio" +msgstr "อัตราส่วนการระเบิด" + +msgid "Section View" +msgstr "มุมมองส่วน" + +msgid "Assemble Control" +msgstr "ประกอบการควบคุม" + +msgid "Selection Mode" +msgstr "โหมดการเลือก" + +msgid "Total Volume:" +msgstr "ปริมาณรวม:" + +msgid "Assembly Info" +msgstr "ข้อมูลการประกอบ" + +msgid "Volume:" +msgstr "ปริมาณ:" + +msgid "Size:" +msgstr "ขนาด:" + +#, possible-boost-format +msgid "" +"Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please " +"separate the conflicted objects farther (%s <-> %s)." +msgstr "พบความขัดแย้งของเส้นทางรหัส G ที่เลเยอร์ %d, Z = %.2lfmm โปรดแยกวัตถุที่ขัดแย้งกันให้ไกลออกไป (%s <-> %s)" + +msgid "An object is laid over the plate boundaries." +msgstr "มีวัตถุวางอยู่เหนือขอบเขตของแผ่น" + +msgid "A G-code path goes beyond the max print height." +msgstr "เส้นทาง G-code อยู่เกินความสูงสูงสุดในการพิมพ์" + +msgid "A G-code path goes beyond the plate boundaries." +msgstr "เส้นทาง G-code อยู่นอกเหนือขอบเขตของเพลท" + +msgid "Not support printing 2 or more TPU filaments." +msgstr "ไม่รองรับการพิมพ์เส้นพลาสติก TPU 2 เส้นขึ้นไป" + +#, possible-c-format, possible-boost-format +msgid "Tool %d" +msgstr "เครื่องมือ %d" + +#, possible-c-format, possible-boost-format +msgid "" +"Filament %s is placed in the %s, but the generated G-code path exceeds the " +"printable range of the %s." +msgstr "เส้นพลาสติก %s ถูกวางไว้ใน %s แต่เส้นทาง G-code ที่สร้างขึ้นเกินช่วงที่สามารถพิมพ์ได้ของ %s" + +#, possible-c-format, possible-boost-format +msgid "" +"Filaments %s are placed in the %s, but the generated G-code path exceeds the " +"printable range of the %s." +msgstr "เส้นพลาสติก %s ถูกวางไว้ใน %s แต่เส้นทาง G-code ที่สร้างขึ้นเกินช่วงที่สามารถพิมพ์ได้ของ %s" + +#, possible-c-format, possible-boost-format +msgid "" +"Filament %s is placed in the %s, but the generated G-code path exceeds the " +"printable height of the %s." +msgstr "เส้นพลาสติก %s ถูกวางไว้ใน %s แต่เส้นทาง G-code ที่สร้างขึ้นเกินความสูงที่สามารถพิมพ์ได้ของ %s" + +#, possible-c-format, possible-boost-format +msgid "" +"Filaments %s are placed in the %s, but the generated G-code path exceeds the " +"printable height of the %s." +msgstr "เส้นพลาสติก %s ถูกวางไว้ใน %s แต่เส้นทาง G-code ที่สร้างขึ้นเกินความสูงที่สามารถพิมพ์ได้ของ %s" + +msgid "Open wiki for more information." +msgstr "เปิดวิกิเพื่อดูข้อมูลเพิ่มเติม" + +msgid "Only the object being edited is visible." +msgstr "มองเห็นได้เฉพาะวัตถุที่กำลังแก้ไขเท่านั้น" + +#, possible-c-format, possible-boost-format +msgid "Filaments %s cannot be printed directly on the surface of this plate." +msgstr "ไม่สามารถพิมพ์เส้นพลาสติก %s ลงบนพื้นผิวของเพลตนี้ได้โดยตรง" + +msgid "" +"PLA and PETG filaments detected in the mixture. Adjust parameters according " +"to the Wiki to ensure print quality." +msgstr "ตรวจพบเส้นพลาสติก PLA และ PETG ในส่วนผสม ปรับพารามิเตอร์ตาม Wiki เพื่อรับรองคุณภาพการพิมพ์" + +msgid "The prime tower extends beyond the plate boundary." +msgstr "หอคอยหลักขยายออกไปเกินขอบเขตแผ่นเปลือกโลก" + +msgid "" +"Partial flushing volume set to 0. Multi-color printing may cause color " +"mixing in models. Please readjust flushing settings." +msgstr "ตั้งค่าปริมาณการไล่เส้นบางส่วนเป็น 0 การพิมพ์หลายสีอาจทำให้เกิดการผสมสีในรุ่นต่างๆ โปรดปรับการตั้งค่าการไล่เส้นใหม่" + +msgid "Click Wiki for help." +msgstr "คลิก Wiki เพื่อขอความช่วยเหลือ" + +msgid "Click here to regroup" +msgstr "คลิกที่นี่เพื่อจัดกลุ่มใหม่" + +msgid "Flushing Volume" +msgstr "ปริมาตรไล่เส้น" + +msgid "Calibration step selection" +msgstr "การเลือกขั้นตอนการสอบเทียบ" + +msgid "Micro lidar calibration" +msgstr "การสอบเทียบไมโครไลดาร์" + +msgid "Bed leveling" +msgstr "ปรับระดับฐานพิมพ์" + +msgid "High-temperature Heatbed Calibration" +msgstr "การสอบเทียบ ฐานพิมพ์อุณหภูมิสูง" + +msgid "Nozzle clumping detection Calibration" +msgstr "การสอบเทียบการตรวจจับการจับตัวกันของหัวฉีด" + +msgid "Calibration program" +msgstr "โปรแกรมสอบเทียบ" + +msgid "" +"The calibration program detects the status of your device automatically to " +"minimize deviation.\n" +"It keeps the device performing optimally." +msgstr "โปรแกรมปรับเทียบจะตรวจจับสถานะของอุปกรณ์ของคุณโดยอัตโนมัติเพื่อลดความเบี่ยงเบน\nมันทำให้อุปกรณ์ทำงานได้อย่างเหมาะสมที่สุด" + +msgid "Calibration Flow" +msgstr "การไหลของการสอบเทียบ" + +msgid "Start Calibration" +msgstr "เริ่มปรับเทียบ" + +msgid "Completed" +msgstr "สมบูรณ์" + +msgid "Calibrating" +msgstr "กำลังปรับเทียบ" + +msgid "No step selected" +msgstr "ไม่ได้เลือกขั้นตอน" + +msgid "Auto-record Monitoring" +msgstr "การตรวจสอบบันทึกอัตโนมัติ" + +msgid "Go Live" +msgstr "ดูสด" + +msgid "Liveview Retry" +msgstr "ลองดูภาพสดอีกครั้ง" + +msgid "Resolution" +msgstr "ปณิธาน" + +msgid "Enable" +msgstr "เปิดใช้" + +msgid "Hostname or IP" +msgstr "ชื่อโฮสต์หรือ IP" + +msgid "Custom camera source" +msgstr "แหล่งที่มาของกล้องแบบกำหนดเอง" + +msgid "Show \"Live Video\" guide page." +msgstr "แสดงหน้าคำแนะนำ \"วิดีโอสด\"" + +msgid "Connect Printer (LAN)" +msgstr "เชื่อมต่อเครื่องพิมพ์ (LAN)" + +msgid "Please input the printer access code:" +msgstr "โปรดใส่รหัสเข้าถึงเครื่องพิมพ์:" + +msgid "" +"You can find it in \"Settings > Network > Access code\"\n" +"on the printer, as shown in the figure:" +msgstr "คุณสามารถค้นหาได้ใน \"การตั้งค่า > เครือข่าย > รหัสการเข้าถึง\"\nบนเครื่องพิมพ์ ดังแสดงในรูป:" + +msgid "" +"You can find it in \"Setting > Setting > LAN only > Access Code\"\n" +"on the printer, as shown in the figure:" +msgstr "คุณสามารถค้นหาได้ใน \"การตั้งค่า > การตั้งค่า > LAN เท่านั้น > รหัสการเข้าถึง\"\nบนเครื่องพิมพ์ ดังแสดงในรูป:" + +msgid "Invalid input." +msgstr "ข้อมูลไม่ถูกต้อง" + +msgid "New Window" +msgstr "หน้าต่างใหม่" + +msgid "Open a new window" +msgstr "เปิดหน้าต่างใหม่" + +msgid "Application is closing" +msgstr "ปิดรับสมัครแล้ว" + +msgid "Closing Application while some presets are modified." +msgstr "การปิดแอปพลิเคชันในขณะที่มีการแก้ไขค่าที่ตั้งไว้บางส่วน" + +msgid "Logging" +msgstr "การบันทึก" + +msgid "Prepare" +msgstr "เตรียมพิมพ์" + +msgid "Preview" +msgstr "พรีวิว" + +msgid "Device" +msgstr "อุปกรณ์" + +msgid "Multi-device" +msgstr "หลายอุปกรณ์" + +msgid "Project" +msgstr "โปรเจกต์" + +msgid "Yes" +msgstr "ใช่" + +msgid "No" +msgstr "ไม่" + +msgid "will be closed before creating a new model. Do you want to continue?" +msgstr "จะถูกปิดก่อนที่จะสร้างโมเดลใหม่ คุณต้องการดำเนินการต่อหรือไม่?" + +msgid "Slice plate" +msgstr "สไลซ์ฐานพิมพ์" + +msgid "Print plate" +msgstr "พิมพ์ฐานพิมพ์" + +msgid "Export G-code file" +msgstr "ส่งออกไฟล์ G-code" + +msgid "Send" +msgstr "ส่ง" + +msgid "Export plate sliced file" +msgstr "ส่งออกไฟล์แผ่นหั่นบาง ๆ" + +msgid "Export all sliced file" +msgstr "ส่งออกไฟล์ที่หั่นบาง ๆ ทั้งหมด" + +msgid "Print all" +msgstr "พิมพ์ทั้งหมด" + +msgid "Send all" +msgstr "ส่งทั้งหมด" + +msgid "Send to Multi-device" +msgstr "ส่งไปยังอุปกรณ์หลายเครื่อง" + +msgid "Keyboard Shortcuts" +msgstr "แป้นพิมพ์ลัด" + +msgid "Show the list of keyboard shortcuts" +msgstr "แสดงรายการแป้นพิมพ์ลัด" + +msgid "Setup Wizard" +msgstr "วิซาร์ดการตั้งค่า" + +msgid "Show Configuration Folder" +msgstr "แสดงโฟลเดอร์การกำหนดค่า" + +msgid "Show Tip of the Day" +msgstr "แสดงเคล็ดลับประจำวัน" + +msgid "Check for Updates" +msgstr "ตรวจสอบการอัปเดต" + +msgid "Open Network Test" +msgstr "เปิดทดสอบเครือข่าย" + +#, possible-c-format, possible-boost-format +msgid "&About %s" +msgstr "&เกี่ยวกับ %s" + +msgid "Upload Models" +msgstr "อัปโหลดโมเดล" + +msgid "Download Models" +msgstr "ดาวน์โหลดโมเดล" + +msgid "Default View" +msgstr "มุมมองเริ่มต้น" + +msgid "Top View" +msgstr "มุมมองด้านบน" + +#. TRN To be shown in the main menu View->Bottom +msgid "Bottom" +msgstr "ล่าง" + +msgid "Bottom View" +msgstr "มุมมองด้านล่าง" + +msgid "Front" +msgstr "ด้านหน้า" + +msgid "Front View" +msgstr "มุมมองด้านหน้า" + +msgid "Rear" +msgstr "ด้านหลัง" + +msgid "Rear View" +msgstr "มุมมองด้านหลัง" + +msgid "Left View" +msgstr "มุมมองด้านซ้าย" + +msgid "Right View" +msgstr "มุมมองด้านขวา" + +msgid "Start a new window" +msgstr "เริ่มหน้าต่างใหม่" + +msgid "New Project" +msgstr "โปรเจกต์ใหม่" + +msgid "Start a new project" +msgstr "เริ่มโครงการใหม่" + +msgid "Open a project file" +msgstr "เปิดไฟล์โครงการ" + +msgid "Recent files" +msgstr "ไฟล์ล่าสุด" + +msgid "Save Project" +msgstr "บันทึกโปรเจกต์" + +msgid "Save current project to file" +msgstr "บันทึกโครงการปัจจุบันลงไฟล์" + +msgid "Save Project as" +msgstr "บันทึกโปรเจกต์เป็น" + +msgid "Save current project as" +msgstr "บันทึกโครงการปัจจุบันเป็น" + +msgid "Import 3MF/STL/STEP/SVG/OBJ/AMF" +msgstr "นำเข้า 3MF/STL/STEP/SVG/OBJ/AMF" + +msgid "Load a model" +msgstr "โหลดโมเดล" + +msgid "Import Zip Archive" +msgstr "นำเข้าไฟล์ Zip" + +msgid "Load models contained within a zip archive" +msgstr "โหลดโมเดลที่มีอยู่ในไฟล์ zip" + +msgid "Import Configs" +msgstr "นำเข้าการกำหนดค่า" + +msgid "Load configs" +msgstr "โหลดการกำหนดค่า" + +msgid "Import" +msgstr "นำเข้า" + +msgid "Export all objects as one STL" +msgstr "ส่งออกวัตถุทั้งหมดเป็น STL เดียว" + +msgid "Export all objects as STLs" +msgstr "ส่งออกวัตถุทั้งหมดเป็น STL" + +msgid "Export all objects as one DRC" +msgstr "ส่งออกวัตถุทั้งหมดเป็น DRC เดียว" + +msgid "Export all objects as DRCs" +msgstr "ส่งออกวัตถุทั้งหมดเป็น DRC" + +msgid "Export Generic 3MF" +msgstr "ส่งออก 3MF ทั่วไป" + +msgid "Export 3MF file without using some 3mf-extensions" +msgstr "ส่งออกไฟล์ 3MF โดยไม่ใช้ส่วนขยาย 3mf บางส่วน" + +msgid "Export current sliced file" +msgstr "ส่งออกไฟล์ที่หั่นเป็นชิ้นปัจจุบัน" + +msgid "Export all plate sliced file" +msgstr "ส่งออกไฟล์ที่หั่นเป็นแผ่นทั้งหมด" + +msgid "Export G-code" +msgstr "ส่งออก G-code" + +msgid "Export current plate as G-code" +msgstr "ส่งออกแผ่นปัจจุบันเป็นรหัส G" + +msgid "Export toolpaths as OBJ" +msgstr "ส่งออกเส้นทางเครื่องมือเป็น OBJ" + +msgid "Export Preset Bundle" +msgstr "ส่งออกชุดที่ตั้งไว้ล่วงหน้า" + +msgid "Export current configuration to files" +msgstr "ส่งออกการกำหนดค่าปัจจุบันไปยังไฟล์" + +msgid "Export" +msgstr "ส่งออก" + +msgid "Sync Presets" +msgstr "ซิงค์พรีเซ็ต" + +msgid "Pull and apply the latest presets from OrcaCloud" +msgstr "ดึงและใช้ค่าที่ตั้งล่วงหน้าล่าสุดจาก OrcaCloud" + +msgid "You must be logged in to sync presets from cloud." +msgstr "คุณต้องเข้าสู่ระบบเพื่อซิงค์ค่าที่ตั้งล่วงหน้าจากคลาวด์" + +msgid "Quit" +msgstr "ออก" + +msgid "Undo" +msgstr "เลิกทำ" + +msgid "Redo" +msgstr "ทำซ้ำ" + +msgid "Cut selection to clipboard" +msgstr "ตัดส่วนที่เลือกไปที่คลิปบอร์ด" + +msgid "Copy" +msgstr "คัดลอก" + +msgid "Copy selection to clipboard" +msgstr "คัดลอกส่วนที่เลือกไปยังคลิปบอร์ด" + +msgid "Paste" +msgstr "วาง" + +msgid "Paste clipboard" +msgstr "วางคลิปบอร์ด" + +msgid "Delete selected" +msgstr "ลบรายการที่เลือก" + +msgid "Deletes the current selection" +msgstr "ลบการเลือกปัจจุบัน" + +msgid "Delete all" +msgstr "ลบทั้งหมด" + +msgid "Deletes all objects" +msgstr "ลบวัตถุทั้งหมด" + +msgid "Clone selected" +msgstr "เลือกโคลนแล้ว" + +msgid "Clone copies of selections" +msgstr "คัดลอกสำเนาของการเลือก" + +msgid "Duplicate Current Plate" +msgstr "ทำซ้ำแผ่นปัจจุบัน" + +msgid "Duplicate the current plate" +msgstr "ทำซ้ำแผ่นปัจจุบัน" + +msgid "Select all" +msgstr "เลือกทั้งหมด" + +msgid "Selects all objects" +msgstr "เลือกวัตถุทั้งหมด" + +msgid "Deselect all" +msgstr "ยกเลิกการเลือกทั้งหมด" + +msgid "Deselects all objects" +msgstr "ยกเลิกการเลือกออบเจ็กต์ทั้งหมด" + +msgid "Use Perspective View" +msgstr "ใช้มุมมองเปอร์สเปคทีฟ" + +msgid "Use Orthogonal View" +msgstr "ใช้มุมมองมุมฉาก" + +msgid "Auto Perspective" +msgstr "มุมมองอัตโนมัติ" + +msgid "" +"Automatically switch between orthographic and perspective when changing from " +"top/bottom/side views." +msgstr "สลับระหว่างออร์โธกราฟิกและเปอร์สเปคทีฟโดยอัตโนมัติเมื่อเปลี่ยนจากมุมมองด้านบน/ล่าง/ด้านข้าง" + +msgid "Show &G-code Window" +msgstr "แสดงหน้าต่าง &G-code" + +msgid "Show G-code window in Preview scene." +msgstr "แสดงหน้าต่าง G-code ในฉากแสดงตัวอย่าง" + +msgid "Show 3D Navigator" +msgstr "แสดง 3D Navigator" + +msgid "Show 3D navigator in Prepare and Preview scene." +msgstr "แสดงเครื่องนำทาง 3 มิติในฉากเตรียมและดูตัวอย่าง" + +msgid "Show Gridlines" +msgstr "แสดงเส้นกริด" + +msgid "Show Gridlines on plate" +msgstr "แสดงเส้นตารางบนจาน" + +msgid "Reset Window Layout" +msgstr "รีเซ็ตเค้าโครงหน้าต่าง" + +msgid "Reset to default window layout" +msgstr "รีเซ็ตเป็นเค้าโครงหน้าต่างเริ่มต้น" + +msgid "Show &Labels" +msgstr "แสดง&ป้ายชื่อ" + +msgid "Show object labels in 3D scene." +msgstr "แสดงป้ายกำกับวัตถุในฉาก 3 มิติ" + +msgid "Show &Overhang" +msgstr "แสดง&โอเวอร์แฮงค์" + +msgid "Show object overhang highlight in 3D scene." +msgstr "แสดงไฮไลท์ส่วนยื่นของวัตถุในฉาก 3 มิติ" + +msgid "Show Selected Outline (beta)" +msgstr "แสดงโครงร่างที่เลือก (เบต้า)" + +msgid "Show outline around selected object in 3D scene." +msgstr "แสดงเค้าร่างรอบๆ วัตถุที่เลือกในฉาก 3 มิติ" + +msgid "Preferences" +msgstr "การตั้งค่า" + +msgid "View" +msgstr "มุมมอง" + +msgid "Preset Bundle" +msgstr "ชุดที่ตั้งไว้ล่วงหน้า" + +msgid "Syncing presets from cloud…" +msgstr "กำลังซิงค์ค่าที่ตั้งล่วงหน้าจากคลาวด์..." + +msgid "Help" +msgstr "ช่วยเหลือ" + +msgid "Temperature Calibration" +msgstr "ปรับเทียบอุณหภูมิ" + +msgid "Max flowrate" +msgstr "อัตราการไหลสูงสุด" + +msgid "Pressure advance" +msgstr "แรงดันล่วงหน้า (Pressure Advance)" + +msgid "Flow ratio" +msgstr "อัตราส่วนการไหล" + +msgid "Flow Rate Calibration" +msgstr "ปรับเทียบอัตราการไหล" + +msgid "Retraction" +msgstr "การดึงกลับ" + +msgid "Cornering" +msgstr "การเข้าโค้ง" + +msgid "Cornering calibration" +msgstr "ปรับเทียบการเข้าโค้ง" + +msgid "Input Shaping Frequency" +msgstr "ความถี่ Input Shaping" + +msgid "Input Shaping Damping/zeta factor" +msgstr "ค่าหน่วง/zeta ของ Input Shaping" + +msgid "Input Shaping" +msgstr "Input Shaping" + +msgid "VFA" +msgstr "VFA" + +msgid "Calibration Guide" +msgstr "คู่มือการสอบเทียบ" + +msgid "&Open G-code" +msgstr "&เปิดรหัส G" + +msgid "Open a G-code file" +msgstr "เปิดไฟล์รหัส G" + +msgid "Re&load from Disk" +msgstr "&โหลดจากดิสก์อีกครั้ง" + +msgid "Reload the plater from disk" +msgstr "โหลดเพลเตอร์จากดิสก์อีกครั้ง" + +msgid "Export &Toolpaths as OBJ" +msgstr "ส่งออก &Toolpaths เป็น OBJ" + +msgid "Open &Slicer" +msgstr "เปิด&ตัวแบ่งส่วนข้อมูล" + +msgid "Open Slicer" +msgstr "เปิดตัวแบ่งส่วนข้อมูล" + +msgid "&Quit" +msgstr "&ออก" + +#, possible-c-format, possible-boost-format +msgid "Quit %s" +msgstr "ออกจาก %s" + +msgid "&File" +msgstr "&ไฟล์" + +msgid "&View" +msgstr "&มุมมอง" + +msgid "&Help" +msgstr "&ช่วยเหลือ" + +#, possible-c-format, possible-boost-format +msgid "A file exists with the same name: %s, do you want to overwrite it?" +msgstr "มีไฟล์ชื่อเดียวกันนี้: %s คุณต้องการเขียนทับหรือไม่?" + +#, possible-c-format, possible-boost-format +msgid "A config exists with the same name: %s, do you want to overwrite it?" +msgstr "มีการกำหนดค่าชื่อเดียวกัน: %s คุณต้องการเขียนทับหรือไม่" + +msgid "Overwrite file" +msgstr "เขียนทับไฟล์" + +msgid "Overwrite config" +msgstr "เขียนทับการกำหนดค่า" + +msgid "Yes to All" +msgstr "ใช่ทั้งหมด" + +msgid "No to All" +msgstr "ไม่ใช่ทั้งหมด" + +msgid "Choose a directory" +msgstr "เลือกไดเร็กทอรี" + +#, possible-c-format, possible-boost-format +msgid "There is %d config exported. (Only non-system configs)" +msgid_plural "There are %d configs exported. (Only non-system configs)" +msgstr[0] "มีการส่งออกการตั้งค่า %d รายการ (เฉพาะการตั้งค่าที่ไม่ใช่ของระบบ)" + +msgid "Export result" +msgstr "ผลลัพธ์การส่งออก" + +msgid "Select profile to load:" +msgstr "เลือกโปรไฟล์ที่จะโหลด:" + +#, possible-c-format, possible-boost-format +msgid "There is %d config imported. (Only non-system and compatible configs)" +msgid_plural "" +"There are %d configs imported. (Only non-system and compatible configs)" +msgstr[0] "There is %d config imported. (Only non-system and compatible configs)" + +msgid "" +"\n" +"Hint: Make sure you have added the corresponding printer before importing " +"the configs." +msgstr "\nคำแนะนำ: ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มเครื่องพิมพ์ที่เกี่ยวข้องก่อนที่จะนำเข้าการกำหนดค่า" + +msgid "Import result" +msgstr "นำเข้าผลลัพธ์" + +msgid "File is missing" +msgstr "ไฟล์หายไป" + +msgid "The project is no longer available." +msgstr "โครงการนี้ไม่สามารถใช้ได้อีกต่อไป" + +msgid "Filament Settings" +msgstr "การตั้งค่าเส้นพลาสติก" + +msgid "" +"Do you want to synchronize your personal data from Orca Cloud?\n" +"It contains the following information:\n" +"1. The Process presets\n" +"2. The Filament presets\n" +"3. The Printer presets" +msgstr "คุณต้องการซิงโครไนซ์ข้อมูลส่วนบุคคลของคุณจาก Orca Cloud หรือไม่?\nประกอบด้วยข้อมูลต่อไปนี้:\n1. กระบวนการที่ตั้งไว้ล่วงหน้า\n2. ค่าที่ตั้งไว้ล่วงหน้าของ เส้นพลาสติก\n3. เครื่องพิมพ์จะตั้งค่าล่วงหน้า" + +msgid "Synchronization" +msgstr "การซิงโครไนซ์" + +msgid "The device cannot handle more conversations. Please retry later." +msgstr "อุปกรณ์ไม่สามารถรองรับการสนทนาเพิ่มไส้ในได้ โปรดลองอีกครั้งในภายหลัง" + +msgid "Player is malfunctioning. Please reinstall the system player." +msgstr "เครื่องเล่นทำงานผิดปกติ กรุณาติดตั้งเครื่องเล่นระบบใหม่" + +msgid "The player is not loaded, please click \"play\" button to retry." +msgstr "โปรแกรมเล่นไม่ได้โหลด กรุณาคลิกปุ่ม \"เล่น\" เพื่อลองอีกครั้ง" + +msgid "" +"The player is not loaded because the GStreamer GTK video sink is missing or " +"failed to initialize." +msgstr "ไม่ได้โหลดโปรแกรมเล่นเนื่องจาก GStreamer GTK video sink หายไปหรือไม่สามารถเริ่มต้นได้" + +msgid "Please confirm if the printer is connected." +msgstr "โปรดยืนยันว่าเครื่องพิมพ์เชื่อมต่ออยู่หรือไม่" + +msgid "" +"The printer is currently busy downloading. Please try again after it " +"finishes." +msgstr "เครื่องพิมพ์กำลังยุ่งอยู่กับการดาวน์โหลด โปรดลองอีกครั้งหลังจากเสร็จสิ้น" + +msgid "Printer camera is malfunctioning." +msgstr "กล้องเครื่องพิมพ์ทำงานผิดปกติ" + +msgid "A problem occurred. Please update the printer firmware and try again." +msgstr "เกิดปัญหาขึ้น โปรดอัปเดตเฟิร์มแวร์เครื่องพิมพ์แล้วลองอีกครั้ง" + +msgid "" +"LAN Only Liveview is off. Please turn on the liveview on printer screen." +msgstr "LAN Only Liveview ปิดอยู่ กรุณาเปิด liveview บนหน้าจอเครื่องพิมพ์" + +msgid "Please enter the IP of printer to connect." +msgstr "โปรดป้อน IP ของเครื่องพิมพ์เพื่อเชื่อมต่อ" + +msgid "Initializing..." +msgstr "กำลังเริ่มต้น..." + +msgid "Connection Failed. Please check the network and try again" +msgstr "การเชื่อมต่อล้มเหลว โปรดตรวจสอบเครือข่ายแล้วลองอีกครั้ง" + +msgid "" +"Please check the network and try again. You can restart or update the " +"printer if the issue persists." +msgstr "โปรดตรวจสอบเครือข่ายแล้วลองอีกครั้ง คุณสามารถรีสตาร์ทหรืออัปเดตเครื่องพิมพ์ได้หากปัญหายังคงมีอยู่" + +msgid "The printer has been logged out and cannot connect." +msgstr "เครื่องพิมพ์ออกจากระบบและไม่สามารถเชื่อมต่อได้" + +msgid "Video Stopped." +msgstr "วิดีโอหยุดแล้ว" + +msgid "LAN Connection Failed (Failed to start liveview)" +msgstr "การเชื่อมต่อ LAN ล้มเหลว (ไม่สามารถเริ่ม liveview)" + +msgid "" +"Virtual Camera Tools is required for this task!\n" +"Do you want to install them?" +msgstr "จำเป็นต้องมีเครื่องมือกล้องเสมือนสำหรับงานนี้!\nคุณต้องการติดตั้งหรือไม่?" + +msgid "Downloading Virtual Camera Tools" +msgstr "กำลังดาวน์โหลดเครื่องมือกล้องเสมือน" + +msgid "" +"Another virtual camera is running.\n" +"Orca Slicer supports only a single virtual camera.\n" +"Do you want to stop this virtual camera?" +msgstr "กล้องเสมือนอีกตัวกำลังทำงานอยู่\nOrca Slicer รองรับกล้องเสมือนเพียงตัวเดียวเท่านั้น\nคุณต้องการหยุดกล้องเสมือนนี้หรือไม่?" + +#, possible-c-format, possible-boost-format +msgid "Virtual camera initialize failed (%s)!" +msgstr "การเริ่มต้นกล้องเสมือนล้มเหลว (%s)!" + +msgid "Network unreachable" +msgstr "ไม่สามารถเข้าถึงเครือข่าย" + +msgid "Information" +msgstr "ข้อมูล" + +msgid "Playing..." +msgstr "กำลังเล่น..." + +msgid "Loading..." +msgstr "กำลังโหลด..." + +msgid "Year" +msgstr "ปี" + +msgid "Month" +msgstr "เดือน" + +msgid "All Files" +msgstr "ไฟล์ทั้งหมด" + +msgid "Group files by year, recent first." +msgstr "จัดกลุ่มไฟล์ตามปี ล่าสุดก่อน" + +msgid "Group files by month, recent first." +msgstr "จัดกลุ่มไฟล์ตามเดือน ล่าสุดก่อน" + +msgid "Show all files, recent first." +msgstr "แสดงไฟล์ทั้งหมด โดยแสดงไฟล์ล่าสุดก่อน" + +msgid "Timelapse" +msgstr "ไทม์แลปส์" + +msgid "Switch to timelapse files." +msgstr "สลับไปยังไฟล์ไทม์แลปส์" + +msgid "Video" +msgstr "วีดีโอ" + +msgid "Switch to video files." +msgstr "สลับไปยังไฟล์วิดีโอ" + +msgid "Switch to 3MF model files." +msgstr "สลับเป็นไฟล์โมเดล 3MF" + +msgid "Delete selected files from printer." +msgstr "ลบไฟล์ที่เลือกออกจากเครื่องพิมพ์" + +msgid "Download" +msgstr "ดาวน์โหลด" + +msgid "Download selected files from printer." +msgstr "ดาวน์โหลดไฟล์ที่เลือกจากเครื่องพิมพ์" + +msgid "Batch manage files." +msgstr "จัดการไฟล์เป็นกลุ่ม" + +msgid "Refresh" +msgstr "รีเฟรช" + +msgid "Reload file list from printer." +msgstr "โหลดรายการไฟล์จากเครื่องพิมพ์อีกครั้ง" + +msgid "No printers." +msgstr "ไม่มีเครื่องพิมพ์" + +msgid "Loading file list..." +msgstr "กำลังโหลดรายการไฟล์..." + +msgid "No files" +msgstr "ไม่มีไฟล์" + +msgid "Load failed" +msgstr "โหลดล้มเหลว" + +msgid "" +"Browsing file in storage is not supported in current firmware. Please update " +"the printer firmware." +msgstr "การเรียกดูไฟล์ในที่จัดเก็บข้อมูลไม่ได้รับส่วนรองรับในเฟิร์มแวร์ปัจจุบัน โปรดอัปเดตเฟิร์มแวร์เครื่องพิมพ์" + +msgid "LAN Connection Failed (Failed to view sdcard)" +msgstr "การเชื่อมต่อ LAN ล้มเหลว (ไม่สามารถดู sdcard)" + +msgid "Browsing file in storage is not supported in LAN Only Mode." +msgstr "ไม่รองรับการเรียกดูไฟล์ในที่จัดเก็บข้อมูลในโหมด LAN เท่านั้น" + +#, possible-c-format, possible-boost-format +msgid "You are going to delete %u file from printer. Are you sure to continue?" +msgid_plural "" +"You are going to delete %u files from printer. Are you sure to continue?" +msgstr[0] "You are going to delete %u file from printer. Are you sure to continue?" + +msgid "Delete files" +msgstr "ไฟล์ลบ" + +#, possible-c-format, possible-boost-format +msgid "Do you want to delete the file '%s' from printer?" +msgstr "คุณต้องการลบไฟล์ '%s' ออกจากเครื่องพิมพ์หรือไม่?" + +msgid "Delete file" +msgstr "ไฟล์ลบ" + +msgid "Fetching model information..." +msgstr "กำลังเรียกข้อมูลรุ่น..." + +msgid "Failed to fetch model information from printer." +msgstr "ไม่สามารถดึงข้อมูลรุ่นจากเครื่องพิมพ์" + +msgid "Failed to parse model information." +msgstr "ไม่สามารถแยกวิเคราะห์ข้อมูลโมเดล" + +msgid "" +"The .gcode.3mf file contains no G-code data. Please slice it with Orca " +"Slicer and export a new .gcode.3mf file." +msgstr "ไฟล์ .gcode.3mf ไม่มีข้อมูล G-code โปรดแบ่งส่วนด้วย Orca Slicer และส่งออกไฟล์ .gcode.3mf ใหม่" + +#, possible-c-format, possible-boost-format +msgid "File '%s' was lost! Please download it again." +msgstr "ไฟล์ '%s' สูญหาย! กรุณาดาวน์โหลดอีกครั้ง." + +#, possible-c-format, possible-boost-format +msgid "" +"File: %s\n" +"Title: %s\n" +msgstr "ไฟล์: %s\nชื่อเรื่อง: %s\n" + +msgid "Download waiting..." +msgstr "ดาวน์โหลดรอ..." + +msgid "Play" +msgstr "เล่น" + +msgid "Open Folder" +msgstr "เปิดโฟลเดอร์" + +msgid "Download finished" +msgstr "ดาวน์โหลดเสร็จแล้ว" + +#, possible-c-format, possible-boost-format +msgid "Downloading %d%%..." +msgstr "กำลังดาวน์โหลด %d%%..." + +msgid "Air Condition" +msgstr "ปรับอากาศ" + +msgid "" +"Reconnecting the printer, the operation cannot be completed immediately, " +"please try again later." +msgstr "กำลังเชื่อมต่อเครื่องพิมพ์ใหม่ ไม่สามารถดำเนินการให้เสร็จสิ้นได้ในทันที โปรดลองอีกครั้งในภายหลัง" + +msgid "Timeout, please try again." +msgstr "หมดเวลา โปรดลองอีกครั้ง" + +msgid "File does not exist." +msgstr "ไม่มีไฟล์นี้" + +msgid "File checksum error. Please retry." +msgstr "ข้อผิดพลาดในการตรวจสอบไฟล์ กรุณาลองอีกครั้ง" + +msgid "Not supported on the current printer version." +msgstr "ไม่รองรับเครื่องพิมพ์เวอร์ชันปัจจุบัน" + +msgid "" +"Please check if the storage is inserted into the printer.\n" +"If it still cannot be read, you can try formatting the storage." +msgstr "โปรดตรวจสอบว่ามีการใส่ที่เก็บข้อมูลเข้าไปในเครื่องพิมพ์หรือไม่\nหากยังไม่สามารถอ่านได้ คุณสามารถลองฟอร์แมตที่จัดเก็บข้อมูลได้" + +msgid "" +"The firmware version of the printer is too low. Please update the firmware " +"and try again." +msgstr "เวอร์ชันเฟิร์มแวร์ของเครื่องพิมพ์ต่ำเกินไป โปรดอัปเดตเฟิร์มแวร์แล้วลองอีกครั้ง" + +msgid "The file already exists, do you want to replace it?" +msgstr "ไฟล์นี้มีอยู่แล้ว คุณต้องการแทนที่หรือไม่" + +msgid "Insufficient storage space, please clear the space and try again." +msgstr "พื้นที่เก็บข้อมูลไม่เพียงพอ โปรดล้างพื้นที่แล้วลองอีกครั้ง" + +msgid "File creation failed, please try again." +msgstr "การสร้างไฟล์ล้มเหลว โปรดลองอีกครั้ง" + +msgid "File write failed, please try again." +msgstr "การเขียนไฟล์ล้มเหลว โปรดลองอีกครั้ง" + +msgid "MD5 verification failed, please try again." +msgstr "การยืนยัน MD5 ล้มเหลว โปรดลองอีกครั้ง" + +msgid "File renaming failed, please try again." +msgstr "การเปลี่ยนชื่อไฟล์ล้มเหลว โปรดลองอีกครั้ง" + +msgid "File upload failed, please try again." +msgstr "การอัปโหลดไฟล์ล้มเหลว โปรดลองอีกครั้ง" + +#, possible-c-format, possible-boost-format +msgid "Error code: %d" +msgstr "รหัสข้อผิดพลาด: %d" + +msgid "User cancels task." +msgstr "ผู้ใช้ยกเลิกงาน" + +msgid "Failed to read file, please try again." +msgstr "ไม่สามารถอ่านไฟล์ได้ โปรดลองอีกครั้ง" + +msgid "Speed:" +msgstr "ความเร็ว:" + +msgid "Deadzone:" +msgstr "เดดโซน:" + +msgid "Options:" +msgstr "ตัวเลือก:" + +msgid "Zoom" +msgstr "ซูม" + +msgid "Translation/Zoom" +msgstr "การแปล/ซูม" + +msgid "3Dconnexion settings" +msgstr "การตั้งค่า 3Dconnexion" + +msgid "Swap Y/Z axes" +msgstr "สลับแกน Y/Z" + +msgid "Invert X axis" +msgstr "กลับแกน X" + +msgid "Invert Y axis" +msgstr "กลับแกน Y" + +msgid "Invert Z axis" +msgstr "กลับแกน Z" + +msgid "Invert Yaw axis" +msgstr "กลับแกนหันเห" + +msgid "Invert Pitch axis" +msgstr "สลับแกนพิทช์" + +msgid "Invert Roll axis" +msgstr "กลับแกนม้วน" + +msgid "(LAN)" +msgstr "(แลน)" + +msgid "Search" +msgstr "ค้นหา" + +msgid "My Device" +msgstr "อุปกรณ์ของฉัน" + +msgid "Other Device" +msgstr "อุปกรณ์อื่น ๆ" + +msgid "Online" +msgstr "ออนไลน์" + +msgid "Input access code" +msgstr "ป้อนรหัสการเข้าถึง" + +msgid "Can't find my devices?" +msgstr "ไม่พบอุปกรณ์ของฉัน?" + +msgid "Log out successful." +msgstr "ออกจากระบบสำเร็จ" + +msgid "Offline" +msgstr "ออฟไลน์" + +msgid "Busy" +msgstr "ไม่ว่าง" + +msgid "Modifying the device name" +msgstr "การปรับเปลี่ยนชื่ออุปกรณ์" + +msgid "Name is invalid;" +msgstr "ชื่อไม่ถูกต้อง" + +msgid "illegal characters:" +msgstr "อักขระที่ผิดกฎหมาย:" + +msgid "illegal suffix:" +msgstr "คำต่อท้ายที่ผิดกฎหมาย:" + +msgid "The name is not allowed to be empty." +msgstr "ชื่อไม่ได้รับอนุญาตให้เว้นว่าง" + +msgid "The name is not allowed to start with space character." +msgstr "ชื่อไม่ได้รับอนุญาตให้ขึ้นต้นด้วยอักขระเว้นวรรค" + +msgid "The name is not allowed to end with space character." +msgstr "ชื่อไม่ได้รับอนุญาตให้ลงท้ายด้วยอักขระเว้นวรรค" + +msgid "The name is not allowed to exceed 32 characters." +msgstr "ชื่อไม่ได้รับอนุญาตให้เกิน 32 ตัวอักษร" + +msgid "Bind with Pin Code" +msgstr "ผูกด้วยรหัสพิน" + +msgid "Bind with Access Code" +msgstr "ผูกด้วยรหัสการเข้าถึง" +msgctxt "Quit_Switching" + +msgid "Quit" +msgstr "ออก" + +msgid "Switching..." +msgstr "กำลังเปลี่ยน..." + +msgid "Switching failed" +msgstr "การสลับล้มเหลว" + +msgid "Printing Progress" +msgstr "ความคืบหน้าการพิมพ์" + +msgid "Parts Skip" +msgstr "อะไหล่ข้าม" + +msgid "Stop" +msgstr "หยุด" + +msgid "Layer: N/A" +msgstr "ชั้น: N/A" + +msgid "Click to view thermal preconditioning explanation" +msgstr "คลิกเพื่อดูคำอธิบายการปรับสภาพล่วงหน้าทางความร้อน" + +msgid "Clear" +msgstr "ชัดเจน" + +msgid "" +"You have completed printing the mall model, \n" +"but the synchronization of rating information has failed." +msgstr "คุณพิมพ์โมเดลห้างสรรพสินค้าเสร็จแล้ว \nแต่การซิงโครไนซ์ข้อมูลการให้คะแนนล้มเหลว" + +msgid "How do you like this printing file?" +msgstr "คุณชอบไฟล์การพิมพ์นี้อย่างไร?" + +msgid "" +"(The model has already been rated. Your rating will overwrite the previous " +"rating.)" +msgstr "(แบบจำลองได้รับการจัดอันดับแล้ว การให้คะแนนของคุณจะเขียนทับการให้คะแนนครั้งก่อน)" + +msgid "Rate" +msgstr "ประเมิน" + +msgid "Camera" +msgstr "กล้อง" + +msgid "Storage" +msgstr "ที่จัดเก็บ" + +msgid "Camera Setting" +msgstr "การตั้งค่ากล้อง" + +msgid "Switch Camera View" +msgstr "สลับมุมมองกล้อง" + +msgid "Control" +msgstr "ควบคุม" + +msgid "Printer Parts" +msgstr "ชิ้นส่วนเครื่องพิมพ์" + +msgid "Print Options" +msgstr "ตัวเลือกพิมพ์" + +msgid "Safety Options" +msgstr "ตัวเลือกความปลอดภัย" + +msgid "Lamp" +msgstr "ไฟ" + +msgid "Bed" +msgstr "ฐานพิมพ์" + +msgid "Debug Info" +msgstr "ข้อมูลการแก้ไขข้อบกพร่อง" + +msgid "Filament loading..." +msgstr "กำลังโหลดเส้นพลาสติก..." + +msgid "No Storage" +msgstr "ไม่มีที่จัดเก็บ" + +msgid "Storage Abnormal" +msgstr "ที่จัดเก็บผิดปกติ" + +msgid "Cancel print" +msgstr "ยกเลิกการพิมพ์" + +msgid "Are you sure you want to stop this print?" +msgstr "คุณแน่ใจหรือไม่ว่าต้องการหยุดงานพิมพ์นี้" + +msgid "The printer is busy with another print job." +msgstr "เครื่องพิมพ์กำลังยุ่งอยู่กับงานพิมพ์อื่น" + +msgid "" +"When printing is paused, filament loading and unloading are only supported " +"for external slots." +msgstr "เมื่อหยุดการพิมพ์ชั่วคราว การโหลดฟิลาเมนท์และการขนถ่ายจะรองรับเฉพาะช่องภายนอกเท่านั้น" + +msgid "Current extruder is busy changing filament." +msgstr "ปัจจุบันชุดดันเส้นกำลังยุ่งอยู่กับการเปลี่ยนเส้นพลาสติก" + +msgid "Current slot has already been loaded." +msgstr "ช่องปัจจุบันถูกโหลดแล้ว" + +msgid "The selected slot is empty." +msgstr "ช่องที่เลือกว่างเปล่า" + +msgid "Printer 2D mode does not support 3D calibration" +msgstr "โหมด 2D ของเครื่องพิมพ์ไม่รองรับการปรับเทียบ 3D" + +msgid "Downloading..." +msgstr "กำลังดาวน์โหลด..." + +msgid "Cloud Slicing..." +msgstr "คลาวด์สไลซ์..." + +#, possible-c-format, possible-boost-format +msgid "In Cloud Slicing Queue, there are %s tasks ahead." +msgstr "ใน Cloud Slicing Queue มี %s งานรออยู่ข้างหน้า" + +#, possible-c-format, possible-boost-format +msgid "Layer: %s" +msgstr "เลเยอร์: %s" + +#, possible-c-format, possible-boost-format +msgid "Layer: %d/%d" +msgstr "เลเยอร์: %d/%d" + +msgid "" +"Please heat the nozzle to above 170℃ before loading or unloading filament." +msgstr "กรุณาตั้งอุณหภูมิหัวฉีดให้สูงกว่า 170°C ก่อนที่จะบรรจุหรือขนถ่ายเส้นพลาสติก" + +msgid "Chamber temperature cannot be changed in cooling mode while printing." +msgstr "อุณหภูมิห้องเพาะเลี้ยงไม่สามารถเปลี่ยนแปลงได้ในโหมดทำความเย็นขณะพิมพ์" + +msgid "" +"If the chamber temperature exceeds 40℃, the system will automatically switch " +"to heating mode. Please confirm whether to switch." +msgstr "หากอุณหภูมิห้องเพาะเกิน 40°C ระบบจะเปลี่ยนเป็นโหมดทำความร้อนโดยอัตโนมัติ โปรดยืนยันว่าจะสลับหรือไม่" + +msgid "Please select an AMS slot before calibration" +msgstr "โปรดเลือกช่อง AMS ก่อนการสอบเทียบ" + +msgid "" +"Cannot read filament info: the filament is loaded to the tool head,please " +"unload the filament and try again." +msgstr "ไม่สามารถอ่านข้อมูลเส้นพลาสติกได้: โหลดเส้นพลาสติกไปที่หัวเครื่องมือแล้ว โปรดยกเลิกการโหลดเส้นพลาสติกแล้วลองอีกครั้ง" + +msgid "This only takes effect during printing" +msgstr "ซึ่งจะมีผลเฉพาะระหว่างการพิมพ์เท่านั้น" + +msgid "Silent" +msgstr "เงียบ" + +msgid "Standard" +msgstr "มาตรฐาน" + +msgid "Sport" +msgstr "สปอร์ต" + +msgid "Ludicrous" +msgstr "เร็วสุด" + +msgid "" +"Turning off the lights during the task will cause the failure of AI " +"monitoring, like spaghetti detection. Please choose carefully." +msgstr "การปิดไฟระหว่างทำงานจะทำให้การตรวจสอบ AI ล้มเหลว เช่น การตรวจจับสปาเก็ตตี้ โปรดเลือกอย่างระมัดระวัง" + +msgid "Keep it On" +msgstr "เก็บไว้บน" + +msgid "Turn it Off" +msgstr "ปิดมัน" + +msgid "Can't start this without storage." +msgstr "ไม่สามารถเริ่มต้นได้หากไม่มีพื้นที่เก็บข้อมูล" + +msgid "Rate the Print Profile" +msgstr "ให้คะแนนโปรไฟล์การพิมพ์" + +msgid "Comment" +msgstr "ความคิดเห็น" + +msgid "Rate this print" +msgstr "ให้คะแนนงานพิมพ์นี้" + +msgid "Add Photo" +msgstr "เพิ่มรูปภาพ" + +msgid "Delete Photo" +msgstr "ลบรูปภาพ" + +msgid "Submit" +msgstr "ส่ง" + +msgid "Please click on the star first." +msgstr "กรุณาคลิกที่ดาวก่อน" + +msgid "Get oss config failed." +msgstr "รับการกำหนดค่า oss ล้มเหลว" + +msgid "Upload Pictures" +msgstr "อัพโหลดรูปภาพ" + +msgid "Number of images successfully uploaded" +msgstr "จำนวนภาพที่อัพโหลดสำเร็จ" + +msgid " upload failed" +msgstr "การอัปโหลดล้มเหลว" + +msgid " upload config prase failed\n" +msgstr "การอัปโหลดการกำหนดค่าล้มเหลว\n" + +msgid " No corresponding storage bucket\n" +msgstr "ไม่มีที่เก็บข้อมูลที่เกี่ยวข้อง\n" + +msgid " cannot be opened\n" +msgstr "ไม่สามารถเปิดได้\n" + +msgid "" +"The following issues occurred during the process of uploading images. Do you " +"want to ignore them?\n" +"\n" +msgstr "ปัญหาต่อไปนี้เกิดขึ้นระหว่างกระบวนการอัพโหลดรูปภาพ คุณต้องการที่จะเพิกเฉยต่อพวกเขาหรือไม่?\n" + +msgid "info" +msgstr "ข้อมูล" + +msgid "Synchronizing the printing results. Please retry a few seconds later." +msgstr "การซิงโครไนซ์ผลการพิมพ์ โปรดลองอีกครั้งในภายหลัง" + +msgid "Upload failed\n" +msgstr "การอัปโหลดล้มเหลว\n" + +msgid "Obtaining instance_id failed\n" +msgstr "การรับ instance_id ล้มเหลว\n" + +msgid "" +"Your comment result cannot be uploaded due to the following reasons:\n" +"\n" +" error code: " +msgstr "ไม่สามารถอัปโหลดผลลัพธ์ความคิดเห็นของคุณเนื่องจากสาเหตุดังต่อไปนี้:\n\n รหัสข้อผิดพลาด:" + +msgid "error message: " +msgstr "ข้อความแสดงข้อผิดพลาด:" + +msgid "" +"\n" +"\n" +"Would you like to redirect to the webpage to give a rating?" +msgstr "\nคุณต้องการเปลี่ยนเส้นทางไปยังหน้าเว็บเพื่อให้คะแนนหรือไม่" + +msgid "" +"Some of your images failed to upload. Would you like to redirect to the " +"webpage to give a rating?" +msgstr "รูปภาพบางรูปของคุณล้มเหลวในการอัปโหลด คุณต้องการเปลี่ยนเส้นทางไปยังหน้าเว็บเพื่อให้คะแนนหรือไม่" + +msgid "You can select up to 16 images." +msgstr "คุณสามารถเลือกได้สูงสุด 16 ภาพ" + +msgid "" +"At least one successful print record of this print profile is required \n" +"to give a positive rating (4 or 5 stars)." +msgstr "ต้องมีบันทึกการพิมพ์ที่สำเร็จของโปรไฟล์การพิมพ์นี้อย่างน้อยหนึ่งรายการ \nเพื่อให้คะแนนเป็นบวก (4 หรือ 5 ดาว)" + +msgid "click to add machine" +msgstr "คลิกเพื่อเพิ่มเครื่อง" + +msgid "Status" +msgstr "สถานะ" +msgctxt "Firmware" + +msgid "Update" +msgstr "อัปเดต" + +msgid "Assistant(HMS)" +msgstr "ผู้ช่วย(HMS)" + +#, possible-c-format, possible-boost-format +msgid "Network plug-in v%s" +msgstr "ปลั๊กอินเครือข่าย v%s" + +#, possible-c-format, possible-boost-format +msgid "Network plug-in v%s (%s)" +msgstr "ปลั๊กอินเครือข่าย v%s (%s)" + +msgid "Don't show again" +msgstr "ไม่ต้องแสดงอีก" + +msgid "Go to" +msgstr "ไปที่" + +msgid "Later" +msgstr "ภายหลัง" + +#, possible-c-format, possible-boost-format +msgid "%s error" +msgstr "ข้อผิดพลาด %s" + +#, possible-c-format, possible-boost-format +msgid "%s has encountered an error" +msgstr "%s พบข้อผิดพลาด" + +#, possible-c-format, possible-boost-format +msgid "%s warning" +msgstr "คำเตือน %s" + +#, possible-c-format, possible-boost-format +msgid "%s has a warning" +msgstr "%s มีคำเตือน" + +#, possible-c-format, possible-boost-format +msgid "%s info" +msgstr "ข้อมูล %s" + +#, possible-c-format, possible-boost-format +msgid "%s information" +msgstr "ข้อมูล %s" + +msgid "Skip" +msgstr "ข้าม" + +msgid "Newer 3MF version" +msgstr "เวอร์ชัน 3MF ที่ใหม่กว่า" + +msgid "" +"The 3MF file version is in Beta and it is newer than the current OrcaSlicer " +"version." +msgstr "เวอร์ชันไฟล์ 3MF อยู่ในรุ่นเบต้าและใหม่กว่าเวอร์ชัน OrcaSlicer ปัจจุบัน" + +msgid "If you would like to try Orca Slicer Beta, you may click to" +msgstr "หากคุณต้องการลองใช้ Orca Slicer Beta คุณสามารถคลิกไปที่" + +msgid "Download Beta Version" +msgstr "ดาวน์โหลดเวอร์ชันเบต้า" + +msgid "The 3MF file version is newer than the current OrcaSlicer version." +msgstr "เวอร์ชันไฟล์ 3MF ใหม่กว่าเวอร์ชัน OrcaSlicer ปัจจุบัน" + +msgid "" +"Updating your OrcaSlicer could enable all functionality in the 3MF file." +msgstr "การอัปเดต OrcaSlicer ของคุณสามารถเปิดใช้งานฟังก์ชันทั้งหมดในไฟล์ 3MF" + +msgid "Current Version: " +msgstr "เวอร์ชันปัจจุบัน: " + +msgid "Latest Version: " +msgstr "เวอร์ชันล่าสุด: " +msgctxt "Software" + +msgid "Update" +msgstr "อัปเดต" + +msgid "Not for now" +msgstr "ยังไม่ใช่ตอนนี้" + +msgid "Server Exception" +msgstr "ข้อยกเว้นของเซิร์ฟเวอร์" + +msgid "" +"The server is unable to respond. Please click the link below to check the " +"server status." +msgstr "เซิร์ฟเวอร์ไม่สามารถตอบสนองได้ กรุณาคลิกลิงค์ด้านล่างเพื่อตรวจสอบสถานะเซิร์ฟเวอร์" + +msgid "" +"If the server is in a fault state, you can temporarily use offline printing " +"or local network printing." +msgstr "หากเซิร์ฟเวอร์อยู่ในสถานะผิดปกติ คุณสามารถใช้การพิมพ์ออฟไลน์หรือการพิมพ์ผ่านเครือข่ายท้องถิ่นได้ชั่วคราว" + +msgid "How to use LAN only mode" +msgstr "วิธีใช้โหมด LAN เท่านั้น" + +msgid "Don't show this dialog again" +msgstr "อย่าแสดงกล่องโต้ตอบนี้อีก" + +msgid "3D Mouse disconnected." +msgstr "เมาส์ 3D ถูกตัดการเชื่อมต่อ" + +msgid "Configuration can update now." +msgstr "การกำหนดค่าสามารถอัปเดตได้ทันที" + +msgid "Detail." +msgstr "รายละเอียด" + +msgid "Integration was successful." +msgstr "บูรณาการสำเร็จ" + +msgid "Integration failed." +msgstr "บูรณาการล้มเหลว" + +msgid "Undo integration was successful." +msgstr "เลิกทำการบูรณาการสำเร็จ" + +msgid "New network plug-in available." +msgstr "มีปลั๊กอินเครือข่ายใหม่ให้ใช้งาน" + +msgid "Details" +msgstr "รายละเอียด" + +msgid "New printer config available." +msgstr "มีการกำหนดค่าเครื่องพิมพ์ใหม่ให้ใช้งาน" + +msgid "Undo integration failed." +msgstr "เลิกทำการผสานรวมล้มเหลว" + +msgid "Exporting." +msgstr "กำลังส่งออก" + +msgid "Software has New version." +msgstr "ซอฟต์แวร์มีเวอร์ชันใหม่" + +msgid "Goto download page." +msgstr "ไปที่หน้าดาวน์โหลด" + +msgid "Open Folder." +msgstr "เปิดโฟลเดอร์" + +msgid "Safely remove hardware." +msgstr "ถอดฮาร์ดแวร์อย่างปลอดภัย" + +#, possible-c-format, possible-boost-format +msgid "%1$d Object has custom supports." +msgid_plural "%1$d Objects have custom supports." +msgstr[0] "วัตถุ %1$d ชิ้นมีส่วนรองรับแบบกำหนดเอง" + +#, possible-c-format, possible-boost-format +msgid "%1$d Object has color painting." +msgid_plural "%1$d Objects have color painting." +msgstr[0] "วัตถุ %1$d ชิ้นมีการระบายสี" + +#, possible-c-format, possible-boost-format +msgid "%1$d object was loaded as a part of cut object." +msgid_plural "%1$d objects were loaded as parts of cut object." +msgstr[0] "วัตถุ %1$d ชิ้นถูกโหลดมาเป็นส่วนหนึ่งของวัตถุที่ถูกตัด" + +#, possible-c-format, possible-boost-format +msgid "%1$d object was loaded with fuzzy skin painting." +msgid_plural "%1$d objects were loaded with fuzzy skin painting." +msgstr[0] "วัตถุ %1$d ชิ้นถูกโหลดมาพร้อมกับการระบายสีผิวฟัซซี" + +msgid "ERROR" +msgstr "ข้อผิดพลาด" + +msgid "COMPLETED" +msgstr "เสร็จสมบูรณ์" + +msgid "CANCELED" +msgstr "ยกเลิกแล้ว" + +msgid "Cancel upload" +msgstr "ยกเลิกการอัปโหลด" + +msgid "Jump to" +msgstr "ข้ามไปที่" + +msgid "Error:" +msgstr "ข้อผิดพลาด:" + +msgid "Warning:" +msgstr "คำเตือน:" + +msgid "Exported successfully" +msgstr "ส่งออกสำเร็จ" + +msgid "Model file downloaded." +msgstr "ดาวน์โหลดไฟล์โมเดลแล้ว" + +msgid "Shared profiles may be available for this printer." +msgstr "โปรไฟล์ที่ใช้ร่วมกันอาจพร้อมใช้งานสำหรับเครื่องพิมพ์นี้" + +msgid "Browse shared profiles" +msgstr "เรียกดูโปรไฟล์ที่แชร์" + +msgid "Serious warning:" +msgstr "คำเตือนร้ายแรง:" + +msgid " (Repair)" +msgstr "(ซ่อมแซม)" + +msgid " Click here to install it." +msgstr "คลิกที่นี่เพื่อติดตั้ง" + +msgid "WARNING:" +msgstr "คำเตือน:" + +msgid "Your model needs support! Please enable support material." +msgstr "โมเดลของคุณต้องการส่วนรองรับ! กรุณาเปิดใช้งานสื่อส่วนรองรับ" + +msgid "G-code path overlap" +msgstr "เส้นทาง G-code ทับซ้อนกัน" + +msgid "Support painting" +msgstr "ระบายส่วนรองรับ" + +msgid "Color painting" +msgstr "จิตรกรรมสี" + +msgid "Cut connectors" +msgstr "ตัดขั้วต่อ" + +msgid "Layers" +msgstr "เลเยอร์" + +msgid "" +"The application cannot run normally because OpenGL version is lower than " +"3.2.\n" +msgstr "แอปพลิเคชันไม่สามารถทำงานได้ตามปกติเนื่องจากเวอร์ชัน OpenGL ต่ำกว่า 3.2\n" + +msgid "Please upgrade your graphics card driver." +msgstr "กรุณาอัพเกรดไดรเวอร์การ์ดแสดงผลของคุณ" + +msgid "Unsupported OpenGL version" +msgstr "เวอร์ชัน OpenGL ที่ไม่รองรับ" + +#, possible-c-format, possible-boost-format +msgid "" +"Unable to load shaders:\n" +"%s" +msgstr "ไม่สามารถโหลดเชเดอร์ได้:\n%s" + +msgid "Error loading shaders" +msgstr "เกิดข้อผิดพลาดในการโหลดเชเดอร์" +msgctxt "Layers" + +msgid "Top" +msgstr "บน" +msgctxt "Layers" + +msgid "Bottom" +msgstr "ล่าง" + +msgid "Enable detection of build plate position" +msgstr "เปิดใช้งานการตรวจจับตำแหน่งฐานรองแท่นพิมพ์" + +msgid "" +"The localization tag of build plate is detected, and printing is paused if " +"the tag is not in predefined range." +msgstr "ตรวจพบแท็กการแปลของเพลตการพิมพ์ และการพิมพ์จะหยุดชั่วคราวหากแท็กไม่อยู่ในช่วงที่กำหนดไว้ล่วงหน้า" + +msgid "Build Plate Detection" +msgstr "ตรวจจับฐานพิมพ์" + +msgid "" +"Identifies the type and position of the build plate on the heatbed. Pausing " +"printing if a mismatch is detected." +msgstr "ระบุประเภทและตำแหน่งของแผ่นฐานรองพิมพ์บนฐานพิมพ์ทำความร้อน หยุดการพิมพ์ชั่วคราวหากตรวจพบความไม่ตรงกัน" + +msgid "AI Detections" +msgstr "การตรวจจับเอไอ" + +msgid "" +"Printer will send assistant message or pause printing if any of the " +"following problem is detected." +msgstr "เครื่องพิมพ์จะส่งข้อความผู้ช่วยหรือหยุดการพิมพ์ชั่วคราว หากตรวจพบปัญหาใดๆ ต่อไปนี้" + +msgid "Enable AI monitoring of printing" +msgstr "เปิดใช้งานการตรวจสอบการพิมพ์โดย AI" + +msgid "Pausing Sensitivity:" +msgstr "การหยุดความไว:" + +msgid "Spaghetti Detection" +msgstr "การตรวจจับสปาเก็ตตี้" + +msgid "Detect spaghetti failures (scattered lose filament)." +msgstr "ตรวจจับความล้มเหลวของสปาเก็ตตี้ (เส้นพลาสติกสูญเสียกระจัดกระจาย)" + +msgid "Purge Chute Pile-Up Detection" +msgstr "การตรวจจับกองซ้อนรางล้าง" + +msgid "Monitor if the waste is piled up in the purge chute." +msgstr "ตรวจสอบว่าของเสียสะสมอยู่ในรางชำระล้างหรือไม่" + +msgid "Nozzle Clumping Detection" +msgstr "การตรวจจับการเกาะตัวของหัวฉีด" + +msgid "Check if the nozzle is clumping by filaments or other foreign objects." +msgstr "ตรวจสอบว่าหัวฉีดจับกันเป็นก้อนด้วยเส้นพลาสติกหรือวัตถุแปลกปลอมอื่นๆ หรือไม่" + +msgid "Detects air printing caused by nozzle clogging or filament grinding." +msgstr "ตรวจจับการพิมพ์ทางอากาศที่เกิดจากการอุดตันของหัวฉีดหรือการบดเส้นพลาสติก" + +msgid "First Layer Inspection" +msgstr "การตรวจสอบชั้นแรก" + +msgid "Auto-recovery from step loss" +msgstr "กู้คืนอัตโนมัติจากการสูญเสียขั้นตอน" + +msgid "Store Sent Files on External Storage" +msgstr "จัดเก็บไฟล์ที่ส่งไปยังที่จัดเก็บข้อมูลภายนอก" + +msgid "" +"Save the printing files initiated from Bambu Studio, Bambu Handy and " +"MakerWorld on External Storage" +msgstr "บันทึกไฟล์การพิมพ์ที่เริ่มต้นจาก Bambu Studio, Bambu Handy และ MakerWorld บนที่จัดเก็บข้อมูลภายนอก" + +msgid "Allow Prompt Sound" +msgstr "อนุญาตเสียงพร้อมท์" + +msgid "Filament Tangle Detect" +msgstr "การตรวจจับเส้นพลาสติกพันกัน" + +msgid "Check if the nozzle is clumping by filament or other foreign objects." +msgstr "ตรวจสอบว่าหัวฉีดจับกันเป็นก้อนด้วยเส้นพลาสติกหรือวัตถุแปลกปลอมอื่นๆ หรือไม่" + +msgid "Open Door Detection" +msgstr "การตรวจจับเปิดประตู" + +msgid "Notification" +msgstr "การแจ้งเตือน" + +msgid "Pause printing" +msgstr "หยุดพิมพ์ชั่วคราว" +msgctxt "Nozzle Type" + +msgid "Type" +msgstr "ชนิด" +msgctxt "Nozzle Diameter" + +msgid "Diameter" +msgstr "เส้นผ่านศูนย์กลาง" +msgctxt "Nozzle Flow" + +msgid "Flow" +msgstr "อัตราการไหล" + +msgid "Please change the nozzle settings on the printer." +msgstr "กรุณาเปลี่ยนการตั้งค่าหัวฉีดบนเครื่องพิมพ์" + +msgid "Hardened Steel" +msgstr "เหล็กชุบแข็ง" + +msgid "Stainless Steel" +msgstr "สแตนเลส" + +msgid "Tungsten Carbide" +msgstr "ทังสเตนคาร์ไบด์" + +msgid "Brass" +msgstr "ทองเหลือง" + +msgid "High flow" +msgstr "อัตราไหลสูง" + +msgid "No wiki link available for this printer." +msgstr "ไม่มีลิงก์ wiki สำหรับเครื่องพิมพ์นี้" + +msgid "Refreshing" +msgstr "สดชื่น" + +msgid "Unavailable while heating maintenance function is on." +msgstr "ไม่สามารถใช้งานได้ในขณะที่เปิดฟังก์ชันบำรุงรักษาเครื่องทำความร้อน" + +msgid "Idle Heating Protection" +msgstr "การป้องกันความร้อนที่ไม่ได้ใช้งาน" + +msgid "Stops heating automatically after 5 mins of idle to ensure safety." +msgstr "หยุดทำความร้อนโดยอัตโนมัติหลังจากไม่ได้ใช้งานเป็นเวลา 5 นาทีเพื่อความปลอดภัย" + +msgid "Global" +msgstr "ทั่วโลก" + +msgid "Objects" +msgstr "วัตถุ" + +msgid "Cycle settings visibility" +msgstr "การมองเห็นการตั้งค่าวงจร" + +msgid "Compare presets" +msgstr "เปรียบเทียบค่าที่ตั้งล่วงหน้า" + +msgid "View all object's settings" +msgstr "ดูการตั้งค่าของวัตถุทั้งหมด" + +msgid "Material settings" +msgstr "การตั้งค่าวัสดุ" + +msgid "Remove current plate (if not last one)" +msgstr "ลบแผ่นปัจจุบัน (ถ้าไม่ใช่แผ่นสุดท้าย)" + +msgid "Auto orient objects on current plate" +msgstr "ปรับทิศทางวัตถุอัตโนมัติบนแผ่นปัจจุบัน" + +msgid "Arrange objects on current plate" +msgstr "จัดเรียงวัตถุบนจานปัจจุบัน" + +msgid "Unlock current plate" +msgstr "ปลดล็อคจานปัจจุบัน" + +msgid "Lock current plate" +msgstr "ล็อคแผ่นปัจจุบัน" + +msgid "Filament grouping" +msgstr "การจัดกลุ่มเส้นพลาสติก" + +msgid "Edit current plate name" +msgstr "แก้ไขชื่อป้ายทะเบียนปัจจุบัน" + +msgid "Move plate to the front" +msgstr "ย้ายจานไปด้านหน้า" + +msgid "Customize current plate" +msgstr "ปรับแต่งแผ่นปัจจุบัน" + +#, possible-c-format, possible-boost-format +msgid "The %s nozzle can not print %s." +msgstr "หัวฉีด %s ไม่สามารถพิมพ์ %s ได้" + +#, possible-boost-format +msgid "Mixing %1% with %2% in printing is not recommended.\n" +msgstr "ไม่แนะนำให้ผสม %1% กับ %2% ในการพิมพ์\n" + +msgid " nozzle" +msgstr "หัวฉีด" + +#, possible-boost-format +msgid "" +"It is not recommended to print the following filament(s) with %1%: %2%\n" +msgstr "ไม่แนะนำให้พิมพ์เส้นพลาสติกต่อไปนี้ด้วย %1%: %2%\n" + +msgid "" +"It is not recommended to use the following nozzle and filament " +"combinations:\n" +msgstr "ไม่แนะนำให้ใช้หัวฉีดและเส้นพลาสติกผสมกันดังต่อไปนี้:\n" + +#, possible-boost-format +msgid "%1% with %2%\n" +msgstr "%1% กับ %2%\n" + +#, possible-boost-format +msgid " plate %1%:" +msgstr "จาน %1%:" + +msgid "Invalid name, the following characters are not allowed:" +msgstr "ชื่อไม่ถูกต้อง ไม่อนุญาตให้ใช้อักขระต่อไปนี้:" + +msgid "Sliced Info" +msgstr "ข้อมูลหั่นบาง ๆ" + +msgid "Used Filament (m)" +msgstr "เส้นพลาสติกใช้แล้ว (ม.)" + +msgid "Used Filament (mm³)" +msgstr "เส้นพลาสติกที่ใช้แล้ว (มม.)" + +msgid "Used Filament (g)" +msgstr "เส้นพลาสติกใช้แล้ว (กรัม)" + +msgid "Used Materials" +msgstr "วัสดุที่ใช้แล้ว" + +msgid "Estimated time" +msgstr "เวลาโดยประมาณ" + +msgid "Filament changes" +msgstr "การเปลี่ยนเส้นพลาสติก" + +msgid "Set the number of AMS installed on the nozzle." +msgstr "กำหนดจำนวน AMS ที่ติดตั้งบนหัวฉีด" + +msgid "AMS(4 slots)" +msgstr "AMS(4 ช่อง)" + +msgid "AMS(1 slot)" +msgstr "AMS(1 ช่อง)" + +msgid "Not installed" +msgstr "ไม่ได้ติดตั้ง" + +msgid "" +"The software does not support using different diameter of nozzles for one " +"print. If the left and right nozzles are inconsistent, we can only proceed " +"with single-head printing. Please confirm which nozzle you would like to use " +"for this project." +msgstr "ซอฟต์แวร์ไม่รองรับการใช้หัวฉีดที่มีเส้นผ่านศูนย์กลางต่างกันในการพิมพ์ครั้งเดียว หากหัวฉีดด้านซ้ายและขวาไม่สอดคล้องกัน เราสามารถดำเนินการพิมพ์แบบหัวเดียวเท่านั้น โปรดยืนยันว่าคุณต้องการใช้หัวฉีดใดสำหรับโปรเจ็กต์นี้" + +msgid "Switch diameter" +msgstr "สลับเส้นผ่านศูนย์กลาง" + +msgid "Configuration incompatible" +msgstr "การกำหนดค่าเข้ากันไม่ได้" + +msgid "Sync printer information" +msgstr "ซิงค์ข้อมูลเครื่องพิมพ์" + +msgid "" +"The currently selected machine preset is inconsistent with the connected " +"printer type.\n" +"Are you sure to continue syncing?" +msgstr "ค่าที่ตั้งล่วงหน้าของเครื่องที่เลือกในปัจจุบันไม่สอดคล้องกับประเภทเครื่องพิมพ์ที่เชื่อมต่อ\nคุณแน่ใจหรือไม่ว่าจะดำเนินการซิงค์ต่อ?" + +msgid "" +"There are unset nozzle types. Please set the nozzle types of all extruders " +"before synchronizing." +msgstr "มีประเภทหัวฉีดที่ไม่ได้ตั้งค่า โปรดตั้งค่าประเภทหัวฉีดของชุดดันเส้นทั้งหมดก่อนทำการซิงโครไนซ์" + +msgid "Sync extruder infomation" +msgstr "ซิงค์ข้อมูลชุดดันเส้น" + +msgid "Connection" +msgstr "การเชื่อมต่อ" + +msgid "Synchronize nozzle information and the number of AMS" +msgstr "ประสานข้อมูลหัวฉีดและจำนวน AMS" + +msgid "Click to edit preset" +msgstr "คลิกเพื่อแก้ไขค่าที่ตั้งล่วงหน้า" + +msgid "Project Filaments" +msgstr "เส้นพลาสติกโครงการ" + +msgid "Flushing volumes" +msgstr "ปริมาตรไล่เส้น" + +msgid "Add one filament" +msgstr "เพิ่มหนึ่งเส้นพลาสติก" + +msgid "Remove last filament" +msgstr "ลบเส้นพลาสติกสุดท้าย" + +msgid "Synchronize filament list from AMS" +msgstr "ประสานรายการเส้นพลาสติกจาก AMS" + +msgid "Set filaments to use" +msgstr "ตั้งค่าเส้นพลาสติกที่จะใช้" + +msgid "Search plate, object and part." +msgstr "ค้นหาจาน วัตถุ และชิ้นส่วน" + +msgid "Pellets" +msgstr "เม็ด" + +#, possible-c-format, possible-boost-format +msgid "" +"After completing your operation, %s project will be closed and create a new " +"project." +msgstr "หลังจากเสร็จสิ้นการดำเนินการของคุณ โครงการ %s จะถูกปิดและสร้างโครงการใหม่" + +msgid "There are no compatible filaments, and sync is not performed." +msgstr "ไม่มีเส้นพลาสติกที่เข้ากันได้ และไม่ได้ทำการซิงค์" + +msgid "Sync filaments with AMS" +msgstr "ซิงค์เส้นพลาสติกกับ AMS" + +msgid "" +"There are some unknown or incompatible filaments mapped to generic preset.\n" +"Please update Orca Slicer or restart Orca Slicer to check if there is an " +"update to system presets." +msgstr "มีเส้นพลาสติกที่ไม่รู้จักหรือเข้ากันไม่ได้บางส่วนที่แมปกับค่าที่ตั้งล่วงหน้าทั่วไป\nโปรดอัปเดต Orca Slicer หรือรีสตาร์ท Orca Slicer เพื่อตรวจสอบว่ามีการอัปเดตการตั้งค่าล่วงหน้าของระบบหรือไม่" + +msgid "Only filament color information has been synchronized from printer." +msgstr "เฉพาะข้อมูลสีของเส้นพลาสติกเท่านั้นที่ได้รับการซิงโครไนซ์จากเครื่องพิมพ์" + +msgid "" +"Filament type and color information have been synchronized, but slot " +"information is not included." +msgstr "ข้อมูลประเภทเส้นพลาสติกและสีได้รับการซิงโครไนซ์แล้ว แต่ไม่รวมข้อมูลช่อง" + +#, possible-boost-format +msgid "Do you want to save changes to \"%1%\"?" +msgstr "คุณต้องการบันทึกการเปลี่ยนแปลงใน \"%1%\" หรือไม่?" + +#, possible-c-format, possible-boost-format +msgid "" +"Successfully unmounted. The device %s (%s) can now be safely removed from " +"the computer." +msgstr "ยกเลิกการต่อเชื่อมสำเร็จแล้ว ขณะนี้สามารถลบอุปกรณ์ %s (%s) ออกจากคอมพิวเตอร์ได้อย่างปลอดภัยแล้ว" + +#, possible-c-format, possible-boost-format +msgid "Ejecting of device %s (%s) has failed." +msgstr "การดีดอุปกรณ์ %s (%s) ล้มเหลว" + +msgid "Previous unsaved project detected, do you want to restore it?" +msgstr "ตรวจพบโปรเจ็กต์ที่ยังไม่ได้บันทึกก่อนหน้านี้ คุณต้องการกู้คืนหรือไม่" + +msgid "Restore" +msgstr "คืนค่า" + +msgid "" +"The current hot bed temperature is relatively high. The nozzle may be " +"clogged when printing this filament in a closed enclosure. Please open the " +"front door and/or remove the upper glass." +msgstr "อุณหภูมิฐานพิมพ์ร้อนในปัจจุบันค่อนข้างสูง หัวฉีดอาจอุดตันเมื่อพิมพ์เส้นพลาสติกนี้ในตู้ปิด กรุณาเปิดประตูหน้าและ/หรือถอดกระจกด้านบนออก" + +msgid "" +"The nozzle hardness required by the filament is higher than the default " +"nozzle hardness of the printer. Please replace the hardened nozzle or " +"filament, otherwise, the nozzle will be attrited or damaged." +msgstr "ความแข็งของหัวฉีดที่ต้องการสำหรับเส้นพลาสติกนั้นสูงกว่าความแข็งของหัวฉีดเริ่มต้นของเครื่องพิมพ์ โปรดเปลี่ยนหัวฉีดหรือเส้นพลาสติกที่แข็งแล้ว ไม่เช่นนั้นหัวฉีดจะเสียหายหรือเสียหาย" + +msgid "" +"Enabling traditional timelapse photography may cause surface imperfections. " +"It is recommended to change to smooth mode." +msgstr "การเปิดใช้งานการถ่ายภาพไทม์แลปส์แบบดั้งเดิมอาจทำให้เกิดความไม่สมบูรณ์ของพื้นผิวได้ ขอแนะนำให้เปลี่ยนเป็นโหมดราบรื่น" + +msgid "" +"Smooth mode for timelapse is enabled, but the prime tower is off, which may " +"cause print defects. Please enable the prime tower, re-slice and print again." +msgstr "เปิดใช้งานโหมด Smooth สำหรับไทม์แลปส์แล้ว แต่ไพรม์ทาวเวอร์ปิดอยู่ ซึ่งอาจทำให้เกิดข้อบกพร่องในการพิมพ์ โปรดเปิดใช้งานไพร์มทาวเวอร์ หั่นใหม่และพิมพ์อีกครั้ง" + +msgid "Expand sidebar" +msgstr "ขยายแถบด้านข้าง" + +msgid "Collapse sidebar" +msgstr "ยุบแถบด้านข้าง" + +msgid "Tab" +msgstr "แท็บ" + +#, possible-c-format, possible-boost-format +msgid "Loading file: %s" +msgstr "กำลังโหลดไฟล์: %s" + +msgid "Load 3MF" +msgstr "โหลด 3MF" + +msgid "BambuStudio Project" +msgstr "โครงการแบมบูสตูดิโอ" + +msgid "The 3MF is not supported by OrcaSlicer, loading geometry data only." +msgstr "OrcaSlicer ไม่รองรับ 3MF โดยจะโหลดข้อมูลเรขาคณิตเท่านั้น" + +msgid "" +"The 3MF file was generated by an old OrcaSlicer version, loading geometry " +"data only." +msgstr "ไฟล์ 3MF สร้างขึ้นโดย OrcaSlicer เวอร์ชันเก่า โดยโหลดข้อมูลเรขาคณิตเท่านั้น" + +msgid "" +"The 3MF file was generated by an older version, loading geometry data only." +msgstr "ไฟล์ 3MF ถูกสร้างขึ้นโดยเวอร์ชันเก่า โดยโหลดข้อมูลเรขาคณิตเท่านั้น" + +msgid "The 3MF file was generated by BambuStudio, loading geometry data only." +msgstr "ไฟล์ 3MF สร้างโดย BambuStudio โดยโหลดข้อมูลเรขาคณิตเท่านั้น" + +msgid "" +"This project was created with an OrcaSlicer 2.3.1-alpha and uses infill " +"rotation template settings that may not work properly with your current " +"infill pattern. This could result in weak support or print quality issues." +msgstr "โปรเจ็กต์นี้สร้างขึ้นด้วย OrcaSlicer 2.3.1-alpha และใช้การตั้งค่าเทมเพลตการหมุน ไส้ใน ที่อาจทำงานไม่ถูกต้องกับรูปแบบ ไส้ใน ปัจจุบันของคุณ ซึ่งอาจส่งผลให้ส่วนรองรับไม่ดีหรือปัญหาคุณภาพการพิมพ์" + +msgid "" +"Would you like OrcaSlicer to automatically fix this by clearing the rotation " +"template settings?" +msgstr "คุณต้องการให้ OrcaSlicer แก้ไขปัญหานี้โดยอัตโนมัติโดยการล้างการตั้งค่าเทมเพลตการหมุนหรือไม่" + +#, possible-c-format, possible-boost-format +msgid "" +"The 3MF file version %s is newer than %s's version %s, found the following " +"unrecognized keys:" +msgstr "ไฟล์ 3MF เวอร์ชัน %s ใหม่กว่าเวอร์ชัน %s ของ %s พบคีย์ที่ไม่รู้จักต่อไปนี้:" + +msgid "You'd better upgrade your software.\n" +msgstr "คุณควรอัพเกรดซอฟต์แวร์ของคุณดีกว่า\n" + +#, possible-c-format, possible-boost-format +msgid "" +"The 3MF file version %s is newer than %s's version %s, we suggest to upgrade " +"your software." +msgstr "ไฟล์ 3MF เวอร์ชัน %s ใหม่กว่าเวอร์ชัน %s ของ %s เราขอแนะนำให้อัปเกรดซอฟต์แวร์ของคุณ" + +#, possible-c-format, possible-boost-format +msgid "" +"The 3MF was created by BambuStudio (version %s), which is newer than the " +"compatible version %s. Found unrecognized settings:" +msgstr "3MF ถูกสร้างขึ้นโดย BambuStudio (เวอร์ชัน %s) ซึ่งใหม่กว่าเวอร์ชัน %s ที่เข้ากันได้ พบการตั้งค่าที่ไม่รู้จัก:" + +#, possible-c-format, possible-boost-format +msgid "" +"The 3MF was created by BambuStudio (version %s), which is newer than the " +"compatible version %s. Some settings may not be fully compatible." +msgstr "3MF ถูกสร้างขึ้นโดย BambuStudio (เวอร์ชัน %s) ซึ่งใหม่กว่าเวอร์ชัน %s ที่เข้ากันได้ การตั้งค่าบางอย่างอาจเข้ากันไม่ได้อย่างสมบูรณ์" + +msgid "" +"The 3MF was created by BambuStudio. Some settings may differ from OrcaSlicer." +msgstr "3MF ถูกสร้างขึ้นโดย BambuStudio การตั้งค่าบางอย่างอาจแตกต่างจาก OrcaSlicer" + +msgid "Invalid values found in the 3MF:" +msgstr "พบค่าที่ไม่ถูกต้องใน 3MF:" + +msgid "Please correct them in the param tabs" +msgstr "โปรดแก้ไขให้ถูกต้องในแท็บพารามิเตอร์" + +msgid "" +"The 3MF has the following modified G-code in filament or printer presets:" +msgstr "3MF มี G-code ที่แก้ไขแล้วต่อไปนี้ในฟิลาเมนต์หรือพรีเซ็ตเครื่องพิมพ์:" + +msgid "" +"Please confirm that all modified G-code is safe to prevent any damage to the " +"machine!" +msgstr "โปรดยืนยันว่า G-code ที่แก้ไขทั้งหมดนั้นปลอดภัยเพื่อป้องกันความเสียหายต่อเครื่อง!" + +msgid "Modified G-code" +msgstr "แก้ไขรหัส G" + +msgid "The 3MF has the following customized filament or printer presets:" +msgstr "3MF มีเส้นพลาสติกที่กำหนดเองหรือการตั้งค่าเครื่องพิมพ์ไว้ล่วงหน้าดังต่อไปนี้:" + +msgid "" +"Please confirm that the G-code within these presets is safe to prevent any " +"damage to the machine!" +msgstr "โปรดยืนยันว่ารหัส G ภายในค่าที่ตั้งล่วงหน้าเหล่านี้ปลอดภัยเพื่อป้องกันความเสียหายต่อเครื่อง!" + +msgid "Customized Preset" +msgstr "ค่าที่ตั้งไว้ล่วงหน้าที่กำหนดเอง" + +msgid "Name of components inside STEP file is not UTF8 format!" +msgstr "ชื่อของส่วนประกอบภายในไฟล์ STEP ไม่ใช่รูปแบบ UTF8!" + +msgid "The name may show garbage characters!" +msgstr "ชื่ออาจแสดงตัวอักษรขยะ!" + +msgid "Remember my choice." +msgstr "จดจำตัวเลือกของฉัน" + +#, possible-boost-format +msgid "Failed loading file \"%1%\". An invalid configuration was found." +msgstr "การโหลดไฟล์ \"%1%\" ล้มเหลว พบการกำหนดค่าที่ไม่ถูกต้อง" + +msgid "Objects with zero volume removed" +msgstr "วัตถุที่มีปริมาตรเป็นศูนย์ถูกลบออก" + +msgid "The volume of the object is zero" +msgstr "ปริมาตรของวัตถุเป็นศูนย์" + +#, possible-c-format, possible-boost-format +msgid "" +"The object from file %s is too small, and maybe in meters or inches.\n" +" Do you want to scale to millimeters?" +msgstr "วัตถุจากไฟล์ %s มีขนาดเล็กเกินไป และอาจมีหน่วยเป็นเมตรหรือนิ้ว\n คุณต้องการขยายขนาดเป็นมิลลิเมตรหรือไม่?" + +msgid "Object too small" +msgstr "วัตถุมีขนาดเล็กเกินไป" + +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 "ไฟล์นี้ประกอบด้วยวัตถุหลายชิ้นที่อยู่ในตำแหน่งที่มีความสูงหลายระดับ\nแทนที่จะพิจารณาว่าเป็นวัตถุหลายชิ้นควร \nโหลดไฟล์เป็นวัตถุเดียวที่มีหลายส่วน?" + +msgid "Multi-part object detected" +msgstr "ตรวจพบวัตถุที่มีหลายส่วน" + +msgid "Load these files as a single object with multiple parts?\n" +msgstr "โหลดไฟล์เหล่านี้เป็นออบเจ็กต์เดียวที่มีหลายส่วนใช่ไหม\n" + +msgid "Object with multiple parts was detected" +msgstr "ตรวจพบวัตถุที่มีหลายส่วน" + +msgid "Auto-Drop" +msgstr "วางอัตโนมัติ" + +#, possible-c-format, possible-boost-format +msgid "" +"Connected printer is %s. It must match the project preset for printing.\n" +msgstr "เครื่องพิมพ์ที่เชื่อมต่อคือ %s โดยจะต้องตรงกับค่าที่ตั้งล่วงหน้าของโปรเจ็กต์สำหรับการพิมพ์\n" + +msgid "" +"Do you want to sync the printer information and automatically switch the " +"preset?" +msgstr "คุณต้องการซิงค์ข้อมูลเครื่องพิมพ์และสลับการตั้งค่าล่วงหน้าโดยอัตโนมัติหรือไม่" + +msgid "Tips" +msgstr "เคล็ดลับ" + +msgid "The file does not contain any geometry data." +msgstr "ไฟล์นี้ไม่มีข้อมูลเรขาคณิตใดๆ" + +msgid "" +"Your object appears to be too large, do you want to scale it down to fit the " +"print bed automatically?" +msgstr "วัตถุของคุณดูใหญ่เกินไป คุณต้องการย่อขนาดให้พอดีกับฐานพิมพ์โดยอัตโนมัติหรือไม่" + +msgid "Object too large" +msgstr "วัตถุมีขนาดใหญ่เกินไป" + +msgid "Export STL file:" +msgstr "ส่งออกไฟล์ STL:" + +msgid "Export Draco file:" +msgstr "ส่งออกไฟล์ Draco:" + +msgid "Export AMF file:" +msgstr "ส่งออกไฟล์ AMF:" + +msgid "Save file as:" +msgstr "บันทึกไฟล์เป็น:" + +msgid "Export OBJ file:" +msgstr "ส่งออกไฟล์ OBJ:" + +#, possible-c-format, possible-boost-format +msgid "" +"The file %s already exists\n" +"Do you want to replace it?" +msgstr "มีไฟล์ %s อยู่แล้ว\nคุณต้องการเปลี่ยนมันหรือไม่?" + +msgid "Confirm Save As" +msgstr "ยืนยันบันทึกเป็น" + +msgid "Delete object which is a part of cut object" +msgstr "ลบวัตถุซึ่งเป็นส่วนหนึ่งของวัตถุที่ตัด" + +msgid "" +"You try to delete an object which is a part of a cut object.\n" +"This action will break a cut correspondence.\n" +"After that model consistency can't be guaranteed." +msgstr "คุณพยายามลบวัตถุซึ่งเป็นส่วนหนึ่งของวัตถุที่ตัดออก\nการกระทำนี้จะตัดการติดต่อทางจดหมาย\nหลังจากนั้นจึงไม่สามารถรับประกันความสอดคล้องของโมเดลได้" + +msgid "The selected object couldn't be split." +msgstr "ไม่สามารถแยกวัตถุที่เลือกได้" + +msgid "Disable Auto-Drop to preserve z positioning?\n" +msgstr "ปิดการใช้งานการวางอัตโนมัติเพื่อรักษาตำแหน่ง z หรือไม่\n" + +msgid "Object with floating parts was detected" +msgstr "ตรวจพบวัตถุที่มีชิ้นส่วนลอยอยู่" + +msgid "Another export job is running." +msgstr "งานส่งออกอื่นกำลังทำงานอยู่" + +msgid "Unable to replace with more than one volume" +msgstr "ไม่สามารถแทนที่ด้วยวอลุ่มมากกว่าหนึ่งวอลุ่ม" + +msgid "Error during replace" +msgstr "เกิดข้อผิดพลาดระหว่างการเปลี่ยน" + +msgid "Replace from:" +msgstr "แทนที่จาก:" + +msgid "Select a new file" +msgstr "เลือกไฟล์ใหม่" + +msgid "File for the replace wasn't selected" +msgstr "ไม่ได้เลือกไฟล์สำหรับการแทนที่" + +msgid "Select folder to replace from" +msgstr "เลือกโฟลเดอร์ที่จะแทนที่" + +msgid "Directory for the replace wasn't selected" +msgstr "ไม่ได้เลือกไดเรกทอรีสำหรับการแทนที่" + +msgid "Replaced with 3D files from directory:\n" +msgstr "แทนที่ด้วยไฟล์ 3D จากไดเรกทอรี:\n" + +#, possible-boost-format +msgid "✖ Skipped %1%: same file.\n" +msgstr "✖ ข้าม %1%: ไฟล์เดียวกัน\n" + +#, possible-boost-format +msgid "✖ Skipped %1%: file does not exist.\n" +msgstr "✖ ข้าม %1%: ไม่มีไฟล์อยู่\n" + +#, possible-boost-format +msgid "✖ Skipped %1%: failed to replace.\n" +msgstr "✖ ข้าม %1%: ไม่สามารถแทนที่ได้\n" + +#, possible-boost-format +msgid "✔ Replaced %1%.\n" +msgstr "✔แทนที่ %1%\n" + +msgid "Replaced volumes" +msgstr "ปริมาณที่ถูกแทนที่" + +msgid "Please select a file" +msgstr "โปรดเลือกไฟล์" + +msgid "Do you want to replace it" +msgstr "คุณต้องการเปลี่ยนมัน" + +msgid "Message" +msgstr "ข้อความ" + +msgid "Reload from:" +msgstr "โหลดซ้ำจาก:" + +msgid "Unable to reload:" +msgstr "ไม่สามารถโหลดซ้ำได้:" + +msgid "Error during reload" +msgstr "เกิดข้อผิดพลาดระหว่างการโหลดซ้ำ" + +msgid "There are warnings after slicing models:" +msgstr "มีคำเตือนหลังจากการแบ่งโมเดล:" + +msgid "warnings" +msgstr "คำเตือน" + +msgid "Invalid data" +msgstr "ข้อมูลไม่ถูกต้อง" + +msgid "Slicing Canceled" +msgstr "ยกเลิกการสไลซ์แล้ว" + +#, possible-c-format, possible-boost-format +msgid "Slicing Plate %d" +msgstr "กำลังสไลซ์ฐานพิมพ์ %d" + +msgid "Please resolve the slicing errors and publish again." +msgstr "โปรดแก้ไขข้อผิดพลาดในการแบ่งส่วนและเผยแพร่อีกครั้ง" + +msgid "" +"The network plug-in was not detected. Network related features are " +"unavailable." +msgstr "ตรวจไม่พบปลั๊กอินเครือข่าย คุณสมบัติที่เกี่ยวข้องกับเครือข่ายไม่พร้อมใช้งาน" + +msgid "" +"Preview only mode:\n" +"The loaded file contains G-code only, cannot enter the Prepare page." +msgstr "โหมดดูตัวอย่างเท่านั้น:\nไฟล์ที่โหลดมีเฉพาะ G-code ไม่สามารถเข้าหน้าเตรียมความพร้อมได้" + +msgid "" +"The nozzle type and AMS quantity information has not been synced from the " +"connected printer.\n" +"After syncing, software can optimize printing time and filament usage when " +"slicing.\n" +"Would you like to sync now?" +msgstr "ข้อมูลประเภทหัวฉีดและข้อมูลปริมาณ AMS ไม่ได้ถูกซิงค์จากเครื่องพิมพ์ที่เชื่อมต่อ\nหลังจากการซิงค์ ซอฟต์แวร์จะสามารถปรับเวลาการพิมพ์และการใช้เส้นพลาสติกให้เหมาะสมเมื่อทำการตัด\nคุณต้องการซิงค์ตอนนี้หรือไม่?" + +msgid "Sync now" +msgstr "ซิงค์เลย" + +msgid "You can keep the modified presets to the new project or discard them" +msgstr "คุณสามารถเก็บค่าที่ตั้งไว้ล่วงหน้าที่แก้ไขแล้วไว้ในโปรเจ็กต์ใหม่หรือทิ้งก็ได้" + +msgid "Creating a new project" +msgstr "กำลังสร้างโปรเจกต์ใหม่" + +msgid "Load project" +msgstr "โหลดโปรเจกต์" + +msgid "" +"Failed to save the project.\n" +"Please check whether the folder exists online or if other programs open the " +"project file." +msgstr "ไม่สามารถบันทึกโครงการ\nโปรดตรวจสอบว่าโฟลเดอร์ออนไลน์อยู่หรือมีโปรแกรมอื่นเปิดไฟล์โครงการหรือไม่" + +msgid "Save project" +msgstr "บันทึกโครงการ" + +msgid "Importing Model" +msgstr "กำลังนำเข้าโมเดล" + +msgid "Preparing 3MF file..." +msgstr "กำลังเตรียมไฟล์ 3MF..." + +msgid "Download failed, unknown file format." +msgstr "การดาวน์โหลดล้มเหลว รูปแบบไฟล์ที่ไม่รู้จัก" + +msgid "Downloading project..." +msgstr "กำลังดาวน์โหลดโปรเจ็กต์..." + +msgid "Download failed, File size exception." +msgstr "ดาวน์โหลดล้มเหลว มีข้อยกเว้นขนาดไฟล์" + +#, possible-c-format, possible-boost-format +msgid "Project downloaded %d%%" +msgstr "ดาวน์โหลดโครงการแล้ว %d%%" + +msgid "" +"Importing to Orca Slicer failed. Please download the file and manually " +"import it." +msgstr "การนำเข้าไปยัง Orca Slicer ล้มเหลว โปรดดาวน์โหลดไฟล์และนำเข้าด้วยตนเอง" + +msgid "INFO:" +msgstr "ข้อมูล:" + +msgid "" +"No accelerations provided for calibration. Use default acceleration value " +msgstr "ไม่มีการเร่งความเร็วสำหรับการสอบเทียบ ใช้ค่าความเร่งเริ่มต้น" + +msgid "No speeds provided for calibration. Use default optimal speed " +msgstr "ไม่มีความเร็วสำหรับการสอบเทียบ ใช้ความเร็วที่เหมาะสมตามค่าเริ่มต้น" + +msgid "Import SLA archive" +msgstr "นำเข้าเอกสาร SLA" + +msgid "The selected file" +msgstr "ไฟล์ที่เลือก" + +msgid "does not contain valid G-code." +msgstr "ไม่มีรหัส G ที่ถูกต้อง" + +msgid "Error occurs while loading G-code file" +msgstr "เกิดข้อผิดพลาดขณะโหลดไฟล์ G-code" + +#. TRN %1% is archive path +#, possible-boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "การโหลดไฟล์ ZIP บนเส้นทาง %1% ล้มเหลว" + +#. TRN: First argument = path to file, second argument = error description +#, possible-boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "ไม่สามารถแตกไฟล์เป็น %1%: %2%" + +#, possible-boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "ล้มเหลวในการค้นหาไฟล์ที่คลายซิปที่ %1% การคลายซิปไฟล์ล้มเหลว" + +msgid "Drop project file" +msgstr "วางไฟล์โครงการ" + +msgid "Please select an action" +msgstr "โปรดเลือกการทำงาน" + +msgid "Open as project" +msgstr "เปิดเป็นโครงการ" + +msgid "Import geometry only" +msgstr "นำเข้ารูปทรงเรขาคณิตเท่านั้น" + +msgid "Only one G-code file can be opened at the same time." +msgstr "สามารถเปิดไฟล์ G-code ได้เพียงไฟล์เดียวเท่านั้น" + +msgid "G-code loading" +msgstr "กำลังโหลดรหัส G" + +msgid "G-code files cannot be loaded with models together!" +msgstr "ไม่สามารถโหลดไฟล์ G-code กับโมเดลด้วยกันได้!" + +msgid "Cannot add models when in preview mode!" +msgstr "ไม่สามารถเพิ่มโมเดลได้เมื่ออยู่ในโหมดแสดงตัวอย่าง!" + +msgid "All objects will be removed, continue?" +msgstr "วัตถุทั้งหมดจะถูกลบ ดำเนินการต่อหรือไม่" + +msgid "The current project has unsaved changes, save it before continue?" +msgstr "โปรเจ็กต์ปัจจุบันมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก บันทึกก่อนดำเนินการต่อหรือไม่" + +msgid "Number of copies:" +msgstr "จำนวนสำเนา:" + +msgid "Copies of the selected object" +msgstr "สำเนาของวัตถุที่เลือก" + +msgid "Save G-code file as:" +msgstr "บันทึกไฟล์ G-code เป็น:" + +msgid "Save SLA file as:" +msgstr "บันทึกไฟล์ SLA เป็น:" + +msgid "The provided file name is not valid." +msgstr "ชื่อไฟล์ที่ระบุไม่ถูกต้อง" + +msgid "The following characters are not allowed by a FAT file system:" +msgstr "ระบบไฟล์ FAT ไม่อนุญาตให้ใช้อักขระต่อไปนี้:" + +msgid "Save Sliced file as:" +msgstr "บันทึกไฟล์ที่หั่นเป็น:" + +#, possible-c-format, possible-boost-format +msgid "" +"The file %s has been sent to the printer's storage space and can be viewed " +"on the printer." +msgstr "ไฟล์ %s ถูกส่งไปยังพื้นที่เก็บข้อมูลของเครื่องพิมพ์แล้ว และสามารถดูได้บนเครื่องพิมพ์" + +msgid "The nozzle type is not set. Please set the nozzle and try again." +msgstr "ไม่ได้ตั้งค่าประเภทหัวฉีด โปรดตั้งหัวฉีดแล้วลองอีกครั้ง" + +msgid "The nozzle type is not set. Please check." +msgstr "ไม่ได้ตั้งค่าประเภทหัวฉีด กรุณาตรวจสอบ." + +msgid "" +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be kept. You may fix the meshes and try again." +msgstr "ไม่สามารถดำเนินการบูลีนบนโมเดลเมชได้ จะเก็บเฉพาะส่วนที่เป็นบวกเท่านั้น คุณอาจแก้ไขตาข่ายแล้วลองอีกครั้ง" + +#, possible-boost-format +msgid "Reason: part \"%1%\" is empty." +msgstr "เหตุผล: ส่วน \"%1%\" ว่างเปล่า" + +#, possible-boost-format +msgid "Reason: part \"%1%\" does not bound a volume." +msgstr "เหตุผล: ส่วน \"%1%\" ไม่ได้ผูกกับโวลุ่ม" + +#, possible-boost-format +msgid "Reason: part \"%1%\" has self intersection." +msgstr "เหตุผล: ส่วน \"%1%\" มีจุดตัดกันเอง" + +#, possible-boost-format +msgid "Reason: \"%1%\" and another part have no intersection." +msgstr "เหตุผล: \"%1%\" และอีกส่วนหนึ่งไม่มีจุดตัดกัน" + +msgid "" +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be exported." +msgstr "ไม่สามารถดำเนินการบูลีนบนโมเดลเมชได้ เฉพาะส่วนที่เป็นบวกเท่านั้นที่จะถูกส่งออก" + +msgid "Is the printer ready? Is the print sheet in place, empty and clean?" +msgstr "เครื่องพิมพ์พร้อมหรือยัง? แผ่นพิมพ์อยู่ในตำแหน่ง ว่างเปล่า และสะอาดหรือไม่" + +msgid "Upload and Print" +msgstr "อัปโหลดและพิมพ์" + +msgid "Abnormal print file data. Please slice again" +msgstr "ข้อมูลไฟล์การพิมพ์ผิดปกติ กรุณาหั่นอีกครั้ง" + +msgid "" +"Print By Object: \n" +"Suggest to use auto-arrange to avoid collisions when printing." +msgstr "พิมพ์ตามวัตถุ: \nแนะนำให้ใช้การจัดเรียงอัตโนมัติเพื่อหลีกเลี่ยงการชนกันเมื่อพิมพ์" + +msgid "Send G-code" +msgstr "ส่ง G-code" + +msgid "Send to printer" +msgstr "ส่งไปยังเครื่องพิมพ์" + +msgid "Custom supports and color painting were removed before repairing." +msgstr "ส่วนรองรับแบบกำหนดเองและการทาสีสีถูกลบออกก่อนการซ่อม" + +msgid "Optimize Rotation" +msgstr "เพิ่มประสิทธิภาพการหมุน" + +#, possible-c-format, possible-boost-format +msgid "" +"Printer not connected. Please go to the device page to connect %s before " +"syncing." +msgstr "ไม่ได้เชื่อมต่อเครื่องพิมพ์ โปรดไปที่หน้าอุปกรณ์เพื่อเชื่อมต่อ %s ก่อนที่จะทำการซิงค์" + +#, possible-c-format, possible-boost-format +msgid "" +"OrcaSlicer can't connect to %s. Please check if the printer is powered on " +"and connected to the network." +msgstr "OrcaSlicer ไม่สามารถเชื่อมต่อกับ %s ได้ โปรดตรวจสอบว่าเครื่องพิมพ์เปิดอยู่และเชื่อมต่อกับเครือข่ายหรือไม่" + +#, possible-c-format, possible-boost-format +msgid "" +"The currently connected printer on the device page is not %s. Please switch " +"to %s before syncing." +msgstr "เครื่องพิมพ์ที่เชื่อมต่ออยู่ในหน้าอุปกรณ์ไม่ใช่ %s โปรดสลับไปที่ %s ก่อนที่จะทำการซิงค์" + +msgid "" +"There are no filaments on the printer. Please load the filaments on the " +"printer first." +msgstr "ไม่มีเส้นพลาสติกบนเครื่องพิมพ์ กรุณาใส่ฟิลาเมนต์บนเครื่องพิมพ์ก่อน" + +msgid "" +"The filaments on the printer are all unknown types. Please go to the printer " +"screen or software device page to set the filament type." +msgstr "เส้นพลาสติกบนเครื่องพิมพ์ล้วนเป็นประเภทที่ไม่รู้จัก โปรดไปที่หน้าจอเครื่องพิมพ์หรือหน้าอุปกรณ์ซอฟต์แวร์เพื่อตั้งค่าประเภทเส้นพลาสติก" + +msgid "Device Page" +msgstr "หน้าอุปกรณ์" + +msgid "Synchronize AMS Filament Information" +msgstr "ประสานข้อมูล AMS เส้นพลาสติก" + +msgid "Plate Settings" +msgstr "การตั้งค่าฐานพิมพ์" + +#, possible-boost-format +msgid "Number of currently selected parts: %1%\n" +msgstr "จำนวนส่วนที่เลือกในปัจจุบัน: %1%\n" + +#, possible-boost-format +msgid "Number of currently selected objects: %1%\n" +msgstr "จำนวนวัตถุที่เลือกในปัจจุบัน: %1%\n" + +#, possible-boost-format +msgid "Part name: %1%\n" +msgstr "ชื่อชิ้นส่วน: %1%\n" + +#, possible-boost-format +msgid "Object name: %1%\n" +msgstr "ชื่อวัตถุ: %1%\n" + +#, possible-boost-format +msgid "Size: %1% x %2% x %3% in\n" +msgstr "ขนาด: %1% x %2% x %3% นิ้ว\n" + +#, possible-boost-format +msgid "Size: %1% x %2% x %3% mm\n" +msgstr "ขนาด: %1% x %2% x %3% มม\n" + +#, possible-boost-format +msgid "Volume: %1% in³\n" +msgstr "ปริมาตร: %1% ใน³\n" + +#, possible-boost-format +msgid "Volume: %1% mm³\n" +msgstr "ปริมาตร: %1% mm³\n" + +#, possible-boost-format +msgid "Triangles: %1%\n" +msgstr "สามเหลี่ยม: %1%\n" + +msgid "Use \"Fix Model\" to repair the mesh." +msgstr "ใช้ \"Fix Model\" เพื่อซ่อมแซมตาข่าย" + +#, possible-c-format, possible-boost-format +msgid "" +"Plate %d: %s is not suggested to be used to print filament %s (%s). If you " +"still want to do this print job, please set this filament's bed temperature " +"to non-zero." +msgstr "เพลต %d: ไม่แนะนำให้ใช้ %s ในการพิมพ์เส้นพลาสติก %s (%s) หากคุณยังต้องงานพิมพ์นี้ โปรดตั้งค่าอุณหภูมิฐานของเส้นพลาสติกให้ไม่เป็นศูนย์" + +msgid "" +"Currently, the object configuration form cannot be used with a multiple-" +"extruder printer." +msgstr "ในปัจจุบัน แบบฟอร์มการกำหนดค่าออบเจ็กต์ไม่สามารถใช้กับเครื่องพิมพ์ที่มีชุดดันเส้นหลายเครื่องได้" + +msgid "Not available" +msgstr "ไม่พร้อมใช้งาน" + +msgid "isometric" +msgstr "มีมิติเท่ากัน" + +msgid "top_front" +msgstr "top_front" + +msgid "top" +msgstr "สูงสุด" + +msgid "bottom" +msgstr "ด้านล่าง" + +msgid "front" +msgstr "ด้านหน้า" + +msgid "rear" +msgstr "หลัง" + +msgid "Switching the language requires application restart.\n" +msgstr "การเปลี่ยนภาษาจำเป็นต้องรีสตาร์ทแอปพลิเคชัน\n" + +msgid "Do you want to continue?" +msgstr "ต้องการดำเนินการต่อหรือไม่" + +msgid "Language selection" +msgstr "การเลือกภาษา" + +msgid "Switching application language while some presets are modified." +msgstr "การสลับภาษาของแอปพลิเคชันในขณะที่มีการแก้ไขค่าที่ตั้งไว้บางส่วน" + +msgid "Asia-Pacific" +msgstr "เอเชียแปซิฟิก" + +msgid "China" +msgstr "จีน" + +msgid "Europe" +msgstr "ยุโรป" + +msgid "North America" +msgstr "อเมริกาเหนือ" + +msgid "Others" +msgstr "อื่นๆ" + +msgid "Changing the region will log out your account.\n" +msgstr "การเปลี่ยนภูมิภาคจะออกจากระบบบัญชีของคุณ\n" + +msgid "Region selection" +msgstr "เลือกภูมิภาค" + +msgid "sec" +msgstr "วินาที" + +msgid "The period of backup in seconds." +msgstr "ระยะเวลาการสำรองข้อมูลเป็นวินาที" + +msgid "Bed Temperature Difference Warning" +msgstr "คำเตือนความแตกต่างของอุณหภูมิฐานพิมพ์" + +msgid "" +"Using filaments with significantly different temperatures may cause:\n" +"• Extruder clogging\n" +"• Nozzle damage\n" +"• Layer adhesion issues\n" +"\n" +"Continue with enabling this feature?" +msgstr "การใช้เส้นพลาสติกที่มีอุณหภูมิแตกต่างกันอย่างมากอาจทำให้:\n• การอุดตันของชุดดันเส้น\n• หัวฉีดเสียหาย\n• ปัญหาการยึดเกาะของชั้น\n\nเปิดใช้งานฟีเจอร์นี้ต่อไปหรือไม่" + +msgid "Browse" +msgstr "เรียกดู" + +msgid "Choose folder for downloaded items" +msgstr "เลือกโฟลเดอร์สำหรับรายการที่ดาวน์โหลด" + +msgid "Choose Download Directory" +msgstr "เลือกดาวน์โหลดไดเรกทอรี" + +msgid "Associate" +msgstr "เชื่อมโยง" + +msgid "with OrcaSlicer so that Orca can open models from" +msgstr "ด้วย OrcaSlicer เพื่อให้ Orca สามารถเปิดโมเดลได้" + +msgid "Current Association: " +msgstr "สมาคมปัจจุบัน:" + +msgid "Current Instance" +msgstr "อินสแตนซ์ปัจจุบัน" + +msgid "Current Instance Path: " +msgstr "เส้นทางอินสแตนซ์ปัจจุบัน:" + +msgid "General" +msgstr "ทั่วไป" + +msgid "Metric" +msgstr "เมตริก" + +msgid "Imperial" +msgstr "อิมพีเรียล" + +msgid "Units" +msgstr "หน่วย" + +msgid "Home" +msgstr "หน้าแรก" + +msgid "Default page" +msgstr "หน้าเริ่มต้น" + +msgid "Set the page opened on startup." +msgstr "ตั้งค่าเพจที่เปิดเมื่อเริ่มต้น" + +msgid "Enable dark mode" +msgstr "เปิดใช้งานโหมดมืด" + +msgid "Allow only one OrcaSlicer instance" +msgstr "อนุญาตอินสแตนซ์ OrcaSlicer เพียงอินสแตนซ์เดียวเท่านั้น" + +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 "บน OSX จะมีแอปเพียงอินสแตนซ์เดียวที่ทำงานตามค่าเริ่มต้นเสมอ อย่างไรก็ตาม อนุญาตให้เรียกใช้แอปเดียวกันหลายอินสแตนซ์จากบรรทัดคำสั่ง ในกรณีเช่นนี้ การตั้งค่านี้จะอนุญาตเพียงอินสแตนซ์เดียวเท่านั้น" + +msgid "" +"If this is enabled, when starting OrcaSlicer and another instance of the " +"same OrcaSlicer is already running, that instance will be reactivated " +"instead." +msgstr "หากเปิดใช้งานนี้ เมื่อเริ่มต้น OrcaSlicer และอินสแตนซ์อื่นของ OrcaSlicer เดียวกันกำลังทำงานอยู่แล้ว อินสแตนซ์นั้นจะถูกเปิดใช้งานอีกครั้งแทน" + +msgid "Show splash screen" +msgstr "แสดงหน้าจอเริ่มต้น" + +msgid "Show the splash screen during startup." +msgstr "แสดงหน้าจอเริ่มต้นระหว่างการเริ่มต้น" + +msgid "Show shared profiles notification" +msgstr "แสดงการแจ้งเตือนโปรไฟล์ที่แชร์" + +msgid "" +"Show a notification with a link to browse shared profiles when the selected " +"printer is changed." +msgstr "แสดงการแจ้งเตือนพร้อมลิงก์เพื่อเรียกดูโปรไฟล์ที่แชร์เมื่อเครื่องพิมพ์ที่เลือกมีการเปลี่ยนแปลง" + +msgid "Use window buttons on left side" +msgstr "ใช้ปุ่มหน้าต่างทางด้านซ้าย" + +msgid "(Requires restart)" +msgstr "(ต้องรีสตาร์ท)" + +msgid "Downloads folder" +msgstr "โฟลเดอร์ดาวน์โหลด" + +msgid "Target folder for downloaded items" +msgstr "โฟลเดอร์เป้าหมายสำหรับรายการที่ดาวน์โหลด" + +msgid "Load All" +msgstr "โหลดทั้งหมด" + +msgid "Ask When Relevant" +msgstr "ถามเมื่อเกี่ยวข้อง" + +msgid "Always Ask" +msgstr "ถามเสมอ" + +msgid "Load Geometry Only" +msgstr "โหลดรูปทรงเท่านั้น" + +msgid "Load behaviour" +msgstr "พฤติกรรมการโหลด" + +msgid "" +"Should printer/filament/process settings be loaded when opening a 3MF file?" +msgstr "ควรโหลดการตั้งค่าเครื่องพิมพ์/เส้นพลาสติก/กระบวนการเมื่อเปิดไฟล์ 3MF หรือไม่" + +msgid "Maximum recent files" +msgstr "ไฟล์ล่าสุดสูงสุด" + +msgid "Maximum count of recent files" +msgstr "จำนวนไฟล์ล่าสุดสูงสุด" + +msgid "Add STL/STEP files to recent files list" +msgstr "เพิ่มไฟล์ STL/STEP ไปยังรายการไฟล์ล่าสุด" + +msgid "Don't warn when loading 3MF with modified G-code" +msgstr "อย่าเตือนเมื่อโหลด 3MF ด้วย G-code ที่แก้ไขแล้ว" + +msgid "Show options when importing STEP file" +msgstr "แสดงตัวเลือกเมื่อนำเข้าไฟล์ STEP" + +msgid "" +"If enabled, a parameter settings dialog will appear during STEP file import." +msgstr "หากเปิดใช้งาน กล่องโต้ตอบการตั้งค่าพารามิเตอร์จะปรากฏขึ้นระหว่างการนำเข้าไฟล์ STEP" + +msgid "Auto backup" +msgstr "การสำรองข้อมูลอัตโนมัติ" + +msgid "" +"Backup your project periodically for restoring from the occasional crash." +msgstr "สำรองข้อมูลโปรเจ็กต์ของคุณเป็นระยะเพื่อกู้คืนจากข้อขัดข้องเป็นครั้งคราว" + +msgid "Preset" +msgstr "พรีเซ็ต" + +msgid "Remember printer configuration" +msgstr "จำการกำหนดค่าเครื่องพิมพ์" + +msgid "" +"If enabled, Orca will remember and switch filament/process configuration for " +"each printer automatically." +msgstr "หากเปิดใช้งาน Orca จะจดจำและสลับการกำหนดค่าเส้นพลาสติก/กระบวนการสำหรับเครื่องพิมพ์แต่ละเครื่องโดยอัตโนมัติ" + +msgid "Group user filament presets" +msgstr "การตั้งค่าเส้นพลาสติกผู้ใช้แบบกลุ่ม" + +msgid "Group user filament presets based on selection" +msgstr "ตั้งค่าเส้นพลาสติกผู้ใช้แบบกลุ่มตามการเลือก" + +msgid "All" +msgstr "ทั้งหมด" + +msgid "By type" +msgstr "ตามประเภท" + +msgid "By vendor" +msgstr "โดยผู้ขาย" + +msgid "Optimize filaments area height for..." +msgstr "ปรับความสูงของพื้นที่เส้นพลาสติกให้เหมาะสมสำหรับ..." + +msgid "filaments" +msgstr "เส้นพลาสติก" + +msgid "Optimizes filament area maximum height by chosen filament count." +msgstr "ปรับความสูงสูงสุดของพื้นที่เส้นพลาสติกให้เหมาะสมตามจำนวนเส้นพลาสติกที่เลือก" + +msgid "Features" +msgstr "คุณสมบัติ" + +msgid "Multi device management" +msgstr "การจัดการอุปกรณ์หลายเครื่อง" + +msgid "" +"With this option enabled, you can send a task to multiple devices at the " +"same time and manage multiple devices." +msgstr "เมื่อเปิดใช้งานตัวเลือกนี้ คุณสามารถส่งงานไปยังอุปกรณ์หลายเครื่องพร้อมกันและจัดการอุปกรณ์หลายเครื่องได้" + +msgid "Pop up to select filament grouping mode" +msgstr "ปรากฏขึ้นเพื่อเลือกโหมดการจัดกลุ่มเส้นพลาสติก" + +msgid "Quality level for Draco export" +msgstr "ระดับคุณภาพสำหรับการส่งออกของ Draco" + +msgid "bits" +msgstr "บิต" + +msgid "" +"Controls the quantization bit depth used when compressing the mesh to Draco " +"format.\n" +"0 = lossless compression (geometry is preserved at full precision). Valid " +"lossy values range from 8 to 30.\n" +"Lower values produce smaller files but lose more geometric detail; higher " +"values preserve more detail at the cost of larger files." +msgstr "ควบคุมความลึกบิตเชิงปริมาณที่ใช้ในการบีบอัด mesh เป็นรูปแบบ Draco\n0 = การบีบอัดแบบไม่สูญเสีย (รูปทรงเรขาคณิตจะถูกรักษาไว้อย่างแม่นยำเต็มที่) ค่าการสูญเสียที่ถูกต้องมีตั้งแต่ 8 ถึง 30\nค่าที่ต่ำกว่าจะทำให้ไฟล์มีขนาดเล็กลง แต่สูญเสียรายละเอียดทางเรขาคณิตมากขึ้น ค่าที่สูงกว่าจะรักษารายละเอียดได้มากขึ้นโดยที่ไฟล์มีขนาดใหญ่กว่า" + +msgid "Behaviour" +msgstr "พฤติกรรม" + +msgid "Auto flush after changing..." +msgstr "ไล่เส้นอัตโนมัติหลังเปลี่ยน..." + +msgid "Auto calculate flushing volumes when selected values changed" +msgstr "คำนวณปริมาณการไล่เส้นชิ่งอัตโนมัติเมื่อค่าที่เลือกมีการเปลี่ยนแปลง" + +msgid "Auto arrange plate after cloning" +msgstr "จัดเรียงจานอัตโนมัติหลังจากการโคลน" + +msgid "Auto slice after changes" +msgstr "แบ่งส่วนอัตโนมัติหลังจากการเปลี่ยนแปลง" + +msgid "" +"If enabled, OrcaSlicer will re-slice automatically whenever slicing-related " +"settings change." +msgstr "หากเปิดใช้งาน OrcaSlicer จะแบ่งส่วนใหม่โดยอัตโนมัติทุกครั้งที่การตั้งค่าที่เกี่ยวข้องกับการแบ่งมีการเปลี่ยนแปลง" + +msgid "" +"Delay in seconds before auto slicing starts, allowing multiple edits to be " +"grouped. Use 0 to slice immediately." +msgstr "หน่วงเวลาเป็นวินาทีก่อนที่การแบ่งส่วนอัตโนมัติจะเริ่มขึ้น ทำให้สามารถจัดกลุ่มการแก้ไขได้หลายรายการ ใช้ 0 เพื่อหั่นทันที" + +msgid "Remove mixed temperature restriction" +msgstr "ลบข้อจำกัดอุณหภูมิแบบผสม" + +msgid "" +"With this option enabled, you can print materials with a large temperature " +"difference together." +msgstr "เมื่อเปิดใช้งานตัวเลือกนี้ คุณสามารถพิมพ์วัสดุที่มีอุณหภูมิแตกต่างกันมากร่วมกันได้" + +msgid "Touchpad" +msgstr "ทัชแพด" + +msgid "Camera style" +msgstr "สไตล์กล้อง" + +msgid "" +"Select camera navigation style.\n" +"Default: LMB+move for rotation, RMB/MMB+move for panning.\n" +"Touchpad: Alt+move for rotation, Shift+move for panning." +msgstr "เลือกรูปแบบการนำทางด้วยกล้อง\nค่าเริ่มต้น: LMB+ย้ายเพื่อหมุน RMB/MMB+ย้ายเพื่อแพน\nทัชแพด: Alt+move เพื่อหมุน, Shift+move เพื่อแพนกล้อง" + +msgid "Orbit speed multiplier" +msgstr "ตัวคูณความเร็ววงโคจร" + +msgid "Multiplies the orbit speed for finer or coarser camera movement." +msgstr "คูณความเร็ววงโคจรเพื่อการเคลื่อนไหวของกล้องที่ละเอียดยิ่งขึ้นหรือหยาบยิ่งขึ้น" + +msgid "Zoom to mouse position" +msgstr "ซูมไปที่ตำแหน่งเมาส์" + +msgid "" +"Zoom in towards the mouse pointer's position in the 3D view, rather than the " +"2D window center." +msgstr "ซูมเข้าไปยังตำแหน่งของตัวชี้เมาส์ในมุมมอง 3 มิติ แทนที่จะซูมไปที่กึ่งกลางหน้าต่าง 2 มิติ" + +msgid "Use free camera" +msgstr "ใช้กล้องฟรี" + +msgid "If enabled, use free camera. If not enabled, use constrained camera." +msgstr "หากเปิดใช้งาน ให้ใช้กล้องฟรี หากไม่ได้เปิดใช้งาน ให้ใช้กล้องที่มีข้อจำกัด" + +msgid "Reverse mouse zoom" +msgstr "ย้อนกลับการซูมเมาส์" + +msgid "If enabled, reverses the direction of zoom with mouse wheel." +msgstr "หากเปิดใช้งาน จะกลับทิศทางการซูมด้วยล้อเลื่อนของเมาส์" + +msgid "Pan" +msgstr "แพน" + +msgid "Left Mouse Drag" +msgstr "ลากเมาส์ซ้าย" + +msgid "Set the action that dragging the left mouse button should perform." +msgstr "ตั้งค่าการดำเนินการที่ควรดำเนินการด้วยการลากปุ่มซ้ายของเมาส์" + +msgid "Middle Mouse Drag" +msgstr "ลากเมาส์กลาง" + +msgid "Set the action that dragging the middle mouse button should perform." +msgstr "ตั้งค่าการดำเนินการที่ควรดำเนินการด้วยการลากปุ่มกลางของเมาส์" + +msgid "Right Mouse Drag" +msgstr "ลากเมาส์ขวา" + +msgid "Set the action that dragging the right mouse button should perform." +msgstr "ตั้งค่าการดำเนินการที่ควรดำเนินการด้วยการลากปุ่มเมาส์ขวา" + +msgid "Clear my choice on..." +msgstr "ล้างตัวเลือกของฉันใน..." + +msgid "Unsaved projects" +msgstr "โปรเจ็กต์ที่ยังไม่ได้บันทึก" + +msgid "Clear my choice on the unsaved projects." +msgstr "ล้างตัวเลือกของฉันในโครงการที่ยังไม่ได้บันทึก" + +msgid "Unsaved presets" +msgstr "ค่าที่ตั้งล่วงหน้าที่ไม่ได้บันทึกไว้" + +msgid "Clear my choice on the unsaved presets." +msgstr "ล้างตัวเลือกของฉันในการตั้งค่าล่วงหน้าที่ยังไม่ได้บันทึก" + +msgid "Synchronizing printer preset" +msgstr "กำลังซิงโครไนซ์การตั้งค่าเครื่องพิมพ์ล่วงหน้า" + +msgid "" +"Clear my choice for synchronizing printer preset after loading the file." +msgstr "ล้างตัวเลือกของฉันในการซิงโครไนซ์พรีเซ็ตเครื่องพิมพ์หลังจากโหลดไฟล์" + +msgid "Graphics" +msgstr "กราฟิก" + +msgid "Anti-aliasing" +msgstr "ต่อต้านนามแฝง" + +msgid "MSAA Multiplier" +msgstr "ตัวคูณ MSAA" + +msgid "" +"Set the Multi-Sample Anti-Aliasing level.\n" +"Higher values result in smoother edges, but the impact on performance is " +"exponential.\n" +"Lower values improve performance, at the cost of jagged edges.\n" +"If disabled, its recommended to enable FXAA to reduce jagged edges with " +"minimal performance impact.\n" +"\n" +"Requires application restart." +msgstr "ตั้งค่าระดับ Anti-Aliasing แบบหลายตัวอย่าง\nค่าที่สูงกว่าส่งผลให้ขอบเรียบขึ้น แต่ผลกระทบต่อประสิทธิภาพนั้นมีแบบทวีคูณ\nค่าที่ต่ำกว่าจะช่วยปรับปรุงประสิทธิภาพ โดยแลกกับขอบหยัก\nหากปิดใช้งาน แนะนำให้เปิดใช้งาน FXAA เพื่อลดขอบหยักโดยมีผลกระทบต่อประสิทธิภาพน้อยที่สุด\n\nต้องรีสตาร์ทแอปพลิเคชัน" + +msgid "Disabled" +msgstr "ปิดใช้" + +msgid "FXAA post-processing" +msgstr "หลังการประมวลผล FXAA" + +msgid "" +"Applies Fast Approximate Anti-Aliasing as a screen-space pass.\n" +"Useful for disabling or reducing the MSAA setting to improve performance.\n" +"\n" +"Takes effect immediately." +msgstr "ใช้ Anti-Aliasing โดยประมาณแบบรวดเร็วเป็นการส่งผ่านพื้นที่หน้าจอ\nมีประโยชน์สำหรับการปิดใช้งานหรือลดการตั้งค่า MSAA เพื่อปรับปรุงประสิทธิภาพ\n\nมีผลบังคับใช้ทันที" + +msgid "FPS" +msgstr "เฟรมต่อวินาที" + +msgid "FPS cap" +msgstr "ขีดจำกัด FPS" + +msgid "(0 = unlimited)" +msgstr "(0 = ไม่จำกัด)" + +msgid "" +"Limits viewport frame rate to reduce GPU load and power usage.\n" +"Set to 0 for unlimited frame rate." +msgstr "จำกัดอัตราเฟรมวิวพอร์ตเพื่อลดภาระของ GPU และการใช้พลังงาน\nตั้งค่าเป็น 0 สำหรับอัตราเฟรมไม่จำกัด" + +msgid "Show FPS overlay" +msgstr "แสดงการซ้อนทับ FPS" + +msgid "Displays current viewport FPS in the top-right corner." +msgstr "แสดงวิวพอร์ต FPS ปัจจุบันที่มุมขวาบน" + +msgid "Login region" +msgstr "เข้าสู่ระบบภูมิภาค" + +msgid "Stealth mode" +msgstr "โหมดซ่อนตัว" + +msgid "" +"This disables all cloud services e.g. Orca Cloud and Bambu Cloud. This stops " +"the transmission of data to Bambu's cloud services too. Users who don't use " +"BBL machines or use LAN mode only can safely turn on this function." +msgstr "การดำเนินการนี้จะปิดใช้งานบริการคลาวด์ทั้งหมด เช่น ออร์ก้าคลาวด์และแบมบูคลาวด์ ซึ่งจะหยุดการส่งข้อมูลไปยังบริการคลาวด์ของ Bambu ด้วยเช่นกัน ผู้ใช้ที่ไม่ได้ใช้เครื่อง BBL หรือใช้โหมด LAN เท่านั้นสามารถเปิดฟังก์ชันนี้ได้อย่างปลอดภัย" + +msgid "Network test" +msgstr "ทดสอบเครือข่าย" + +msgid "Test" +msgstr "ทดสอบ" + +msgid "Cloud Providers" +msgstr "ผู้ให้บริการคลาวด์" + +msgid "Enable Bambu Cloud" +msgstr "เปิดใช้งาน Bambu Cloud" + +msgid "" +"Allow logging into Bambu Cloud alongside Orca Cloud. When enabled, a Bambu " +"login section appears on the homepage." +msgstr "อนุญาตให้เข้าสู่ระบบ Bambu Cloud ควบคู่ไปกับ Orca Cloud เมื่อเปิดใช้งาน ส่วนเข้าสู่ระบบ Bambu จะปรากฏบนหน้าแรก" + +msgid "Update & sync" +msgstr "อัปเดตและซิงค์" + +msgid "Check for stable updates only" +msgstr "ตรวจสอบการอัปเดตที่เสถียรเท่านั้น" + +msgid "Auto sync user presets (Printer/Filament/Process)" +msgstr "การตั้งค่าล่วงหน้าของผู้ใช้ซิงค์อัตโนมัติ (เครื่องพิมพ์/เส้นพลาสติก/กระบวนการ)" + +msgid "Update built-in Presets automatically." +msgstr "อัปเดตค่าที่ตั้งล่วงหน้าในตัวโดยอัตโนมัติ" + +msgid "Use encrypted file for token storage" +msgstr "ใช้ไฟล์ที่เข้ารหัสสำหรับการจัดเก็บโทเค็น" + +msgid "" +"Store authentication tokens in an encrypted file instead of the system " +"keychain. (Requires restart)" +msgstr "จัดเก็บโทเค็นการรับรองความถูกต้องในไฟล์ที่เข้ารหัสแทนพวงกุญแจระบบ (ต้องรีสตาร์ท)" + +msgid "Filament Sync Options" +msgstr "ตัวเลือกการซิงค์ฟิลาเมนต์" + +msgid "Filament sync mode" +msgstr "โหมดการซิงค์ฟิลาเมนต์" + +msgid "" +"Choose whether sync updates both filament preset and color, or only color." +msgstr "เลือกว่าการซิงค์จะอัปเดตทั้งค่าที่ตั้งไว้ล่วงหน้าของเส้นพลาสติกและสี หรือเฉพาะสีเท่านั้น" + +msgid "Filament & Color" +msgstr "เส้นพลาสติกและสี" + +msgid "Color only" +msgstr "สีเท่านั้น" + +msgid "Network plug-in" +msgstr "ปลั๊กอินเครือข่าย" + +msgid "Enable network plug-in" +msgstr "เปิดใช้งานปลั๊กอินเครือข่าย" + +msgid "Network plug-in version" +msgstr "เวอร์ชันปลั๊กอินเครือข่าย" + +msgid "Select the network plug-in version to use" +msgstr "เลือกเวอร์ชันปลั๊กอินเครือข่ายที่จะใช้" + +msgid "(Latest)" +msgstr "(ล่าสุด)" + +msgid "Network plug-in switched successfully." +msgstr "สลับปลั๊กอินเครือข่ายสำเร็จแล้ว" + +msgid "Success" +msgstr "สำเร็จ" + +msgid "Failed to load network plug-in. Please restart the application." +msgstr "โหลดปลั๊กอินเครือข่ายไม่สำเร็จ กรุณารีสตาร์ทแอปพลิเคชัน" + +#, possible-c-format, possible-boost-format +msgid "" +"You've selected network plug-in version %s.\n" +"\n" +"Would you like to download and install this version now?\n" +"\n" +"Note: The application may need to restart after installation." +msgstr "คุณได้เลือกปลั๊กอินเครือข่ายเวอร์ชัน %s\n\nคุณต้องการดาวน์โหลดและติดตั้งเวอร์ชันนี้ทันทีหรือไม่\n\nหมายเหตุ: แอปพลิเคชันอาจต้องรีสตาร์ทหลังการติดตั้ง" + +msgid "Download Network Plug-in" +msgstr "ดาวน์โหลดปลั๊กอินเครือข่าย" + +msgid "Associate files to OrcaSlicer" +msgstr "เชื่อมโยงไฟล์กับ OrcaSlicer" + +msgid "Associate 3MF files to OrcaSlicer" +msgstr "เชื่อมโยงไฟล์ 3MF กับ OrcaSlicer" + +msgid "If enabled, sets OrcaSlicer as default application to open 3MF files." +msgstr "หากเปิดใช้งาน ให้ตั้งค่า OrcaSlicer เป็นแอปพลิเคชันเริ่มต้นเพื่อเปิดไฟล์ 3MF" + +msgid "Associate DRC files to OrcaSlicer" +msgstr "เชื่อมโยงไฟล์ DRC กับ OrcaSlicer" + +msgid "If enabled, sets OrcaSlicer as default application to open DRC files." +msgstr "หากเปิดใช้งาน ให้ตั้งค่า OrcaSlicer เป็นแอปพลิเคชันเริ่มต้นเพื่อเปิดไฟล์ DRC" + +msgid "Associate STL files to OrcaSlicer" +msgstr "เชื่อมโยงไฟล์ STL กับ OrcaSlicer" + +msgid "If enabled, sets OrcaSlicer as default application to open STL files." +msgstr "หากเปิดใช้งาน ให้ตั้งค่า OrcaSlicer เป็นแอปพลิเคชันเริ่มต้นเพื่อเปิดไฟล์ STL" + +msgid "Associate STEP files to OrcaSlicer" +msgstr "เชื่อมโยงไฟล์ STEP กับ OrcaSlicer" + +msgid "If enabled, sets OrcaSlicer as default application to open STEP files." +msgstr "หากเปิดใช้งาน ให้ตั้งค่า OrcaSlicer เป็นแอปพลิเคชันเริ่มต้นเพื่อเปิดไฟล์ STEP" + +msgid "Associate web links to OrcaSlicer" +msgstr "เชื่อมโยงเว็บลิงก์กับ OrcaSlicer" + +msgid "Developer" +msgstr "นักพัฒนา" + +msgid "Developer mode" +msgstr "โหมดนักพัฒนา" + +msgid "Skip AMS blacklist check" +msgstr "ข้ามการตรวจสอบบัญชีดำของ AMS" + +msgid "(Experimental) Keep painted feature after mesh change" +msgstr "(ทดลอง) เก็บคุณสมบัติการทาสีไว้หลังจากเปลี่ยนตาข่าย" + +msgid "" +"Attempt to keep painted features (color/seam/support/fuzzy etc.) after " +"changing the object mesh (such as cut/reload from disk/simplify/fix etc.)\n" +"Highly experimental! Slow and may create artifact." +msgstr "พยายามคงคุณสมบัติการทาสีไว้ (สี/รอยตะเข็บ/ส่วนรองรับ/คลุมเครือ ฯลฯ) หลังจากเปลี่ยนตาข่ายวัตถุ (เช่น ตัด/โหลดซ้ำจากดิสก์/ลดความซับซ้อน/แก้ไข ฯลฯ)\nน่าทดลองมาก! ช้าและอาจสร้างสิ่งประดิษฐ์" + +msgid "Allow Abnormal Storage" +msgstr "อนุญาตให้จัดเก็บผิดปกติ" + +msgid "" +"This allows the use of Storage that is marked as abnormal by the Printer.\n" +"Use at your own risk, can cause issues!" +msgstr "ซึ่งช่วยให้สามารถใช้พื้นที่เก็บข้อมูลที่เครื่องพิมพ์ทำเครื่องหมายว่าผิดปกติได้\nใช้ด้วยความเสี่ยงของคุณเอง อาจทำให้เกิดปัญหาได้!" + +msgid "Log Level" +msgstr "ระดับบันทึก" + +msgid "fatal" +msgstr "ร้ายแรง" + +msgid "error" +msgstr "ข้อผิดพลาด" + +msgid "warning" +msgstr "คำเตือน" + +msgid "debug" +msgstr "แก้ปัญหา" + +msgid "trace" +msgstr "ติดตาม" + +msgid "Reload" +msgstr "โหลดใหม่" + +msgid "Reload the network plug-in without restarting the application" +msgstr "โหลดปลั๊กอินเครือข่ายซ้ำโดยไม่ต้องรีสตาร์ทแอปพลิเคชัน" + +msgid "Network plug-in reloaded successfully." +msgstr "โหลดปลั๊กอินเครือข่ายซ้ำสำเร็จแล้ว" + +msgid "Failed to reload network plug-in. Please restart the application." +msgstr "โหลดปลั๊กอินเครือข่ายซ้ำไม่สำเร็จ กรุณารีสตาร์ทแอปพลิเคชัน" + +msgid "Reload Failed" +msgstr "โหลดใหม่ล้มเหลว" + +msgid "Debug" +msgstr "ดีบัก" + +msgid "Sync settings" +msgstr "การตั้งค่าการซิงค์" + +msgid "User sync" +msgstr "การซิงค์ผู้ใช้" + +msgid "Preset sync" +msgstr "การซิงค์ที่ตั้งไว้ล่วงหน้า" + +msgid "Preferences sync" +msgstr "ซิงค์การตั้งค่า" + +msgid "View control settings" +msgstr "ดูการตั้งค่าการควบคุม" + +msgid "Rotate view" +msgstr "หมุนมุมมอง" + +msgid "Pan view" +msgstr "แพนวิว" + +msgid "Zoom view" +msgstr "ซูมดู" + +msgid "Other" +msgstr "อื่นๆ" + +msgid "Mouse wheel reverses when zooming" +msgstr "ล้อเมาส์จะกลับด้านเมื่อซูม" + +msgid "Enable SSL(MQTT)" +msgstr "เปิดใช้งาน SSL(MQTT)" + +msgid "Enable SSL(FTP)" +msgstr "เปิดใช้งาน SSL(FTP)" + +msgid "Internal developer mode" +msgstr "โหมดนักพัฒนาภายใน" + +msgid "Host Setting" +msgstr "การตั้งค่าโฮสต์" + +msgid "DEV host: api-dev.bambu-lab.com/v1" +msgstr "โฮสต์ DEV: api-dev.bambu-lab.com/v1" + +msgid "QA host: api-qa.bambu-lab.com/v1" +msgstr "โฮสต์ QA: api-qa.bambu-lab.com/v1" + +msgid "PRE host: api-pre.bambu-lab.com/v1" +msgstr "โฮสต์ก่อน: api-pre.bambu-lab.com/v1" + +msgid "Product host" +msgstr "โฮสต์ผลิตภัณฑ์" + +msgid "Debug save button" +msgstr "ปุ่มบันทึกการแก้ไขข้อบกพร่อง" + +msgid "Save debug settings" +msgstr "บันทึกการตั้งค่าการแก้ไขข้อบกพร่อง" + +msgid "DEBUG settings have been saved successfully!" +msgstr "บันทึกการตั้งค่า DEBUG สำเร็จแล้ว!" + +msgid "Cloud environment switched, please login again!" +msgstr "สภาพแวดล้อมคลาวด์ถูกเปลี่ยน กรุณาเข้าสู่ระบบอีกครั้ง!" + +msgid "System presets" +msgstr "พรีเซ็ตระบบ" + +msgid "User presets" +msgstr "พรีเซ็ตผู้ใช้" + +msgid "Incompatible presets" +msgstr "ค่าที่ตั้งล่วงหน้าที่เข้ากันไม่ได้" + +msgid "My Printer" +msgstr "เครื่องพิมพ์ของฉัน" + +msgid "Left filaments" +msgstr "เส้นพลาสติกด้านซ้าย" + +msgid "AMS filaments" +msgstr "เส้นพลาสติก AMS" + +msgid "Right filaments" +msgstr "เส้นพลาสติกที่ถูกต้อง" + +msgid "Click to select filament color" +msgstr "คลิกเพื่อเลือกสีเส้นพลาสติก" + +msgid "Add/Remove presets" +msgstr "เพิ่ม/ลบค่าที่ตั้งล่วงหน้า" + +msgid "Edit preset" +msgstr "พรีเซ็ตแก้ไข" + +msgid "Unspecified" +msgstr "ไม่ระบุ" + +msgid "Project-inside presets" +msgstr "การตั้งค่าล่วงหน้าภายในโครงการ" + +msgid "Bundle presets" +msgstr "ชุดที่ตั้งไว้ล่วงหน้า" + +msgid "System" +msgstr "ระบบ" + +msgid "Unsupported presets" +msgstr "ค่าที่ตั้งล่วงหน้าที่ไม่รองรับ" + +msgid "Unsupported" +msgstr "ไม่รองรับ" + +msgid "Add/Remove filaments" +msgstr "เพิ่ม/ลบเส้นพลาสติก" + +msgid "Add/Remove materials" +msgstr "เพิ่ม/ลบวัสดุ" + +msgid "Select/Remove printers (system presets)" +msgstr "เลือก/ลบเครื่องพิมพ์ (ค่าที่ตั้งล่วงหน้าของระบบ)" + +msgid "Create printer" +msgstr "สร้างเครื่องพิมพ์" + +msgid "Empty" +msgstr "ว่างเปล่า" + +msgid "Incompatible" +msgstr "เข้ากันไม่ได้" + +msgid "The selected preset is null!" +msgstr "ค่าที่ตั้งล่วงหน้าที่เลือกเป็นโมฆะ!" + +msgid "End" +msgstr "จบ" + +msgid "Customize" +msgstr "ปรับแต่ง" + +msgid "Other layer filament sequence" +msgstr "ลำดับเส้นพลาสติกชั้นอื่นๆ" + +msgid "Please input layer value (>= 2)." +msgstr "กรุณาป้อนค่าเลเยอร์ (>= 2)" + +msgid "Plate name" +msgstr "ชื่อจาน" + +msgid "Same as Global Plate Type" +msgstr "เช่นเดียวกับประเภทเพลททั่วโลก" + +msgid "Bed type" +msgstr "ชนิดฐานพิมพ์" + +msgid "Same as Global Print Sequence" +msgstr "เช่นเดียวกับลำดับการพิมพ์ทั่วโลก" + +msgid "Print sequence" +msgstr "ลำดับการพิมพ์" + +msgid "Same as Global" +msgstr "เช่นเดียวกับโกลบอล" + +msgid "Disable" +msgstr "ปิดใช้" + +msgid "Spiral vase" +msgstr "แจกันเกลียว" + +msgid "First layer filament sequence" +msgstr "ลำดับเส้นพลาสติกชั้นแรก" + +msgid "Same as Global Bed Type" +msgstr "เช่นเดียวกับประเภทฐานพิมพ์สากล" + +msgid "By Layer" +msgstr "โดยเลเยอร์" + +msgid "By Object" +msgstr "โดยวัตถุ" + +msgid "Accept" +msgstr "ยอมรับ" + +msgid "Log Out" +msgstr "ออกจากระบบ" + +msgid "Slice all plate to obtain time and filament estimation" +msgstr "ตัดแผ่นทั้งหมดเพื่อให้ได้เวลาและการประมาณค่าเส้นพลาสติก" + +msgid "Packing project data into 3MF file" +msgstr "บรรจุข้อมูลโครงการลงในไฟล์ 3MF" + +msgid "Uploading 3MF" +msgstr "กำลังอัพโหลด 3MF" + +msgid "Jump to model publish web page" +msgstr "ข้ามไปที่โมเดลเผยแพร่หน้าเว็บ" + +msgid "Note: The preparation may take several minutes. Please be patient." +msgstr "หมายเหตุ: การเตรียมการอาจใช้เวลาหลายนาที กรุณาอดทน." + +msgid "Publish" +msgstr "เผยแพร่" + +msgid "Publish was canceled" +msgstr "การเผยแพร่ถูกยกเลิก" + +msgid "Slicing Plate 1" +msgstr "แผ่นหั่น 1" + +msgid "Packing data to 3MF" +msgstr "บรรจุข้อมูลไปที่ 3MF" + +msgid "Uploading data" +msgstr "กำลังอัพโหลดข้อมูล" + +msgid "Jump to webpage" +msgstr "ข้ามไปที่หน้าเว็บ" + +#, possible-c-format, possible-boost-format +msgid "Save %s as" +msgstr "บันทึก %s เป็น" + +msgid "User Preset" +msgstr "พรีเซ็ตผู้ใช้" + +msgid "Preset Inside Project" +msgstr "โครงการภายในที่ตั้งไว้ล่วงหน้า" + +msgid "Detach from parent" +msgstr "แยกออกจากผู้ปกครอง" + +msgid "Name is unavailable." +msgstr "ชื่อไม่พร้อมใช้งาน" + +msgid "Overwriting a system profile is not allowed." +msgstr "ไม่อนุญาตให้เขียนทับโปรไฟล์ระบบ" + +#, possible-boost-format +msgid "Preset \"%1%\" already exists." +msgstr "มีพรีเซ็ต \"%1%\" อยู่แล้ว" + +#, possible-boost-format +msgid "" +"Preset \"%1%\" already exists and is incompatible with the current printer." +msgstr "ค่าที่ตั้งไว้ล่วงหน้า \"%1%\" มีอยู่แล้ว และเข้ากันไม่ได้กับเครื่องพิมพ์ปัจจุบัน" + +msgid "Please note that saving will overwrite this preset." +msgstr "โปรดทราบว่าการบันทึกจะเขียนทับค่าที่ตั้งล่วงหน้านี้" + +msgid "The name cannot be the same as a preset alias name." +msgstr "ชื่อต้องไม่เหมือนกับชื่อนามแฝงที่ตั้งไว้ล่วงหน้า" + +msgid "Save preset" +msgstr "พรีเซ็ตบันทึก" +msgctxt "PresetName" + +msgid "Copy" +msgstr "คัดลอก" + +#, possible-boost-format +msgid "Printer \"%1%\" is selected with preset \"%2%\"" +msgstr "เลือกเครื่องพิมพ์ \"%1%\" พร้อมพรีเซ็ต \"%2%\"" + +#, possible-boost-format +msgid "Please choose an action with \"%1%\" preset after saving." +msgstr "โปรดเลือกการดำเนินการด้วยการตั้งค่าล่วงหน้า \"%1%\" หลังจากบันทึก" + +#, possible-boost-format +msgid "For \"%1%\", change \"%2%\" to \"%3%\" " +msgstr "สำหรับ \"%1%\" ให้เปลี่ยน \"%2%\" เป็น \"%3%\"" + +#, possible-boost-format +msgid "For \"%1%\", add \"%2%\" as a new preset" +msgstr "สำหรับ \"%1%\" ให้เพิ่ม \"%2%\" เป็นค่าที่ตั้งล่วงหน้าใหม่" + +#, possible-boost-format +msgid "Simply switch to \"%1%\"" +msgstr "เพียงเปลี่ยนเป็น \"%1%\"" + +msgid "Task canceled" +msgstr "ยกเลิกงานแล้ว" + +msgid "Bambu Cool Plate" +msgstr "แบมบูคูลเพลท" + +msgid "PLA Plate" +msgstr "จานปลา" + +msgid "Bambu Engineering Plate" +msgstr "แผ่นวิศวกรรมแบมบู" + +msgid "Bambu Smooth PEI Plate" +msgstr "แผ่น Bambu Smooth PEI" + +msgid "High temperature Plate" +msgstr "แผ่นอุณหภูมิสูง" + +msgid "Bambu Textured PEI Plate" +msgstr "แผ่น PEI ที่มีพื้นผิว Bambu" + +msgid "Bambu Cool Plate SuperTack" +msgstr "แบมบู คูลเพลท ซุปเปอร์แทค" + +msgid "Send print job" +msgstr "ส่งงานพิมพ์" + +msgid "On" +msgstr "เปิด" + +msgid "Not satisfied with the grouping of filaments? Regroup and slice ->" +msgstr "ไม่พอใจกับการจัดกลุ่มเส้นพลาสติกใช่ไหม? จัดกลุ่มใหม่และแบ่งส่วน ->" + +msgid "Manually change external spool during printing for multi-color printing" +msgstr "เปลี่ยนแกนม้วนสายภายนอกด้วยตนเองระหว่างการพิมพ์สำหรับการพิมพ์หลายสี" + +msgid "Multi-color with external" +msgstr "หลากสีพร้อมภายนอก" + +msgid "Your filament grouping method in the sliced file is not optimal." +msgstr "วิธีการจัดกลุ่มเส้นพลาสติกของคุณในไฟล์ที่แบ่งส่วนนั้นไม่เหมาะสมที่สุด" + +msgid "Auto Bed Leveling" +msgstr "ปรับระดับฐานพิมพ์อัตโนมัติ" + +msgid "" +"This checks the flatness of heatbed. Leveling makes extruded height " +"uniform.\n" +"*Automatic mode: Run a leveling check(about 10 seconds). Skip if surface is " +"fine." +msgstr "วิธีนี้จะตรวจสอบความเรียบของฐานพิมพ์ การปรับระดับทำให้ความสูงที่ฉีดเส้นออกมาสม่ำเสมอ\n*โหมดอัตโนมัติ: เรียกใช้การตรวจสอบการปรับระดับ (ประมาณ 10 วินาที) ข้ามไปหากพื้นผิวดี" + +msgid "Flow Dynamics Calibration" +msgstr "ปรับเทียบไดนามิกการไหล" + +msgid "" +"This process determines the dynamic flow values to improve overall print " +"quality.\n" +"*Automatic mode: Skip if the filament was calibrated recently." +msgstr "กระบวนการนี้จะกำหนดค่าการไหลแบบไดนามิกเพื่อปรับปรุงคุณภาพการพิมพ์โดยรวม\n*โหมดอัตโนมัติ: ข้ามไปหากเส้นพลาสติกได้รับการปรับเทียบเมื่อเร็วๆ นี้" + +msgid "Nozzle Offset Calibration" +msgstr "การสอบเทียบออฟเซ็ตหัวฉีด" + +msgid "" +"Calibrate nozzle offsets to enhance print quality.\n" +"*Automatic mode: Check for calibration before printing. Skip if unnecessary." +msgstr "ปรับเทียบออฟเซ็ตหัวฉีดเพื่อปรับปรุงคุณภาพการพิมพ์\n*โหมดอัตโนมัติ: ตรวจสอบการปรับเทียบก่อนพิมพ์ ข้ามไปหากไม่จำเป็น" + +msgid "Send complete" +msgstr "ส่งเสร็จแล้ว" + +msgid "Error code" +msgstr "รหัสข้อผิดพลาด" + +msgid "High Flow" +msgstr "อัตราไหลสูง" + +#, possible-c-format, possible-boost-format +msgid "" +"The nozzle flow setting of %s(%s) doesn't match with the slicing file(%s). " +"Please make sure the nozzle installed matches with settings in printer, then " +"set the corresponding printer preset while slicing." +msgstr "การตั้งค่าการไหลของหัวฉีดของ %s(%s) ไม่ตรงกับไฟล์การแบ่งส่วน (%s) โปรดตรวจสอบให้แน่ใจว่าหัวฉีดที่ติดตั้งตรงกับการตั้งค่าในเครื่องพิมพ์ จากนั้นตั้งค่าเครื่องพิมพ์ล่วงหน้าที่เกี่ยวข้องขณะหั่น" + +#, possible-c-format, possible-boost-format +msgid "" +"Filament %s does not match the filament in AMS slot %s. Please update the " +"printer firmware to support AMS slot assignment." +msgstr "เส้นพลาสติก %s ไม่ตรงกับเส้นพลาสติกในช่อง AMS %s โปรดอัปเดตเฟิร์มแวร์เครื่องพิมพ์เพื่อรองรับการกำหนดสล็อต AMS" + +msgid "" +"Filament does not match the filament in AMS slot. Please update the printer " +"firmware to support AMS slot assignment." +msgstr "เส้นพลาสติกไม่ตรงกับเส้นพลาสติกในช่อง AMS โปรดอัปเดตเฟิร์มแวร์เครื่องพิมพ์เพื่อรองรับการกำหนดสล็อต AMS" + +#, possible-c-format, possible-boost-format +msgid "" +"The selected printer (%s) is incompatible with the print file configuration " +"(%s). Please adjust the printer preset in the prepare page or choose a " +"compatible printer on this page." +msgstr "เครื่องพิมพ์ที่เลือก (%s) เข้ากันไม่ได้กับการกำหนดค่าไฟล์การพิมพ์ (%s) โปรดปรับการตั้งค่าล่วงหน้าของเครื่องพิมพ์ในหน้าจัดเตรียมหรือเลือกเครื่องพิมพ์ที่ใช้งานร่วมกันได้ในหน้านี้" + +msgid "" +"When enable spiral vase mode, machines with I3 structure will not generate " +"timelapse videos." +msgstr "เมื่อเปิดใช้งานโหมดแจกันเกลียว เครื่องจักรที่มีโครงสร้าง I3 จะไม่สร้างวิดีโอไทม์แลปส์" + +msgid "" +"The current printer does not support timelapse in Traditional Mode when " +"printing By-Object." +msgstr "เครื่องพิมพ์ปัจจุบันไม่รองรับไทม์แลปส์ในโหมดดั้งเดิมเมื่อพิมพ์ By-Object" + +msgid "Errors" +msgstr "ข้อผิดพลาด" + +msgid "" +"More than one filament types have been mapped to the same external spool, " +"which may cause printing issues. The printer won't pause during printing." +msgstr "มีการจับคู่เส้นพลาสติกมากกว่าหนึ่งประเภทกับแกนม้วนภายนอกเดียวกัน ซึ่งอาจทำให้เกิดปัญหาในการพิมพ์ เครื่องพิมพ์จะไม่หยุดชั่วคราวระหว่างการพิมพ์" + +msgid "" +"The filament type setting of external spool is different from the filament " +"in the slicing file." +msgstr "การตั้งค่าประเภทฟิลาเมนต์ของสปูลภายนอกแตกต่างจากฟิลาเมนต์ในไฟล์สไลซ์" + +msgid "" +"The printer type selected when generating G-code is not consistent with the " +"currently selected printer. It is recommended that you use the same printer " +"type for slicing." +msgstr "ประเภทเครื่องพิมพ์ที่เลือกเมื่อสร้าง G-code ไม่สอดคล้องกับเครื่องพิมพ์ที่เลือกในปัจจุบัน ขอแนะนำให้คุณใช้เครื่องพิมพ์ประเภทเดียวกันในการตัด" + +msgid "" +"There are some unknown filaments in the AMS mappings. Please check whether " +"they are the required filaments. If they are okay, press \"Confirm\" to " +"start printing." +msgstr "มีเส้นพลาสติกที่ไม่รู้จักบางอย่างในการแมป AMS โปรดตรวจสอบว่าเป็นเส้นพลาสติกที่ต้องการหรือไม่ หากไม่เป็นไร ให้กด \"ยืนยัน\" เพื่อเริ่มพิมพ์" + +msgid "Please check the following:" +msgstr "กรุณาตรวจสอบสิ่งต่อไปนี้:" + +msgid "Please fix the error above, otherwise printing cannot continue." +msgstr "โปรดแก้ไขข้อผิดพลาดด้านบน ไม่เช่นนั้นการพิมพ์จะไม่สามารถดำเนินการต่อได้" + +msgid "" +"Please click the confirm button if you still want to proceed with printing." +msgstr "โปรดคลิกปุ่มยืนยันหากคุณยังต้องการดำเนินการพิมพ์ต่อ" + +msgid "" +"This checks the flatness of heatbed. Leveling makes extruded height uniform." +msgstr "วิธีนี้จะตรวจสอบความเรียบของฐานพิมพ์ การปรับระดับทำให้ความสูงที่ฉีดเส้นออกมาสม่ำเสมอ" + +msgid "" +"This process determines the dynamic flow values to improve overall print " +"quality." +msgstr "กระบวนการนี้จะกำหนดค่าการไหลแบบไดนามิกเพื่อปรับปรุงคุณภาพการพิมพ์โดยรวม" + +msgid "Preparing print job" +msgstr "กำลังเตรียมงานพิมพ์" + +msgid "The name length exceeds the limit." +msgstr "ชื่อมีความยาวเกินขีดจำกัด" + +#, possible-c-format, possible-boost-format +msgid "Cost %dg filament and %d changes more than optimal grouping." +msgstr "ราคา %dg เส้นพลาสติกและ %d เปลี่ยนแปลงมากกว่าการจัดกลุ่มที่เหมาะสมที่สุด" + +msgid "nozzle" +msgstr "หัวฉีด" + +msgid "both extruders" +msgstr "ชุดดันเส้นทั้งสอง" + +msgid "" +"Tips: If you changed your nozzle of your printer lately, Please go to " +"'Device -> Printer parts' to change your nozzle setting." +msgstr "เคล็ดลับ: หากคุณเปลี่ยนหัวฉีดของเครื่องพิมพ์เมื่อเร็วๆ นี้ โปรดไปที่ 'อุปกรณ์ -> ชิ้นส่วนเครื่องพิมพ์' เพื่อเปลี่ยนการตั้งค่าหัวฉีดของคุณ" + +#, possible-c-format, possible-boost-format +msgid "" +"The %s diameter(%.1fmm) of current printer doesn't match with the slicing " +"file (%.1fmm). Please make sure the nozzle installed matches with settings " +"in printer, then set the corresponding printer preset when slicing." +msgstr "เส้นผ่านศูนย์กลาง %s(%.1fmm) ของเครื่องพิมพ์ปัจจุบันไม่ตรงกับไฟล์การแบ่งส่วน (%.1fmm) โปรดตรวจสอบให้แน่ใจว่าหัวฉีดที่ติดตั้งตรงกับการตั้งค่าในเครื่องพิมพ์ จากนั้นตั้งค่าเครื่องพิมพ์ล่วงหน้าที่เกี่ยวข้องเมื่อหั่น" + +#, possible-c-format, possible-boost-format +msgid "" +"The current nozzle diameter (%.1fmm) doesn't match with the slicing file " +"(%.1fmm). Please make sure the nozzle installed matches with settings in " +"printer, then set the corresponding printer preset when slicing." +msgstr "เส้นผ่านศูนย์กลางหัวฉีดปัจจุบัน (%.1fmm) ไม่ตรงกับไฟล์การแบ่งส่วน (%.1fmm) โปรดตรวจสอบให้แน่ใจว่าหัวฉีดที่ติดตั้งตรงกับการตั้งค่าในเครื่องพิมพ์ จากนั้นตั้งค่าเครื่องพิมพ์ล่วงหน้าที่เกี่ยวข้องเมื่อหั่น" + +#, possible-c-format, possible-boost-format +msgid "" +"The hardness of current material (%s) exceeds the hardness of %s(%s). Please " +"verify the nozzle or material settings and try again." +msgstr "ความแข็งของวัสดุปัจจุบัน (%s) เกินความแข็งของ %s(%s) โปรดตรวจสอบการตั้งค่าหัวฉีดหรือวัสดุแล้วลองอีกครั้ง" + +#, possible-c-format, possible-boost-format +msgid "" +"[ %s ] requires printing in a high-temperature environment. Please close the " +"door." +msgstr "[ %s ] จำเป็นต้องพิมพ์ในสภาพแวดล้อมที่มีอุณหภูมิสูง กรุณาปิดประตู." + +#, possible-c-format, possible-boost-format +msgid "[ %s ] requires printing in a high-temperature environment." +msgstr "[ %s ] จำเป็นต้องพิมพ์ในสภาพแวดล้อมที่มีอุณหภูมิสูง" + +#, possible-c-format, possible-boost-format +msgid "The filament on %s may soften. Please unload." +msgstr "เส้นพลาสติกบน %s อาจอ่อนตัวลง กรุณายกเลิกการโหลด" + +#, possible-c-format, possible-boost-format +msgid "The filament on %s is unknown and may soften. Please set filament." +msgstr "ไม่ทราบเส้นพลาสติกบน %s และอาจอ่อนตัวลง กรุณาตั้งค่าเส้นพลาสติก" + +msgid "" +"Unable to automatically match to suitable filament. Please click to manually " +"match." +msgstr "ไม่สามารถจับคู่เส้นพลาสติกที่เหมาะสมได้โดยอัตโนมัติ กรุณาคลิกเพื่อจับคู่ด้วยตนเอง" + +msgid "Install toolhead enhanced cooling fan to prevent filament softening." +msgstr "ติดตั้งพัดลมระบายความร้อนที่เสริมหัวเครื่องมือเพื่อป้องกันไม่ให้เส้นพลาสติกอ่อนตัว" + +msgid "Smooth Cool Plate" +msgstr "จานเย็นเรียบ" + +msgid "Engineering Plate" +msgstr "แผ่นวิศวกรรม" + +msgid "Smooth High Temp Plate" +msgstr "แผ่นความร้อนสูงเรียบ" + +msgid "Textured PEI Plate" +msgstr "แผ่น PEI ที่มีพื้นผิว" + +msgid "Cool Plate (SuperTack)" +msgstr "คูลเพลท (ซุปเปอร์แทค)" + +msgid "Click here if you can't connect to the printer" +msgstr "คลิกที่นี่ หากคุณไม่สามารถเชื่อมต่อกับเครื่องพิมพ์ได้" + +msgid "No login account, only printers in LAN mode are displayed." +msgstr "ไม่มีบัญชีเข้าสู่ระบบ จะแสดงเฉพาะเครื่องพิมพ์ในโหมด LAN เท่านั้น" + +msgid "Connecting to server..." +msgstr "กำลังเชื่อมต่อกับเซิร์ฟเวอร์..." + +msgid "Synchronizing device information..." +msgstr "กำลังซิงโครไนซ์ข้อมูลอุปกรณ์..." + +msgid "Synchronizing device information timed out." +msgstr "การซิงโครไนซ์ข้อมูลอุปกรณ์หมดเวลา" + +msgid "Cannot send a print job when the printer is not at FDM mode." +msgstr "ไม่สามารถส่งงานพิมพ์ได้เมื่อเครื่องพิมพ์ไม่ได้อยู่ในโหมด FDM" + +msgid "Cannot send a print job while the printer is updating firmware." +msgstr "ไม่สามารถส่งงานพิมพ์ในขณะที่เครื่องพิมพ์กำลังอัปเดตเฟิร์มแวร์" + +msgid "" +"The printer is executing instructions. Please restart printing after it ends." +msgstr "เครื่องพิมพ์กำลังดำเนินการตามคำแนะนำ โปรดเริ่มการพิมพ์ใหม่หลังจากสิ้นสุด" + +msgid "AMS is setting up. Please try again later." +msgstr "AMS กำลังจัดตั้ง โปรดลองอีกครั้งในภายหลัง" + +msgid "" +"Not all filaments used in slicing are mapped to the printer. Please check " +"the mapping of filaments." +msgstr "เส้นพลาสติกที่ใช้ในการตัดบางเส้นไม่ได้ถูกแมปกับเครื่องพิมพ์ โปรดตรวจสอบการแมปของเส้นพลาสติก" + +msgid "Please do not mix-use the Ext with AMS." +msgstr "กรุณาอย่าใช้ Ext ผสมกับ AMS" + +msgid "" +"Invalid nozzle information, please refresh or manually set nozzle " +"information." +msgstr "ข้อมูลหัวฉีดไม่ถูกต้อง โปรดรีเฟรชหรือตั้งค่าข้อมูลหัวฉีดด้วยตนเอง" + +msgid "Storage needs to be inserted before printing via LAN." +msgstr "ต้องใส่ที่เก็บข้อมูลก่อนที่จะพิมพ์ผ่าน LAN" + +msgid "Storage is in abnormal state or is in read-only mode." +msgstr "ที่เก็บข้อมูลอยู่ในสถานะผิดปกติหรืออยู่ในโหมดอ่านอย่างเดียว" + +msgid "Storage needs to be inserted before printing." +msgstr "ต้องใส่ที่เก็บข้อมูลก่อนพิมพ์" + +msgid "" +"Cannot send the print job to a printer whose firmware is required to get " +"updated." +msgstr "ไม่สามารถส่งงานพิมพ์ไปยังเครื่องพิมพ์ที่ต้องใช้เฟิร์มแวร์ในการอัพเดต" + +msgid "Cannot send a print job for an empty plate." +msgstr "ไม่สามารถส่งงานพิมพ์จานเปล่าได้" + +msgid "Storage needs to be inserted to record timelapse." +msgstr "ต้องใส่ที่เก็บข้อมูลเพื่อบันทึกไทม์แลปส์" + +msgid "" +"You have selected both external and AMS filaments for an extruder. You will " +"need to manually switch the external filament during printing." +msgstr "คุณได้เลือกเส้นพลาสติกทั้งภายนอกและ AMS สำหรับชุดดันเส้น คุณจะต้องสลับเส้นพลาสติกภายนอกด้วยตนเองระหว่างการพิมพ์" + +msgid "" +"TPU 90A/TPU 85A is too soft and does not support automatic Flow Dynamics " +"calibration." +msgstr "TPU 90A/TPU 85A อ่อนเกินไปและไม่รองรับการปรับเทียบ Flow Dynamics อัตโนมัติ" + +msgid "" +"Set dynamic flow calibration to 'OFF' to enable custom dynamic flow value." +msgstr "ตั้งค่าการสอบเทียบโฟลว์แบบไดนามิกเป็น 'ปิด' เพื่อเปิดใช้งานค่าโฟลว์แบบไดนามิกที่กำหนดเอง" + +msgid "This printer does not support printing all plates." +msgstr "เครื่องพิมพ์นี้ไม่รองรับการพิมพ์เพลตทั้งหมด" + +msgid "" +"The current firmware supports a maximum of 16 materials. You can either " +"reduce the number of materials to 16 or fewer on the Preparation Page, or " +"try updating the firmware. If you are still restricted after the update, " +"please wait for subsequent firmware support." +msgstr "เฟิร์มแวร์ปัจจุบันรองรับวัสดุได้สูงสุด 16 รายการ คุณสามารถลดจำนวนวัสดุเหลือ 16 ชิ้นหรือน้อยกว่านั้นได้ในหน้าการเตรียมการ หรือลองอัปเดตเฟิร์มแวร์ หากคุณยังคงถูกจำกัดหลังจากการอัพเดต โปรดรอส่วนรองรับเฟิร์มแวร์ครั้งต่อไป" + +msgid "" +"The type of external filament is unknown or does not match with the filament " +"type in the slicing file. Please make sure you have installed the correct " +"filament in the external spool." +msgstr "ไม่ทราบประเภทของเส้นพลาสติกภายนอกหรือไม่ตรงกับประเภทเส้นพลาสติกในไฟล์สไลซ์ โปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งเส้นพลาสติกที่ถูกต้องในแกนม้วนสายภายนอก" + +msgid "Please refer to Wiki before use->" +msgstr "โปรดดู Wiki ก่อนใช้งาน ->" + +msgid "Current firmware does not support file transfer to internal storage." +msgstr "เฟิร์มแวร์ปัจจุบันไม่รองรับการถ่ายโอนไฟล์ไปยังที่จัดเก็บข้อมูลภายใน" + +msgid "Send to Printer storage" +msgstr "ส่งไปยังที่เก็บข้อมูลเครื่องพิมพ์" + +msgid "Try to connect" +msgstr "ลองเชื่อมต่อ" + +msgid "Internal Storage" +msgstr "ที่จัดเก็บภายใน" + +msgid "External Storage" +msgstr "ที่จัดเก็บภายนอก" + +msgid "Upload file timeout, please check if the firmware version supports it." +msgstr "การอัปโหลดไฟล์หมดเวลา โปรดตรวจสอบว่าเวอร์ชันเฟิร์มแวร์รองรับหรือไม่" + +msgid "Connection timed out, please check your network." +msgstr "การเชื่อมต่อหมดเวลา โปรดตรวจสอบเครือข่ายของคุณ" + +msgid "Connection failed. Click the icon to retry" +msgstr "การเชื่อมต่อล้มเหลว คลิกไอคอนเพื่อลองอีกครั้ง" + +msgid "Cannot send the print task when the upgrade is in progress" +msgstr "ไม่สามารถส่งงานพิมพ์ได้ในขณะที่กำลังอัปเกรด" + +msgid "The selected printer is incompatible with the chosen printer presets." +msgstr "เครื่องพิมพ์ที่เลือกเข้ากันไม่ได้กับการตั้งค่าล่วงหน้าของเครื่องพิมพ์ที่เลือก" + +msgid "Storage needs to be inserted before send to printer." +msgstr "ต้องใส่ที่เก็บข้อมูลก่อนส่งไปยังเครื่องพิมพ์" + +msgid "The printer is required to be in the same LAN as Orca Slicer." +msgstr "เครื่องพิมพ์จะต้องอยู่ใน LAN เดียวกันกับ Orca Slicer" + +msgid "The printer does not support sending to printer storage." +msgstr "เครื่องพิมพ์ไม่รองรับการส่งไปยังที่เก็บข้อมูลของเครื่องพิมพ์" + +msgid "Sending..." +msgstr "กำลังส่ง..." + +msgid "" +"File upload timed out. Please check if the firmware version supports this " +"operation or verify if the printer is functioning properly." +msgstr "การอัปโหลดไฟล์หมดเวลา โปรดตรวจสอบว่าเวอร์ชันเฟิร์มแวร์รองรับการทำงานนี้หรือไม่ หรือตรวจสอบว่าเครื่องพิมพ์ทำงานอย่างถูกต้องหรือไม่" + +msgid "Slice ok." +msgstr "ชิ้นตกลง" + +msgid "View all Daily tips" +msgstr "ดูเคล็ดลับรายวันทั้งหมด" + +msgid "Failed to create socket" +msgstr "ไม่สามารถสร้างซ็อกเก็ต" + +msgid "Failed to connect socket" +msgstr "ไม่สามารถเชื่อมต่อซ็อกเก็ตได้" + +msgid "Failed to publish login request" +msgstr "ไม่สามารถเผยแพร่คำขอเข้าสู่ระบบได้" + +msgid "Get ticket from device timeout" +msgstr "รับตั๋วจากการหมดเวลาของอุปกรณ์" + +msgid "Get ticket from server timeout" +msgstr "รับตั๋วจากการหมดเวลาของเซิร์ฟเวอร์" + +msgid "Failed to post ticket to server" +msgstr "ไม่สามารถโพสต์ตั๋วไปยังเซิร์ฟเวอร์" + +msgid "Failed to parse login report reason" +msgstr "ไม่สามารถแยกวิเคราะห์เหตุผลของรายงานการเข้าสู่ระบบ" + +msgid "Receive login report timeout" +msgstr "รับการหมดเวลารายงานการเข้าสู่ระบบ" + +msgid "Unknown Failure" +msgstr "ความล้มเหลวที่ไม่รู้จัก" + +msgid "" +"Please Find the Pin Code in Account page on printer screen,\n" +" and type in the Pin Code below." +msgstr "กรุณาค้นหารหัส PIN ในหน้าบัญชีบนหน้าจอเครื่องพิมพ์\n และพิมพ์รหัสพินด้านล่าง" + +msgid "Can't find Pin Code?" +msgstr "ไม่พบรหัสพิน?" + +msgid "Pin Code" +msgstr "รหัสพิน" + +msgid "Binding..." +msgstr "ผูกพัน..." + +msgid "Please confirm on the printer screen" +msgstr "กรุณายืนยันบนหน้าจอเครื่องพิมพ์" + +msgid "Log in failed. Please check the Pin Code." +msgstr "เข้าสู่ระบบล้มเหลว กรุณาตรวจสอบรหัสพิน" + +msgid "Log in printer" +msgstr "เข้าสู่ระบบเครื่องพิมพ์" + +msgid "Would you like to log in to this printer with the current account?" +msgstr "คุณต้องการเข้าสู่ระบบเครื่องพิมพ์นี้ด้วยบัญชีปัจจุบันหรือไม่" + +msgid "Check the reason" +msgstr "ตรวจสอบสาเหตุ" + +msgid "Read and accept" +msgstr "อ่านและยอมรับ" + +msgid "Terms and Conditions" +msgstr "ข้อกำหนดและเงื่อนไข" + +msgid "" +"Thank you for purchasing a Bambu Lab device. Before using your Bambu Lab " +"device, please read the terms and conditions. By clicking to agree to use " +"your Bambu Lab device, you agree to abide by the Privacy Policy and Terms of " +"Use (collectively, the \"Terms\"). If you do not comply with or agree to the " +"Bambu Lab Privacy Policy, please do not use Bambu Lab equipment and services." +msgstr "ขอขอบคุณที่ซื้ออุปกรณ์ Bambu Lab ก่อนใช้อุปกรณ์ Bambu Lab โปรดอ่านข้อกำหนดและเงื่อนไข การคลิกเพื่อยอมรับการใช้อุปกรณ์ Bambu Lab ของคุณ แสดงว่าคุณยินยอมที่จะปฏิบัติตามนโยบายความเป็นส่วนตัวและข้อกำหนดการใช้งาน (เรียกรวมกันว่า \"ข้อกำหนด\") หากคุณไม่ปฏิบัติตามหรือยอมรับนโยบายความเป็นส่วนตัวของ Bambu Lab โปรดอย่าใช้อุปกรณ์และบริการของ Bambu Lab" + +msgid "and" +msgstr "และ" + +msgid "Privacy Policy" +msgstr "นโยบายความเป็นส่วนตัว" + +msgid "We ask for your help to improve everyone's printer" +msgstr "เราขอความช่วยเหลือจากคุณในการปรับปรุงเครื่องพิมพ์ของทุกคน" + +msgid "Statement about User Experience Improvement Program" +msgstr "คำชี้แจงเกี่ยวกับโครงการปรับปรุงประสบการณ์ผู้ใช้" + +#, possible-c-format, possible-boost-format +msgid "" +"In the 3D Printing community, we learn from each other's successes and " +"failures to adjust our own slicing parameters and settings. %s follows the " +"same principle and uses machine learning to improve its performance from the " +"successes and failures of the vast number of prints by our users. We are " +"training %s to be smarter by feeding them the real-world data. If you are " +"willing, this service will access information from your error logs and usage " +"logs, which may include information described in Privacy Policy. We will not " +"collect any Personal Data by which an individual can be identified directly " +"or indirectly, including without limitation names, addresses, payment " +"information, or phone numbers. By enabling this service, you agree to these " +"terms and the statement about Privacy Policy." +msgstr "ในชุมชนการพิมพ์ 3 มิติ เราเรียนรู้จากความสำเร็จและความล้มเหลวของกันและกันในการปรับพารามิเตอร์และการตั้งค่าการแบ่งส่วนของเราเอง %s ปฏิบัติตามหลักการเดียวกันและใช้การเรียนรู้ของเครื่องเพื่อปรับปรุงประสิทธิภาพจากความสำเร็จและความล้มเหลวของงานพิมพ์จำนวนมากโดยผู้ใช้ของเรา เรากำลังฝึก %s ให้ฉลาดขึ้นโดยป้อนข้อมูลจากโลกแห่งความเป็นจริงให้พวกเขา หากคุณเต็มใจ บริการนี้จะเข้าถึงข้อมูลจากบันทึกข้อผิดพลาดและบันทึกการใช้งานของคุณ ซึ่งอาจรวมถึงข้อมูลที่อธิบายไว้ในนโยบายความเป็นส่วนตัว เราจะไม่เก็บรวบรวมข้อมูลส่วนบุคคลใด ๆ ที่สามารถระบุตัวบุคคลได้โดยตรงหรือโดยอ้อม รวมถึงแต่ไม่จำกัดเพียงชื่อ ที่อยู่ ข้อมูลการชำระเงิน หรือหมายเลขโทรศัพท์ เมื่อเปิดใช้บริการนี้ แสดงว่าคุณยอมรับข้อกำหนดเหล่านี้และคำชี้แจงเกี่ยวกับนโยบายความเป็นส่วนตัว" + +msgid "Statement on User Experience Improvement Plan" +msgstr "คำชี้แจงเกี่ยวกับแผนการปรับปรุงประสบการณ์ผู้ใช้" + +msgid "Log in successful." +msgstr "เข้าสู่ระบบสำเร็จ" + +msgid "Log out printer" +msgstr "ออกจากระบบเครื่องพิมพ์" + +msgid "Would you like to log out the printer?" +msgstr "คุณต้องการออกจากระบบเครื่องพิมพ์หรือไม่?" + +msgid "Please log in first." +msgstr "กรุณาเข้าสู่ระบบก่อน" + +msgid "There was a problem connecting to the printer. Please try again." +msgstr "เกิดปัญหาในการเชื่อมต่อกับเครื่องพิมพ์ โปรดลองอีกครั้ง" + +msgid "Failed to log out." +msgstr "ล้มเหลวในการออกจากระบบ" + +#. TRN "Save current Settings" +#, possible-c-format, possible-boost-format +msgid "Save current %s" +msgstr "บันทึก %s ปัจจุบัน" + +msgid "Delete this preset" +msgstr "ลบค่าที่ตั้งล่วงหน้านี้" + +msgid "Search in preset" +msgstr "ค้นหาในที่ตั้งไว้ล่วงหน้า" + +msgid "Click to reset all settings to the last saved preset." +msgstr "คลิกเพื่อรีเซ็ตการตั้งค่าทั้งหมดเป็นค่าที่ตั้งไว้ล่วงหน้าที่บันทึกไว้ล่าสุด" + +msgid "" +"A prime tower is required for smooth timelapse. There may be flaws on the " +"model without prime tower. Are you sure you want to disable prime tower?" +msgstr "จำเป็นต้องมีหอคอยหลักเพื่อให้ไทม์แลปส์ราบรื่น อาจมีตำหนิตรงรุ่นที่ไม่มีไพร์มทาวเวอร์ คุณแน่ใจหรือไม่ว่าต้องการปิดการใช้งานไพร์มทาวเวอร์?" + +msgid "" +"A prime tower is required for clumping detection. There may be flaws on the " +"model without prime tower. Are you sure you want to disable prime tower?" +msgstr "ต้องใช้ไพรม์ทาวเวอร์ในการตรวจจับการจับกันเป็นก้อน อาจมีตำหนิตรงรุ่นที่ไม่มีไพร์มทาวเวอร์ คุณแน่ใจหรือไม่ว่าต้องการปิดการใช้งานไพร์มทาวเวอร์?" + +msgid "" +"Enabling both precise Z height and the prime tower may cause slicing errors. " +"Do you still want to enable?" +msgstr "การเปิดใช้งานทั้งความสูง Z ที่แม่นยำและหอคอยหลักอาจทำให้เกิดข้อผิดพลาดในการแบ่งส่วน คุณยังต้องการเปิดใช้งานหรือไม่?" + +msgid "" +"A prime tower is required for clumping detection. There may be flaws on the " +"model without prime tower. Do you still want to enable clumping detection?" +msgstr "ต้องใช้ไพรม์ทาวเวอร์ในการตรวจจับการจับกันเป็นก้อน อาจมีตำหนิตรงรุ่นที่ไม่มีไพร์มทาวเวอร์ คุณยังต้องการเปิดใช้งานการตรวจจับการจับกันเป็นก้อนหรือไม่" + +msgid "" +"Enabling both precise Z height and the prime tower may cause slicing errors. " +"Do you still want to enable precise Z height?" +msgstr "การเปิดใช้งานทั้งความสูง Z ที่แม่นยำและหอคอยหลักอาจทำให้เกิดข้อผิดพลาดในการแบ่งส่วน คุณยังต้องการเปิดใช้งานความสูง Z ที่แม่นยำหรือไม่" + +msgid "" +"A prime tower is required for smooth timelapse. There may be flaws on the " +"model without prime tower. Do you want to enable prime tower?" +msgstr "จำเป็นต้องมีหอคอยหลักเพื่อให้ไทม์แลปส์ราบรื่น อาจมีตำหนิตรงรุ่นที่ไม่มีไพร์มทาวเวอร์ คุณต้องการเปิดใช้งานไพร์มทาวเวอร์หรือไม่?" + +msgid "Still print by object?" +msgstr "ยังคงพิมพ์ตามวัตถุใช่ไหม" + +msgid "" +"Non-soluble support materials are not recommended for support base.\n" +"Are you sure to use them for support base?\n" +msgstr "ไม่แนะนำให้ใช้วัสดุรองรับที่ไม่ละลายน้ำสำหรับฐานรองรับ\nคุณแน่ใจหรือว่าจะใช้พวกมันเป็นฐานส่วนรองรับ?\n" + +msgid "" +"When using support material for the support interface, we recommend the " +"following settings:\n" +"0 top Z distance, 0 interface spacing, interlaced rectilinear pattern and " +"disable independent support layer height." +msgstr "เมื่อใช้สื่อส่วนรองรับสำหรับอินเทอร์เฟซส่วนรองรับ เราขอแนะนำการตั้งค่าต่อไปนี้:\n0 ระยะทาง Z บนสุด, ระยะห่างระหว่างอินเทอร์เฟซ 0, รูปแบบเส้นตรงแบบอินเทอร์เลซ และปิดใช้งานความสูงของเลเยอร์รองรับอิสระ" + +msgid "" +"Change these settings automatically?\n" +"Yes - Change these settings automatically\n" +"No - Do not change these settings for me" +msgstr "เปลี่ยนการตั้งค่าเหล่านี้โดยอัตโนมัติหรือไม่\nใช่ - เปลี่ยนการตั้งค่าเหล่านี้โดยอัตโนมัติ\nไม่ - อย่าเปลี่ยนการตั้งค่าเหล่านี้ให้ฉัน" + +msgid "" +"When using soluble material for the support interface, we recommend the " +"following settings:\n" +"0 top Z distance, 0 interface spacing, interlaced rectilinear pattern, " +"disable independent support layer height\n" +"and use soluble materials for both support interface and support base." +msgstr "เมื่อใช้วัสดุที่ละลายน้ำได้สำหรับอินเทอร์เฟซส่วนรองรับ เราขอแนะนำการตั้งค่าต่อไปนี้:\n0 ระยะทาง Z บนสุด, ระยะห่างระหว่างอินเทอร์เฟซ 0, รูปแบบเส้นตรงแบบอินเทอร์เลซ, ปิดใช้งานความสูงของเลเยอร์รองรับอิสระ\nและใช้วัสดุที่ละลายน้ำได้สำหรับทั้งส่วนต่อประสานและฐานรองรับ" + +msgid "" +"Enabling this option will modify the model's shape. If your print requires " +"precise dimensions or is part of an assembly, it's important to double-check " +"whether this change in geometry impacts the functionality of your print." +msgstr "การเปิดใช้งานตัวเลือกนี้จะปรับเปลี่ยนรูปร่างของแบบจำลอง หากการพิมพ์ของคุณต้องการขนาดที่แม่นยำหรือเป็นส่วนหนึ่งของชุดประกอบ สิ่งสำคัญคือต้องตรวจสอบอีกครั้งว่าการเปลี่ยนแปลงทางเรขาคณิตนี้ส่งผลต่อการทำงานของการพิมพ์ของคุณหรือไม่" + +msgid "Are you sure you want to enable this option?" +msgstr "คุณแน่ใจหรือไม่ว่าต้องการเปิดใช้งานตัวเลือกนี้" + +msgid "" +"Infill patterns are typically designed to handle rotation automatically to " +"ensure proper printing and achieve their intended effects (e.g., Gyroid, " +"Cubic). Rotating the current sparse infill pattern may lead to insufficient " +"support. Please proceed with caution and thoroughly check for any potential " +"printing issues. Are you sure you want to enable this option?" +msgstr "โดยทั่วไปรูปแบบไส้ในได้รับการออกแบบให้รองรับการหมุนโดยอัตโนมัติเพื่อให้แน่ใจว่าการพิมพ์ถูกต้องและบรรลุผลตามที่ต้องการ (เช่น Gyroid, ลูกบาศก์) การหมุนรูปแบบ ไส้ใน แบบกระจัดกระจายในปัจจุบันอาจทำให้ส่วนรองรับไม่เพียงพอ โปรดดำเนินการด้วยความระมัดระวังและตรวจสอบปัญหาการพิมพ์ที่อาจเกิดขึ้นอย่างละเอียด คุณแน่ใจหรือไม่ว่าต้องการเปิดใช้งานตัวเลือกนี้" + +msgid "" +"Layer height is too small.\n" +"It will set to min_layer_height\n" +msgstr "ความสูงของเลเยอร์น้อยเกินไป\nมันจะตั้งค่าเป็น min_layer_height\n" + +msgid "" +"Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " +"height limits, this may cause printing quality issues." +msgstr "ความสูงของเลเยอร์เกินขีดจำกัดในการตั้งค่าเครื่องพิมพ์ -> ชุดดันเส้น -> ขีดจำกัดความสูงของเลเยอร์ ซึ่งอาจทำให้เกิดปัญหาคุณภาพการพิมพ์" + +msgid "Adjust to the set range automatically?\n" +msgstr "ปรับเป็นช่วงที่ตั้งไว้อัตโนมัติ?\n" + +msgid "Adjust" +msgstr "ปรับ" + +msgid "Ignore" +msgstr "ละเว้น" + +msgid "" +"Experimental feature: Retracting and cutting off the filament at a greater " +"distance during filament changes to minimize flush. Although it can notably " +"reduce flush, it may also elevate the risk of nozzle clogs or other printing " +"complications." +msgstr "คุณลักษณะการทดลอง: การดึงกลับและตัดเส้นพลาสติกออกในระยะห่างที่มากขึ้นระหว่างการเปลี่ยนเส้นพลาสติกเพื่อลดการไล่เส้น แม้ว่าจะสามารถลดการไล่เส้นได้อย่างเห็นได้ชัด แต่ก็อาจเพิ่มความเสี่ยงของการอุดตันของหัวฉีดหรือภาวะแทรกซ้อนในการพิมพ์อื่นๆ อีกด้วย" + +msgid "" +"Experimental feature: Retracting and cutting off the filament at a greater " +"distance during filament changes to minimize flush. Although it can notably " +"reduce flush, it may also elevate the risk of nozzle clogs or other printing " +"complications. Please use with the latest printer firmware." +msgstr "คุณลักษณะการทดลอง: การดึงกลับและตัดเส้นพลาสติกออกในระยะห่างที่มากขึ้นระหว่างการเปลี่ยนเส้นพลาสติกเพื่อลดการไล่เส้น แม้ว่าจะสามารถลดการไล่เส้นได้อย่างเห็นได้ชัด แต่ก็อาจเพิ่มความเสี่ยงของการอุดตันของหัวฉีดหรือภาวะแทรกซ้อนในการพิมพ์อื่นๆ อีกด้วย กรุณาใช้กับเฟิร์มแวร์เครื่องพิมพ์ล่าสุด" + +msgid "" +"When recording timelapse without toolhead, it is recommended to add a " +"\"Timelapse Wipe Tower\" \n" +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." +msgstr "เมื่อบันทึกไทม์แลปส์โดยไม่มีหัวเครื่องมือ แนะนำให้เพิ่ม \"Timelapse Wipe Tower\" \nโดยคลิกขวาที่ตำแหน่งว่างของแผ่นงานแล้วเลือก \"Add Primitive\"->\"Timelapse Wipe Tower\"" + +msgid "" +"A copy of the current system preset will be created, which will be detached " +"from the system preset." +msgstr "สำเนาของค่าที่ตั้งล่วงหน้าของระบบปัจจุบันจะถูกสร้างขึ้น ซึ่งจะแยกออกจากค่าที่ตั้งล่วงหน้าของระบบ" + +msgid "" +"The current custom preset will be detached from the parent system preset." +msgstr "ค่าที่ตั้งไว้ล่วงหน้าแบบกำหนดเองปัจจุบันจะแยกออกจากค่าที่ตั้งไว้ล่วงหน้าของระบบหลัก" + +msgid "Modifications to the current profile will be saved." +msgstr "การแก้ไขโปรไฟล์ปัจจุบันจะถูกบันทึก" + +msgid "" +"This action is not revertible.\n" +"Do you want to proceed?" +msgstr "การดำเนินการนี้ไม่สามารถย้อนกลับได้\nคุณต้องการดำเนินการต่อหรือไม่?" + +msgid "Detach preset" +msgstr "ถอดค่าที่ตั้งไว้ล่วงหน้า" + +msgid "This is a default preset." +msgstr "นี่เป็นค่าที่ตั้งล่วงหน้าเริ่มต้น" + +msgid "This is a system preset." +msgstr "นี่เป็นการตั้งค่าล่วงหน้าของระบบ" + +msgid "Current preset is inherited from the default preset." +msgstr "ค่าที่ตั้งล่วงหน้าปัจจุบันสืบทอดมาจากค่าที่ตั้งล่วงหน้าเริ่มต้น" + +msgid "Current preset is inherited from" +msgstr "ค่าที่ตั้งล่วงหน้าปัจจุบันสืบทอดมาจาก" + +msgid "It can't be deleted or modified." +msgstr "ไม่สามารถลบหรือแก้ไขได้" + +msgid "" +"Any modifications should be saved as a new preset inherited from this one." +msgstr "การแก้ไขใด ๆ ควรได้รับการบันทึกเป็นค่าที่ตั้งไว้ล่วงหน้าใหม่ซึ่งสืบทอดมาจากค่านี้" + +msgid "To do that please specify a new name for the preset." +msgstr "หากต้องการทำเช่นนั้น โปรดระบุชื่อใหม่สำหรับค่าที่ตั้งล่วงหน้า" + +msgid "Additional information:" +msgstr "ข้อมูลเพิ่มเติม:" + +msgid "vendor" +msgstr "ผู้ขาย" + +msgid "printer model" +msgstr "รุ่นเครื่องพิมพ์" + +msgid "default print profile" +msgstr "โปรไฟล์การพิมพ์เริ่มต้น" + +msgid "default filament profile" +msgstr "โปรไฟล์เส้นพลาสติกเริ่มต้น" + +msgid "default SLA material profile" +msgstr "โปรไฟล์วัสดุ SLA เริ่มต้น" + +msgid "default SLA print profile" +msgstr "โปรไฟล์การพิมพ์ SLA เริ่มต้น" + +msgid "full profile name" +msgstr "ชื่อโปรไฟล์แบบเต็ม" + +msgid "symbolic profile name" +msgstr "ชื่อโปรไฟล์สัญลักษณ์" + +msgid "Line width" +msgstr "ความกว้างเส้น" + +msgid "Precision" +msgstr "ความแม่นยำ" + +msgid "Wall generator" +msgstr "เครื่องกำเนิดไฟฟ้าติดผนัง" + +msgid "Walls and surfaces" +msgstr "ผนังและพื้นผิว" + +msgid "Bridging" +msgstr "การพิมพ์สะพาน" + +msgid "Walls" +msgstr "ผนัง" + +msgid "Top/bottom shells" +msgstr "เปลือกบน/ล่าง" + +msgid "First layer speed" +msgstr "ความเร็วชั้นแรก" + +msgid "Other layers speed" +msgstr "ความเร็วชั้นอื่นๆ" + +msgid "Overhang speed" +msgstr "ความเร็วส่วนยื่น" + +msgid "" +"This is the speed for various overhang degrees. Overhang degrees are " +"expressed as a percentage of line width. 0 speed means no slowing down for " +"the overhang degree range and wall speed is used" +msgstr "นี่คือความเร็วขององศาส่วนยื่นต่างๆ องศาที่ยื่นออกมาจะแสดงเป็นเปอร์เซ็นต์ของความกว้างของเส้น ความเร็ว 0 หมายถึงไม่มีการชะลอความเร็วสำหรับช่วงองศายื่นและใช้ความเร็วของผนัง" + +msgid "Set speed for external and internal bridges" +msgstr "ตั้งค่าความเร็วสำหรับบริดจ์ภายนอกและภายใน" + +msgid "Travel speed" +msgstr "ความเร็วเดินหัวเปล่า" + +msgid "Jerk(XY)" +msgstr "กระตุก(XY)" + +msgid "Raft" +msgstr "ฐานรองชิ้นงาน" + +msgid "Support filament" +msgstr "เส้นพลาสติกสำหรับส่วนรองรับ" + +msgid "Support ironing" +msgstr "รีดผิวส่วนรองรับ" + +msgid "Tree supports" +msgstr "ส่วนรองรับแบบต้นไม้" + +msgid "Multimaterial" +msgstr "หลากหลายวัสดุ" + +msgid "Filament for Features" +msgstr "เส้นพลาสติกสำหรับคุณสมบัติ" + +msgid "Ooze prevention" +msgstr "การป้องกันน้ำซึม" + +msgid "Special mode" +msgstr "โหมดพิเศษ" + +msgid "G-code output" +msgstr "เอาต์พุตรหัส G" + +msgid "Change extrusion role G-code" +msgstr "เปลี่ยนบทบาทการอัดขึ้นรูป G-code" + +msgid "Post-processing Scripts" +msgstr "สคริปต์หลังการประมวลผล" + +msgid "Notes" +msgstr "หมายเหตุ" + +msgid "Frequent" +msgstr "บ่อย" + +#, possible-c-format, possible-boost-format +msgid "" +"Following line %s contains reserved keywords.\n" +"Please remove it, or will beat G-code visualization and printing time " +"estimation." +msgid_plural "" +"Following lines %s contain reserved keywords.\n" +"Please remove them, or will beat G-code visualization and printing time " +"estimation." +msgstr[0] "" + +msgid "Reserved keywords found" +msgstr "พบคีย์เวิร์ดที่สงวนไว้" + +msgid "Setting Overrides" +msgstr "การตั้งค่าการแทนที่" + +msgid "Basic information" +msgstr "ข้อมูลพื้นฐาน" + +msgid "Recommended nozzle temperature" +msgstr "อุณหภูมิหัวฉีดที่แนะนำ" + +msgid "Recommended nozzle temperature range of this filament. 0 means no set" +msgstr "ช่วงอุณหภูมิหัวฉีดที่แนะนำของเส้นพลาสติกนี้ 0 หมายถึงไม่มีการตั้งค่า" + +msgid "Flow ratio and Pressure Advance" +msgstr "อัตราการไหลและแรงดันล่วงหน้า (Pressure Advance)" + +msgid "Print chamber temperature" +msgstr "อุณหภูมิห้องพิมพ์" + +msgid "Print temperature" +msgstr "อุณหภูมิพิมพ์" + +msgid "Nozzle temperature when printing" +msgstr "อุณหภูมิหัวฉีดเมื่อพิมพ์" + +msgid "" +"Bed temperature when the Cool Plate SuperTack is installed. A value of 0 " +"means the filament does not support printing on the Cool Plate SuperTack." +msgstr "อุณหภูมิฐานพิมพ์เมื่อติดตั้ง Cool Plate SuperTack ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Cool Plate SuperTack" + +msgid "Cool Plate" +msgstr "จานเย็น" + +msgid "" +"Bed temperature when the Cool Plate is installed. A value of 0 means the " +"filament does not support printing on the Cool Plate." +msgstr "อุณหภูมิฐานพิมพ์เมื่อติดตั้ง Cool Plate ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Cool Plate" + +msgid "Textured Cool Plate" +msgstr "เท็กซ์เจอร์ คูลเพลท" + +msgid "" +"Bed temperature when the Textured Cool Plate is installed. A value of 0 " +"means the filament does not support printing on the Textured Cool Plate." +msgstr "อุณหภูมิฐานพิมพ์เมื่อติดตั้ง Textured Cool Plate ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Textured Cool Plate" + +msgid "" +"Bed temperature when the Engineering Plate is installed. A value of 0 means " +"the filament does not support printing on the Engineering Plate." +msgstr "อุณหภูมิฐานพิมพ์เมื่อติดตั้ง Engineering Plate ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Engineering Plate" + +msgid "Smooth PEI Plate / High Temp Plate" +msgstr "แผ่น PEI เรียบ / แผ่นอุณหภูมิสูง" + +msgid "" +"Bed temperature when the Smooth PEI Plate/High Temperature Plate is " +"installed. A value of 0 means the filament does not support printing on the " +"Smooth PEI Plate/High Temp Plate." +msgstr "อุณหภูมิฐานพิมพ์เมื่อติดตั้งแผ่น Smooth PEI/แผ่นอุณหภูมิสูง ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บนแผ่น PEI แบบเรียบ/แผ่นอุณหภูมิสูง" + +msgid "" +"Bed temperature when the Textured PEI Plate is installed. A value of 0 means " +"the filament does not support printing on the Textured PEI Plate." +msgstr "อุณหภูมิฐานพิมพ์เมื่อติดตั้งเพลต PEI แบบมีพื้นผิว ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บนเพลต PEI ที่มีพื้นผิว" + +msgid "Volumetric speed limitation" +msgstr "การจำกัดความเร็วตามปริมาตร" + +msgid "Cooling for specific layer" +msgstr "ระบายความร้อนเฉพาะชั้น" + +msgid "Part cooling fan" +msgstr "พัดลมระบายความร้อนบางส่วน" + +msgid "Min fan speed threshold" +msgstr "เกณฑ์ความเร็วพัดลมขั้นต่ำ" + +msgid "" +"Part cooling fan speed will start to run at min speed when the estimated " +"layer time is no longer than the layer time in setting. When layer time is " +"shorter than threshold, fan speed is interpolated between the minimum and " +"maximum fan speed according to layer printing time" +msgstr "ความเร็วพัดลมระบายความร้อนชิ้นส่วนจะเริ่มทำงานที่ความเร็วต่ำสุด เมื่อเวลาของเลเยอร์โดยประมาณไม่นานกว่าเวลาของเลเยอร์ในการตั้งค่า เมื่อเวลาของเลเยอร์สั้นกว่าเกณฑ์ ความเร็วพัดลมจะถูกประมาณค่าระหว่างความเร็วพัดลมต่ำสุดและสูงสุดตามเวลาการพิมพ์ของเลเยอร์" + +msgid "Max fan speed threshold" +msgstr "เกณฑ์ความเร็วพัดลมสูงสุด" + +msgid "" +"Part cooling fan speed will be max when the estimated layer time is shorter " +"than the setting value" +msgstr "ความเร็วพัดลมระบายความร้อนของชิ้นส่วนจะสูงสุดเมื่อเวลาเลเยอร์โดยประมาณสั้นกว่าค่าที่ตั้งไว้" + +msgid "Auxiliary part cooling fan" +msgstr "พัดลมระบายความร้อนชิ้นส่วนเสริม" + +msgid "Exhaust fan" +msgstr "พัดลมดูดอากาศ" + +msgid "During print" +msgstr "ระหว่างพิมพ์" + +msgid "Complete print" +msgstr "พิมพ์เสร็จ" + +msgid "Filament start G-code" +msgstr "เส้นพลาสติกสตาร์ท G-code" + +msgid "Filament end G-code" +msgstr "เส้นพลาสติกปลาย G-code" + +msgid "Wipe tower parameters" +msgstr "เช็ดพารามิเตอร์ทาวเวอร์" + +msgid "Multi Filament" +msgstr "มัลติฟิลาเมนท์" + +msgid "Tool change parameters with single extruder MM printers" +msgstr "พารามิเตอร์การเปลี่ยนเครื่องมือด้วยเครื่องพิมพ์ MM ชุดดันเส้นเดี่ยว" + +msgid "Set" +msgstr "ชุด" + +msgid "Tool change parameters with multi extruder MM printers" +msgstr "พารามิเตอร์การเปลี่ยนเครื่องมือด้วยเครื่องพิมพ์ MM ของชุดดันเส้นหลายตัว" + +msgid "Dependencies" +msgstr "การพึ่งพาอาศัยกัน" + +msgid "Compatible printers" +msgstr "เครื่องพิมพ์ที่เข้ากันได้" + +msgid "Compatible process profiles" +msgstr "โปรไฟล์กระบวนการที่เข้ากันได้" + +msgid "Printable space" +msgstr "พื้นที่ที่สามารถพิมพ์ได้" + +#. TRN: The first argument is the parameter's name; the second argument is its value. +#, possible-boost-format +msgid "Invalid value provided for parameter %1%: %2%" +msgstr "ค่าที่ระบุสำหรับพารามิเตอร์ %1% ไม่ถูกต้อง: %2%" + +msgid "G-code flavor is switched" +msgstr "รสชาติ G-code ถูกเปลี่ยน" + +msgid "Cooling Fan" +msgstr "พัดลมระบายความร้อน" + +msgid "Fan speed-up time" +msgstr "เวลาเร่งความเร็วของพัดลม" + +msgid "Extruder Clearance" +msgstr "การกวาดล้างชุดดันเส้น" + +msgid "Adaptive bed mesh" +msgstr "ตาข่ายฐานพิมพ์ปรับได้" + +msgid "Accessory" +msgstr "อุปกรณ์เสริม" + +msgid "Machine G-code" +msgstr "เครื่องจีโค้ด" + +msgid "File header G-code" +msgstr "ส่วนหัวของไฟล์ G-code" + +msgid "Machine start G-code" +msgstr "เครื่องสตาร์ท G-code" + +msgid "Machine end G-code" +msgstr "G-code ปลายเครื่อง" + +msgid "Printing by object G-code" +msgstr "การพิมพ์ด้วยวัตถุ G-code" + +msgid "Before layer change G-code" +msgstr "ก่อนเลเยอร์เปลี่ยน G-code" + +msgid "Layer change G-code" +msgstr "เลเยอร์เปลี่ยนรหัส G" + +msgid "Timelapse G-code" +msgstr "G-code ไทม์แลปส์" + +msgid "Clumping Detection G-code" +msgstr "G-code การตรวจจับการจับตัวเป็นก้อน" + +msgid "Change filament G-code" +msgstr "เปลี่ยนเส้นพลาสติก G-code" + +msgid "Pause G-code" +msgstr "หยุดรหัส G ชั่วคราว" + +msgid "Template Custom G-code" +msgstr "เทมเพลต G-code ที่กำหนดเอง" + +msgid "Motion ability" +msgstr "ความสามารถในการเคลื่อนไหว" + +msgid "Normal" +msgstr "ปกติ" + +msgid "Resonance Compensation" +msgstr "การชดเชยเสียงสะท้อน" + +msgid "Resonance Avoidance Speed" +msgstr "ความเร็วการหลีกเลี่ยงเสียงสะท้อน" + +msgid "Frequency" +msgstr "ความถี่" + +msgid "" +"The frequency of the anti-vibration signal will correspond to the natural " +"frequency of the frame." +msgstr "ความถี่ของสัญญาณป้องกันการสั่นสะเทือนจะสอดคล้องกับความถี่ธรรมชาติของเฟรม" + +msgid "Damping" +msgstr "การทำให้หมาด ๆ" + +msgid "Damping ratio for the input shaping filter." +msgstr "อัตราส่วนการหน่วงสำหรับตัวกรองการปรับรูปร่างอินพุต" + +msgid "Speed limitation" +msgstr "การจำกัดความเร็ว" + +msgid "Acceleration limitation" +msgstr "ข้อจำกัดในการเร่งความเร็ว" + +msgid "Jerk limitation" +msgstr "ข้อจำกัดของการกระตุก" + +msgid "Single extruder multi-material setup" +msgstr "การตั้งค่าวัสดุหลายชุดดันเส้นเดี่ยว" + +msgid "Number of extruders of the printer." +msgstr "จำนวนชุดดันเส้นของเครื่องพิมพ์" + +msgid "" +"Single Extruder Multi Material is selected,\n" +"and all extruders must have the same diameter.\n" +"Do you want to change the diameter for all extruders to first extruder " +"nozzle diameter value?" +msgstr "เลือกวัสดุหลายชุดดันเส้นเดี่ยว\nและชุดดันเส้นทั้งหมดจะต้องมีเส้นผ่านศูนย์กลางเท่ากัน\nคุณต้องการเปลี่ยนเส้นผ่านศูนย์กลางสำหรับชุดดันเส้นทั้งหมดเป็นค่าเส้นผ่านศูนย์กลางหัวฉีดของชุดดันเส้นตัวแรกหรือไม่?" + +msgid "Nozzle diameter" +msgstr "เส้นผ่านศูนย์กลางหัวฉีด" + +msgid "Wipe tower" +msgstr "ทาวเวอร์เช็ดหัวฉีด" + +msgid "Single extruder multi-material parameters" +msgstr "พารามิเตอร์วัสดุหลายชุดดันเส้นเดี่ยว" + +msgid "" +"This is a single extruder multi-material printer, diameters of all extruders " +"will be set to the new value. Do you want to proceed?" +msgstr "นี่คือเครื่องพิมพ์หลายวัสดุที่ใช้ชุดดันเส้นเดี่ยว โดยเส้นผ่านศูนย์กลางของชุดดันเส้นทั้งหมดจะถูกตั้งค่าเป็นค่าใหม่ คุณต้องการดำเนินการต่อหรือไม่?" + +msgid "Layer height limits" +msgstr "การจำกัดความสูงของเลเยอร์" + +msgid "Z-Hop" +msgstr "ยกแกน Z" + +msgid "Retraction when switching material" +msgstr "การร่นกลับเมื่อเปลี่ยนวัสดุ" + +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 "ตัวเลือก Wipe จะไม่สามารถใช้งานได้เมื่อใช้โหมดการถอนเฟิร์มแวร์\n\nฉันควรปิดการใช้งานเพื่อเปิดใช้งานการถอนเฟิร์มแวร์หรือไม่" + +msgid "Firmware Retraction" +msgstr "การเพิกถอนเฟิร์มแวร์" + +msgid "" +"Switching to a printer with different extruder types or numbers will discard " +"or reset changes to extruder or multi-nozzle-related parameters." +msgstr "การเปลี่ยนไปใช้เครื่องพิมพ์ที่มีประเภทหรือหมายเลขชุดดันเส้นที่แตกต่างกันจะยกเลิกหรือรีเซ็ตการเปลี่ยนแปลงในชุดดันเส้นหรือพารามิเตอร์ที่เกี่ยวข้องกับหัวฉีดหลายตัว" + +msgid "Use Modified Value" +msgstr "ใช้ค่าที่แก้ไข" + +msgid "Detached" +msgstr "เดี่ยว" + +#, possible-c-format, possible-boost-format +msgid "" +"%d Filament Preset and %d Process Preset is attached to this printer. Those " +"presets would be deleted if the printer is deleted." +msgstr "%d เส้นพลาสติก Preset และ %d Process Preset ถูกแนบไปกับเครื่องพิมพ์นี้ ค่าที่ตั้งล่วงหน้าเหล่านั้นจะถูกลบหากเครื่องพิมพ์ถูกลบ" + +msgid "Presets inherited by other presets cannot be deleted!" +msgstr "ค่าที่ตั้งล่วงหน้าที่สืบทอดมาจากค่าที่ตั้งล่วงหน้าอื่นไม่สามารถลบได้!" + +msgid "The following presets inherit this preset." +msgid_plural "The following preset inherits this preset." +msgstr[0] "พรีเซ็ตต่อไปนี้สืบทอดจากพรีเซ็ตนี้" + +#. TRN Remove/Delete +#, possible-boost-format +msgid "%1% Preset" +msgstr "%1% ที่ตั้งไว้ล่วงหน้า" + +msgid "Following preset will be deleted too." +msgid_plural "Following presets will be deleted too." +msgstr[0] "พรีเซ็ตต่อไปนี้จะถูกลบด้วย" + +msgid "" +"Are you sure to delete the selected preset?\n" +"If the preset corresponds to a filament currently in use on your printer, " +"please reset the filament information for that slot." +msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบค่าที่ตั้งล่วงหน้าที่เลือกไว้\nหากค่าที่ตั้งไว้ล่วงหน้าสอดคล้องกับเส้นพลาสติกที่ใช้งานอยู่ในเครื่องพิมพ์ของคุณ โปรดรีเซ็ตข้อมูลเส้นพลาสติกสำหรับช่องนั้น" + +#, possible-boost-format +msgid "Are you sure to %1% the selected preset?" +msgstr "คุณแน่ใจหรือว่า %1% เป็นค่าที่ตั้งล่วงหน้าที่เลือกไว้" + +#, possible-c-format, possible-boost-format +msgid "" +" - %s:\n" +" %s first layer %d %s, other layers %d %s\n" +" %s max delta %d %s, current delta %d %s\n" +msgstr "- %s:\n %s ชั้นแรก %d %s, ชั้นอื่นๆ %d %s\n %s เดลต้าสูงสุด %d %s เดลต้าปัจจุบัน %d %s\n" + +msgid "" +"Some first-layer and other-layer temperature pairs exceed safety limits.\n" +msgstr "คู่อุณหภูมิชั้นหนึ่งและชั้นอื่นๆ บางคู่เกินขีดจำกัดความปลอดภัย\n" + +msgid "" +"\n" +"Invalid pairs:\n" +msgstr "\nคู่ที่ไม่ถูกต้อง:\n" + +msgid "" +"\n" +"You can go back to edit values, or continue if this is intentional." +msgstr "\nคุณสามารถกลับไปแก้ไขค่าหรือดำเนินการต่อได้หากตั้งใจ" + +msgid "" +"\n" +"\n" +"Continue anyway?" +msgstr "\nดำเนินการต่อหรือไม่?" + +msgid "Temperature Safety Check" +msgstr "การตรวจสอบความปลอดภัยของอุณหภูมิ" + +msgid "Continue" +msgstr "ดำเนินการต่อ" + +msgid "Back" +msgstr "ย้อนกลับ" + +msgid "Don't warn again for this preset" +msgstr "ไม่ต้องเตือนอีกสำหรับค่าที่กำหนดล่วงหน้านี้" + +#, possible-c-format, possible-boost-format +msgid "Left: %s" +msgstr "ซ้าย: %s" + +#, possible-c-format, possible-boost-format +msgid "Right: %s" +msgstr "ขวา: %s" + +msgid "Click to reset current value and attach to the global value." +msgstr "คลิกเพื่อรีเซ็ตค่าปัจจุบันและแนบไปกับค่าส่วนกลาง" + +msgid "Click to drop current modify and reset to saved value." +msgstr "คลิกเพื่อยกเลิกการแก้ไขปัจจุบันและรีเซ็ตเป็นค่าที่บันทึกไว้" + +msgid "Process Settings" +msgstr "การตั้งค่ากระบวนการ" + +msgid "Undef" +msgstr "ไม่กำหนด" + +msgid "Unsaved Changes" +msgstr "การเปลี่ยนแปลงที่ไม่ได้บันทึก" + +msgid "Transfer or discard changes" +msgstr "โอนหรือละทิ้งการเปลี่ยนแปลง" + +msgid "Old Value" +msgstr "ค่าเก่า" + +msgid "New Value" +msgstr "คุณค่าใหม่" + +msgid "Transfer" +msgstr "โอนย้าย" + +msgid "Don't save" +msgstr "อย่าบันทึก" + +msgid "Discard" +msgstr "ทิ้ง" + +msgid "the new profile" +msgstr "โปรไฟล์ใหม่" + +#, possible-boost-format +msgid "" +"Switch to\n" +"\"%1%\"\n" +"discarding any changes made in\n" +"\"%2%\"." +msgstr "เปลี่ยนไปที่\n\"%1%\"\nละทิ้งการเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นใน\n\"%2%\"" + +#, possible-boost-format +msgid "" +"All \"New Value\" settings modified in\n" +"\"%1%\"\n" +"will be transferred to\n" +"\"%2%\"." +msgstr "มีการแก้ไขการตั้งค่า \"ค่าใหม่\" ทั้งหมด\n\"%1%\"\nจะถูกโอนไปที่\n\"%2%\"" + +#, possible-boost-format +msgid "" +"All \"New Value\" settings are saved in\n" +"\"%1%\"\n" +"and \"%2%\" will open without any changes." +msgstr "การตั้งค่า \"ค่าใหม่\" ทั้งหมดจะถูกบันทึกไว้ใน\n\"%1%\"\nและ \"%2%\" จะเปิดขึ้นโดยไม่มีการเปลี่ยนแปลงใดๆ" + +msgid "Click the right mouse button to display the full text." +msgstr "คลิกปุ่มเมาส์ขวาเพื่อแสดงข้อความทั้งหมด" + +msgid "All changes will not be saved" +msgstr "การเปลี่ยนแปลงทั้งหมดจะไม่ถูกบันทึก" + +msgid "All changes will be discarded." +msgstr "การเปลี่ยนแปลงทั้งหมดจะถูกยกเลิก" + +msgid "Save the selected options." +msgstr "บันทึกตัวเลือกที่เลือก" + +msgid "Keep the selected options." +msgstr "เก็บตัวเลือกที่เลือกไว้" + +msgid "Transfer the selected options to the newly selected preset." +msgstr "ถ่ายโอนตัวเลือกที่เลือกไปยังค่าที่ตั้งล่วงหน้าที่เลือกใหม่" + +#, possible-boost-format +msgid "" +"Save the selected options to preset \n" +"\"%1%\"." +msgstr "บันทึกตัวเลือกที่เลือกเพื่อตั้งค่าล่วงหน้า \n\"%1%\"" + +#, possible-boost-format +msgid "" +"Transfer the selected options to the newly selected preset \n" +"\"%1%\"." +msgstr "ถ่ายโอนตัวเลือกที่เลือกไปยังค่าที่ตั้งล่วงหน้าที่เลือกใหม่ \n\"%1%\"" + +#, possible-boost-format +msgid "Preset \"%1%\" contains the following unsaved changes:" +msgstr "ค่าที่ตั้งไว้ล่วงหน้า \"%1%\" มีการเปลี่ยนแปลงที่ยังไม่ได้บันทึกต่อไปนี้:" + +#, possible-boost-format +msgid "" +"Preset \"%1%\" is not compatible with the new printer profile and it " +"contains the following unsaved changes:" +msgstr "ค่าที่ตั้งไว้ล่วงหน้า \"%1%\" เข้ากันไม่ได้กับโปรไฟล์เครื่องพิมพ์ใหม่ และประกอบด้วยการเปลี่ยนแปลงที่ยังไม่ได้บันทึกต่อไปนี้:" + +#, possible-boost-format +msgid "" +"Preset \"%1%\" is not compatible with the new process profile and it " +"contains the following unsaved changes:" +msgstr "ค่าที่ตั้งไว้ล่วงหน้า \"%1%\" เข้ากันไม่ได้กับโปรไฟล์กระบวนการใหม่ และประกอบด้วยการเปลี่ยนแปลงที่ยังไม่ได้บันทึกต่อไปนี้:" + +#, possible-boost-format +msgid "You have changed some settings of preset \"%1%\"." +msgstr "คุณได้เปลี่ยนแปลงการตั้งค่าบางอย่างของพรีเซ็ต \"%1%\"" + +msgid "" +"\n" +"You can save or discard the preset values you have modified." +msgstr "\nคุณสามารถบันทึกหรือละทิ้งค่าที่ตั้งไว้ล่วงหน้าที่คุณได้แก้ไขได้" + +msgid "" +"\n" +"You can save or discard the preset values you have modified, or choose to " +"transfer the values you have modified to the new preset." +msgstr "\nคุณสามารถบันทึกหรือละทิ้งค่าที่ตั้งไว้ล่วงหน้าที่คุณได้แก้ไข หรือเลือกที่จะถ่ายโอนค่าที่คุณได้แก้ไขไปยังค่าที่ตั้งไว้ล่วงหน้าใหม่" + +msgid "You have previously modified your settings." +msgstr "คุณได้แก้ไขการตั้งค่าของคุณก่อนหน้านี้" + +msgid "" +"\n" +"You can discard the preset values you have modified, or choose to transfer " +"the modified values to the new project" +msgstr "\nคุณสามารถละทิ้งค่าที่ตั้งไว้ล่วงหน้าที่คุณได้แก้ไข หรือเลือกที่จะถ่ายโอนค่าที่แก้ไขไปยังโปรเจ็กต์ใหม่" + +msgid "Extruder count" +msgstr "จำนวนชุดดันเส้น" + +msgid "Capabilities" +msgstr "ความสามารถ" + +msgid "Show all presets (including incompatible)" +msgstr "แสดงค่าที่ตั้งล่วงหน้าทั้งหมด (รวมทั้งเข้ากันไม่ได้)" + +msgid "Select presets to compare" +msgstr "เลือกค่าที่ตั้งล่วงหน้าเพื่อเปรียบเทียบ" + +msgid "Left Preset Value" +msgstr "ค่าที่ตั้งไว้ล่วงหน้าด้านซ้าย" + +msgid "Right Preset Value" +msgstr "ค่าที่ตั้งไว้ทางขวา" + +msgid "" +"You can only transfer to current active profile because it has been modified." +msgstr "คุณสามารถถ่ายโอนไปยังโปรไฟล์ที่ใช้งานปัจจุบันได้เท่านั้นเนื่องจากมีการแก้ไข" + +msgid "" +"Transfer the selected options from left preset to the right.\n" +"Note: New modified presets will be selected in settings tabs after close " +"this dialog." +msgstr "ถ่ายโอนตัวเลือกที่เลือกจากค่าที่ตั้งล่วงหน้าด้านซ้ายไปทางด้านขวา\nหมายเหตุ: ค่าที่ตั้งล่วงหน้าที่แก้ไขใหม่จะถูกเลือกในแท็บการตั้งค่าหลังจากปิดกล่องโต้ตอบนี้" + +msgid "Transfer values from left to right" +msgstr "โอนค่าจากซ้ายไปขวา" + +msgid "" +"If enabled, this dialog can be used for transfer selected values from left " +"to right preset." +msgstr "หากเปิดใช้งาน กล่องโต้ตอบนี้สามารถใช้เพื่อโอนค่าที่เลือกจากค่าที่ตั้งไว้ล่วงหน้าจากซ้ายไปขวาได้" + +msgid "Add File" +msgstr "เพิ่มไฟล์" + +msgid "Set as cover" +msgstr "ตั้งเป็นปก" + +msgid "Cover" +msgstr "ปิดบัง" + +#, possible-boost-format +msgid "The name \"%1%\" already exists." +msgstr "มีชื่อ \"%1%\" อยู่แล้ว" + +msgid "Basic Info" +msgstr "ข้อมูลพื้นฐาน" + +msgid "Pictures" +msgstr "รูปภาพ" + +msgid "Bill of Materials" +msgstr "รายการวัสดุ" + +msgid "Assembly Guide" +msgstr "คู่มือการประกอบ" + +msgid "Author" +msgstr "ผู้เขียน" + +msgid "Model Name" +msgstr "ชื่อรุ่น" + +msgid "Description:" +msgstr "คำอธิบาย:" + +#, possible-c-format, possible-boost-format +msgid "%s Update" +msgstr "อัปเดต %s" + +msgid "A new version is available" +msgstr "มีเวอร์ชันใหม่ให้ใช้งานแล้ว" + +msgid "Configuration update" +msgstr "อัพเดตการกำหนดค่า" + +msgid "A new configuration package is available. Do you want to install it?" +msgstr "มีแพ็คเกจการกำหนดค่าใหม่ให้ใช้งาน คุณต้องการติดตั้งหรือไม่?" + +msgid "the configuration package is incompatible with the current application." +msgstr "แพ็คเกจการกำหนดค่าเข้ากันไม่ได้กับแอปพลิเคชันปัจจุบัน" + +#, possible-c-format, possible-boost-format +msgid "" +"The configuration package is incompatible with the current application.\n" +"%s will update the configuration package to allow the application to start." +msgstr "แพคเกจการกำหนดค่าเข้ากันไม่ได้กับแอปพลิเคชันปัจจุบัน\n%s จะอัปเดตแพ็คเกจการกำหนดค่าเพื่อให้แอปพลิเคชันเริ่มทำงานได้" + +#, possible-c-format, possible-boost-format +msgid "Exit %s" +msgstr "ออกจาก %s" + +msgid "Configuration updates" +msgstr "อัพเดตการกำหนดค่า" + +msgid "No updates available." +msgstr "ไม่มีการอัปเดต" + +msgid "The configuration is up to date." +msgstr "การกำหนดค่าเป็นข้อมูลล่าสุด" + +msgid "OBJ file import color" +msgstr "สีการนำเข้าไฟล์ OBJ" + +msgid "Some faces don't have color defined." +msgstr "ผิวหน้าบางส่วนไม่ได้กำหนดสี" + +msgid "MTL file exist error, could not find the material:" +msgstr "มีข้อผิดพลาดในไฟล์ MTL ไม่พบเนื้อหา:" + +msgid "Please check OBJ or MTL file." +msgstr "โปรดตรวจสอบไฟล์ OBJ หรือ MTL" + +msgid "Specify number of colors:" +msgstr "ระบุจำนวนสี:" + +msgid "Enter or click the adjustment button to modify number again" +msgstr "ป้อนหรือคลิกปุ่มปรับเพื่อแก้ไขตัวเลขอีกครั้ง" + +msgid "Recommended " +msgstr "ที่แนะนำ" + +msgid "view" +msgstr "ดู" + +msgid "Current filament colors" +msgstr "สีเส้นพลาสติกในปัจจุบัน" + +msgid "Matching" +msgstr "การจับคู่" + +msgid "Quick set" +msgstr "ตั้งค่าด่วน" + +msgid "Color match" +msgstr "การจับคู่สี" + +msgid "Approximate color matching." +msgstr "การจับคู่สีโดยประมาณ" + +msgid "Append" +msgstr "ผนวก" + +msgid "Append to existing filaments" +msgstr "ผนวกเข้ากับเส้นพลาสติกที่มีอยู่" + +msgid "Reset mapped extruders." +msgstr "รีเซ็ตชุดดันเส้นที่แมป" + +msgid "Note" +msgstr "หมายเหตุ" + +msgid "" +"The color has been selected, you can choose OK \n" +" to continue or manually adjust it." +msgstr "เลือกสีแล้ว คุณสามารถเลือกตกลงได้ \n เพื่อดำเนินการต่อหรือปรับเปลี่ยนด้วยตนเอง" + +msgid "—> " +msgstr "—> " + +msgid "" +"Synchronizing AMS filaments will discard your modified but unsaved filament " +"presets.\n" +"Are you sure you want to continue?" +msgstr "การซิงโครไนซ์ฟิลาเมนต์ AMS จะละทิ้งค่าที่ตั้งไว้ล่วงหน้าของฟิลาเมนต์ที่ได้รับการแก้ไขแต่ไม่ได้บันทึกไว้\nคุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?" +msgctxt "Sync_AMS" + +msgid "Original" +msgstr "ต้นฉบับ" + +msgid "After mapping" +msgstr "หลังจากทำแผนที่แล้ว" + +msgid "After overwriting" +msgstr "หลังจากเขียนทับแล้ว" +msgctxt "Sync_AMS" + +msgid "Plate" +msgstr "ฐานพิมพ์" + +msgid "" +"The connected printer does not match the currently selected printer. Please " +"change the selected printer." +msgstr "เครื่องพิมพ์ที่เชื่อมต่อไม่ตรงกับเครื่องพิมพ์ที่เลือกในปัจจุบัน กรุณาเปลี่ยนเครื่องพิมพ์ที่เลือก" + +msgid "Mapping" +msgstr "การทำแผนที่" + +msgid "Overwriting" +msgstr "การเขียนทับ" + +msgid "Reset all filament mapping" +msgstr "รีเซ็ตการแมปเส้นพลาสติกทั้งหมด" + +msgid "Left Extruder" +msgstr "ชุดดันเส้นซ้าย" + +msgid "(Recommended filament)" +msgstr "(เส้นพลาสติกแนะนำ)" + +msgid "Right Extruder" +msgstr "ชุดดันเส้นขวา" + +msgid "Advanced Options" +msgstr "ตัวเลือกขั้นสูง" + +msgid "" +"Check heatbed flatness. Leveling makes extruded height uniform.\n" +"*Automatic mode: Level first (about 10 seconds). Skip if surface is fine." +msgstr "ตรวจสอบความเรียบของฐานพิมพ์ การปรับระดับทำให้ความสูงที่อัดออกมาสม่ำเสมอ\n*โหมดอัตโนมัติ: ระดับแรก (ประมาณ 10 วินาที) ข้ามไปหากพื้นผิวดี" + +msgid "" +"Calibrate nozzle offsets to enhance print quality.\n" +"*Automatic mode: Check for calibration before printing; skip if unnecessary." +msgstr "ปรับเทียบออฟเซ็ตหัวฉีดเพื่อปรับปรุงคุณภาพการพิมพ์\n*โหมดอัตโนมัติ: ตรวจสอบการปรับเทียบก่อนพิมพ์ ข้ามหากไม่จำเป็น" + +msgid "Use AMS" +msgstr "ใช้ AMS" + +msgid "Tip" +msgstr "เคล็ดลับ" + +msgid "" +"Only synchronize filament type and color, not including AMS slot information." +msgstr "ซิงโครไนซ์ประเภทเส้นพลาสติกและสีเท่านั้น ไม่รวมข้อมูลสล็อต AMS" + +msgid "" +"Replace the project filaments list sequentially based on printer filaments. " +"And unused printer filaments will be automatically added to the end of the " +"list." +msgstr "แทนที่รายการเส้นพลาสติกของโครงการตามลำดับตามเส้นพลาสติกของเครื่องพิมพ์ และเส้นพลาสติกเครื่องพิมพ์ที่ไม่ได้ใช้จะถูกเพิ่มเข้าที่ส่วนท้ายของรายการโดยอัตโนมัติ" + +msgid "Advanced settings" +msgstr "การตั้งค่าขั้นสูง" + +msgid "Add unused AMS filaments to filaments list." +msgstr "เพิ่มเส้นพลาสติก AMS ที่ไม่ได้ใช้ลงในรายการเส้นพลาสติก" + +msgid "Automatically merge the same colors in the model after mapping." +msgstr "ผสานสีเดียวกันในโมเดลโดยอัตโนมัติหลังจากการแมป" + +msgid "After being synced, this action cannot be undone." +msgstr "หลังจากซิงค์แล้ว การดำเนินการนี้ไม่สามารถยกเลิกได้" + +msgid "" +"After being synced, the project's filament presets and colors will be " +"replaced with the mapped filament types and colors. This action cannot be " +"undone." +msgstr "หลังจากที่ซิงค์แล้ว ค่าที่ตั้งไว้ล่วงหน้าของเส้นพลาสติกและสีของโปรเจ็กต์จะถูกแทนที่ด้วยประเภทและสีของเส้นพลาสติกที่แมปไว้ การดำเนินการนี้ไม่สามารถยกเลิกได้" + +msgid "Are you sure to synchronize the filaments?" +msgstr "คุณแน่ใจหรือว่าซิงโครไนซ์เส้นพลาสติก?" + +msgid "Synchronize now" +msgstr "ซิงโครไนซ์ทันที" + +msgid "Synchronize Filament Information" +msgstr "ประสานข้อมูลเส้นพลาสติก" + +msgid "Add unused filaments to filaments list." +msgstr "เพิ่มเส้นพลาสติกที่ไม่ได้ใช้ลงในรายการเส้นพลาสติก" + +msgid "" +"Only synchronize filament type and color, not including slot information." +msgstr "ซิงโครไนซ์ประเภทเส้นพลาสติกและสีเท่านั้น ไม่รวมข้อมูลช่อง" + +msgid "Ext spool" +msgstr "สปูลต่อ" + +msgid "" +"Please check whether the nozzle type of the device is the same as the preset " +"nozzle type." +msgstr "โปรดตรวจสอบว่าประเภทหัวฉีดของอุปกรณ์เหมือนกับประเภทหัวฉีดที่ตั้งไว้ล่วงหน้าหรือไม่" + +msgid "Storage is not available or is in read-only mode." +msgstr "พื้นที่เก็บข้อมูลไม่พร้อมใช้งานหรืออยู่ในโหมดอ่านอย่างเดียว" + +#, possible-c-format, possible-boost-format +msgid "" +"The selected printer (%s) is incompatible with the chosen printer profile in " +"the slicer (%s)." +msgstr "เครื่องพิมพ์ที่เลือก (%s) เข้ากันไม่ได้กับโปรไฟล์เครื่องพิมพ์ที่เลือกในตัวแบ่งส่วนข้อมูล (%s)" + +msgid "" +"Timelapse is not supported because Print sequence is set to \"By object\"." +msgstr "ไม่รองรับไทม์แลปส์เนื่องจากลำดับการพิมพ์ถูกตั้งค่าเป็น \"ตามวัตถุ\"" + +msgid "" +"You selected external and AMS filament at the same time in an extruder, you " +"will need manually change external filament." +msgstr "คุณเลือกเส้นพลาสติกภายนอกและเส้นพลาสติก AMS พร้อมกันในชุดดันเส้น คุณจะต้องเปลี่ยนเส้นพลาสติกภายนอกด้วยตนเอง" + +msgid "Successfully synchronized nozzle information." +msgstr "ซิงโครไนซ์ข้อมูลหัวฉีดสำเร็จแล้ว" + +msgid "Successfully synchronized nozzle and AMS number information." +msgstr "ซิงโครไนซ์ข้อมูลหัวฉีดและหมายเลข AMS เรียบร้อยแล้ว" + +msgid "Continue to sync filaments" +msgstr "ทำการซิงค์ฟิลาเมนต์ต่อไป" +msgctxt "Sync_Nozzle_AMS" + +msgid "Cancel" +msgstr "ยกเลิก" + +msgid "Successfully synchronized filament color from printer." +msgstr "ซิงโครไนซ์สีฟิลาเมนต์จากเครื่องพิมพ์สำเร็จแล้ว" + +msgid "Successfully synchronized color and type of filament from printer." +msgstr "ซิงโครไนซ์สีและประเภทของฟิลาเมนท์จากเครื่องพิมพ์สำเร็จแล้ว" +msgctxt "FinishSyncAms" + +msgid "OK" +msgstr "ตกลง" + +msgid "Ramming customization" +msgstr "การปรับแต่งการกระแทก" + +msgid "" +"Ramming denotes the rapid extrusion just before a tool change in a single-" +"extruder MM printer. Its purpose is to properly shape the end of the " +"unloaded filament so it does not prevent insertion of the new filament and " +"can itself be reinserted later. This phase is important and different " +"materials can require different extrusion speeds to get the good shape. For " +"this reason, the extrusion rates during ramming are adjustable.\n" +"\n" +"This is an expert-level setting, incorrect adjustment will likely lead to " +"jams, extruder wheel grinding into filament etc." +msgstr "การชนหมายถึงการอัดขึ้นรูปอย่างรวดเร็วก่อนการเปลี่ยนเครื่องมือในเครื่องพิมพ์ MM แบบชุดดันเส้นเดี่ยว จุดประสงค์คือเพื่อจัดรูปทรงส่วนปลายของเส้นพลาสติกที่ไม่ได้บรรจุอย่างเหมาะสม เพื่อไม่ให้ป้องกันการใส่เส้นพลาสติกใหม่และสามารถใส่กลับเข้าไปใหม่ได้ในภายหลัง ขั้นตอนนี้มีความสำคัญ และวัสดุที่แตกต่างกันอาจต้องใช้ความเร็วการอัดขึ้นรูปที่แตกต่างกันเพื่อให้ได้รูปร่างที่ดี ด้วยเหตุนี้ อัตราการอัดขึ้นรูประหว่างการชนจึงสามารถปรับได้\n\nนี่เป็นการตั้งค่าระดับผู้เชี่ยวชาญ การปรับที่ไม่ถูกต้องอาจทำให้เกิดการติดขัด ล้อชุดดันเส้นบดเป็นเส้นพลาสติก ฯลฯ" + +#, possible-boost-format +msgid "For constant flow rate, hold %1% while dragging." +msgstr "สำหรับอัตราการไหลคงที่ ให้กด %1% ค้างไว้ขณะลาก" + +msgid "ms" +msgstr "มิลลิวินาที" + +msgid "Total ramming" +msgstr "การชนทั้งหมด" + +msgid "Volume" +msgstr "ปริมาณ" + +msgid "Ramming line" +msgstr "เส้นราม" + +msgid "" +"Orca would re-calculate your flushing volumes everytime the filaments color " +"changed or filaments changed. You could disable the auto-calculate in Orca " +"Slicer > Preferences" +msgstr "Orca จะคำนวณปริมาตรการไล่เส้นของคุณใหม่ทุกครั้งที่สีเส้นพลาสติกเปลี่ยนไปหรือเส้นพลาสติกเปลี่ยนไป คุณสามารถปิดการใช้งานการคำนวณอัตโนมัติใน Orca Slicer > การตั้งค่า" + +msgid "Flushing volume (mm³) for each filament pair." +msgstr "ปริมาณการไล่เส้นชิ่ง (มม.) สำหรับคู่เส้นพลาสติกแต่ละคู่" + +#, possible-c-format, possible-boost-format +msgid "Suggestion: Flushing Volume in range [%d, %d]" +msgstr "คำแนะนำ: ปริมาณการไล่เส้นชิ่งในช่วง [%d, %d]" + +#, possible-c-format, possible-boost-format +msgid "The multiplier should be in range [%.2f, %.2f]." +msgstr "ตัวคูณควรอยู่ในช่วง [%.2f, %.2f]" + +msgid "Re-calculate" +msgstr "คำนวณใหม่" + +msgid "Left extruder" +msgstr "ชุดดันเส้นซ้าย" + +msgid "Right extruder" +msgstr "ชุดดันเส้นขวา" + +msgid "Multiplier" +msgstr "ตัวคูณ" + +msgid "Flushing volumes for filament change" +msgstr "ปริมาณการไล่เส้นชิ่งสำหรับการเปลี่ยนเส้นพลาสติก" + +msgid "Please choose the filament colour" +msgstr "กรุณาเลือกสีเส้นพลาสติก" + +msgid "" +"Native Wayland liveview requires the GStreamer GTK video sink. Please " +"install the gtksink plugin for GStreamer, then restart OrcaSlicer." +msgstr "Native Wayland liveview ต้องใช้ GStreamer GTK video sink โปรดติดตั้งปลั๊กอิน gtksink สำหรับ GStreamer จากนั้นรีสตาร์ท OrcaSlicer" + +msgid "" +"Failed to initialize the native Wayland GStreamer video sink. Please check " +"your GStreamer GTK plugin installation." +msgstr "ไม่สามารถเริ่มต้น sink วิดีโอ Wayland GStreamer ดั้งเดิมได้ โปรดตรวจสอบการติดตั้งปลั๊กอิน GStreamer GTK ของคุณ" + +msgid "" +"Windows Media Player is required for this task! Do you want to enable " +"'Windows Media Player' for your operation system?" +msgstr "งานนี้ต้องใช้ Windows Media Player! คุณต้องการเปิดใช้งาน 'Windows Media Player' สำหรับระบบปฏิบัติการของคุณหรือไม่?" + +msgid "" +"BambuSource has not correctly been registered for media playing! Press Yes " +"to re-register it. You will be promoted twice" +msgstr "BambuSource ยังไม่ได้รับการลงทะเบียนอย่างถูกต้องสำหรับการเล่นสื่อ! กดใช่เพื่อลงทะเบียนใหม่ คุณจะได้รับการเลื่อนตำแหน่งสองครั้ง" + +msgid "" +"Missing BambuSource component registered for media playing! Please re-" +"install OrcaSlicer or seek community help." +msgstr "ไม่มีส่วนประกอบ BambuSource ที่ลงทะเบียนสำหรับการเล่นสื่อ! โปรดติดตั้ง OrcaSlicer ใหม่หรือขอความช่วยเหลือจากชุมชน" + +msgid "" +"Using a BambuSource from a different install, video play may not work " +"correctly! Press Yes to fix it." +msgstr "การใช้ BambuSource จากการติดตั้งอื่น การเล่นวิดีโออาจทำงานไม่ถูกต้อง! กดใช่เพื่อแก้ไข" + +msgid "" +"Your system is missing H.264 codecs for GStreamer, which are required to " +"play video. (Try installing the gstreamer1.0-plugins-bad or gstreamer1.0-" +"libav packages, then restart Orca Slicer?)" +msgstr "ระบบของคุณไม่มีตัวแปลงสัญญาณ H.264 สำหรับ GStreamer ซึ่งจำเป็นในการเล่นวิดีโอ (ลองติดตั้งแพ็คเกจ gstreamer1.0-plugins-bad หรือ gstreamer1.0-libav จากนั้นรีสตาร์ท Orca Slicer หรือไม่)" + +msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." +msgstr "ตัวแทนระบบคลาวด์ไม่พร้อมใช้งาน โปรดรีสตาร์ท OrcaSlicer แล้วลองอีกครั้ง" + +msgid "Bambu Network plug-in not detected." +msgstr "ตรวจไม่พบปลั๊กอิน Bambu Network" + +msgid "Click here to download it." +msgstr "คลิกที่นี่เพื่อดาวน์โหลด" + +msgid "Login" +msgstr "เข้าสู่ระบบ" + +msgid "Login failed. Please try again." +msgstr "การเข้าสู่ระบบล้มเหลว โปรดลองอีกครั้ง" + +msgid "[Action Required] " +msgstr "[ต้องดำเนินการ]" + +msgid "[Action Required]" +msgstr "[ต้องดำเนินการ]" + +msgid "The configuration package is changed in previous Config Guide" +msgstr "แพ็คเกจการกำหนดค่ามีการเปลี่ยนแปลงใน Config Guide ก่อนหน้า" + +msgid "Configuration package changed" +msgstr "แพ็คเกจการกำหนดค่ามีการเปลี่ยนแปลง" + +msgid "Toolbar" +msgstr "แถบเครื่องมือ" + +msgid "Objects list" +msgstr "รายการวัตถุ" + +msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files" +msgstr "นำเข้าข้อมูลเรขาคณิตจากไฟล์ STL/STEP/3MF/OBJ/AMF" + +msgid "Paste from clipboard" +msgstr "วางจากคลิปบอร์ด" + +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "แสดง/ซ่อนกล่องโต้ตอบการตั้งค่าอุปกรณ์ 3Dconnexion" + +msgid "Switch table page" +msgstr "สลับหน้าตาราง" + +msgid "Show keyboard shortcuts list" +msgstr "แสดงรายการแป้นพิมพ์ลัด" + +msgid "Global shortcuts" +msgstr "ทางลัดทั่วโลก" + +msgid "Pan View" +msgstr "แพนวิว" + +msgid "Rotate View" +msgstr "หมุนมุมมอง" + +msgid "Middle mouse button" +msgstr "ปุ่มกลางของเมาส์" + +msgid "Zoom View" +msgstr "ซูมดู" + +msgid "" +"Auto orients selected objects or all objects. If there are selected objects, " +"it just orients the selected ones. Otherwise, it will orient all objects in " +"the current project." +msgstr "ปรับทิศทางวัตถุที่เลือกหรือวัตถุทั้งหมดโดยอัตโนมัติ หากมีวัตถุที่เลือกไว้ วัตถุนั้นจะปรับทิศทางวัตถุที่เลือกเท่านั้น มิฉะนั้นจะวางแนววัตถุทั้งหมดในโปรเจ็กต์ปัจจุบัน" + +msgid "Auto orients all objects on the active plate." +msgstr "ปรับทิศทางวัตถุทั้งหมดบนเพลตที่ใช้งานอยู่โดยอัตโนมัติ" + +msgid "Collapse/Expand the sidebar" +msgstr "ยุบ/ขยายแถบด้านข้าง" + +msgid "Any arrow" +msgstr "ลูกศรอะไรก็ได้" + +msgid "Movement in camera space" +msgstr "การเคลื่อนไหวในพื้นที่กล้อง" + +msgid "Select a part" +msgstr "เลือกส่วนหนึ่ง" + +msgid "Select multiple objects" +msgstr "เลือกหลายวัตถุ" + +msgid "Select objects by rectangle" +msgstr "เลือกวัตถุตามสี่เหลี่ยม" + +msgid "Arrow Up" +msgstr "ลูกศรขึ้น" + +msgid "Move selection 10 mm in positive Y direction" +msgstr "เลื่อนส่วนที่เลือกไป 10 มม. ในทิศทางบวก Y" + +msgid "Arrow Down" +msgstr "ลูกศรลง" + +msgid "Move selection 10 mm in negative Y direction" +msgstr "ย้ายส่วนที่เลือกไป 10 มม. ในทิศทางลบ Y" + +msgid "Arrow Left" +msgstr "ลูกศรซ้าย" + +msgid "Move selection 10 mm in negative X direction" +msgstr "ย้ายส่วนที่เลือกไป 10 มม. ในทิศทาง X ลบ" + +msgid "Arrow Right" +msgstr "ลูกศรขวา" + +msgid "Move selection 10 mm in positive X direction" +msgstr "เลื่อนส่วนที่เลือกไป 10 มม. ในทิศทาง X บวก" + +msgid "Movement step set to 1 mm" +msgstr "สเต็ปการเคลื่อนไหวตั้งไว้ที่ 1 มม" + +msgid "Keyboard 1-9: set filament for object/part" +msgstr "แป้นพิมพ์ 1-9: ตั้งค่าเส้นพลาสติกสำหรับวัตถุ/ชิ้นส่วน" + +msgid "Camera view - Default" +msgstr "มุมมองกล้อง - ค่าเริ่มต้น" + +msgid "Camera view - Top" +msgstr "มุมมองกล้อง - ด้านบน" + +msgid "Camera view - Bottom" +msgstr "มุมมองกล้อง - ด้านล่าง" + +msgid "Camera view - Front" +msgstr "มุมมองกล้อง - ด้านหน้า" + +msgid "Camera view - Behind" +msgstr "มุมมองกล้อง - ด้านหลัง" + +msgid "Camera Angle - Left side" +msgstr "มุมกล้อง - ด้านซ้าย" + +msgid "Camera Angle - Right side" +msgstr "มุมกล้อง - ด้านขวา" + +msgid "Select all objects" +msgstr "เลือกวัตถุทั้งหมด" + +msgid "Gizmo move" +msgstr "กิสโม่ย้าย" + +msgid "Gizmo rotate" +msgstr "กิสโม่หมุน" + +msgid "Gizmo scale" +msgstr "ขนาดกิสโม่" + +msgid "Gizmo place face on bed" +msgstr "กิสโมวางหน้าบนฐานพิมพ์" + +msgid "Gizmo cut" +msgstr "กิสโม่ตัด" + +msgid "Gizmo mesh boolean" +msgstr "Gizmo mesh บูลีน" + +msgid "Gizmo FDM paint-on fuzzy skin" +msgstr "Gizmo FDM เพ้นท์บนผิวที่คลุมเครือ" + +msgid "Gizmo SLA support points" +msgstr "จุดส่วนรองรับ Gizmo SLA" + +msgid "Gizmo FDM paint-on seam" +msgstr "รอยตะเข็บทาสี Gizmo FDM" + +msgid "Gizmo text emboss/engrave" +msgstr "ข้อความ Gizmo นูน/แกะสลัก" + +msgid "Gizmo measure" +msgstr "เครื่องวัดกิสโม่" + +msgid "Gizmo assemble" +msgstr "กิสโมประกอบ" + +msgid "Gizmo brim ears" +msgstr "กิสโม่ขอบหู" + +msgid "Zoom in" +msgstr "ซูมเข้า" + +msgid "Zoom out" +msgstr "ซูมออก" + +msgid "Toggle printable for object/part" +msgstr "สลับการพิมพ์สำหรับวัตถุ/ชิ้นส่วน" + +msgid "Switch between Prepare/Preview" +msgstr "สลับระหว่างการเตรียม/ดูตัวอย่าง" + +msgid "Plater" +msgstr "เพลเตอร์" + +msgid "Move: press to snap by 1mm" +msgstr "ย้าย: กดเพื่อสแน็ป 1 มม" + +msgid "Support/Color Painting: adjust pen radius" +msgstr "ส่วนรองรับ / การวาดภาพสี: ปรับรัศมีปากกา" + +msgid "Support/Color Painting: adjust section position" +msgstr "ส่วนรองรับ / การวาดภาพสี: ปรับตำแหน่งส่วน" + +msgid "Gizmo" +msgstr "กิสโม่" + +msgid "Set extruder number for the objects and parts" +msgstr "กำหนดหมายเลขชุดดันเส้นสำหรับวัตถุและชิ้นส่วน" + +msgid "Delete objects, parts, modifiers" +msgstr "ลบวัตถุ ชิ้นส่วน ตัวดัดแปลง" + +msgid "Select the object/part and press space to change the name" +msgstr "เลือกวัตถุ/ชิ้นส่วนแล้วกด Space เพื่อเปลี่ยนชื่อ" + +msgid "Mouse click" +msgstr "คลิกเมาส์" + +msgid "Select the object/part and mouse click to change the name" +msgstr "เลือกวัตถุ/ชิ้นส่วนแล้วคลิกเมาส์เพื่อเปลี่ยนชื่อ" + +msgid "Objects List" +msgstr "รายการวัตถุ" + +msgid "Vertical slider - Move active thumb Up" +msgstr "แถบเลื่อนแนวตั้ง - เลื่อนนิ้วโป้งที่ใช้งานอยู่ขึ้น" + +msgid "Vertical slider - Move active thumb Down" +msgstr "แถบเลื่อนแนวตั้ง - เลื่อนนิ้วโป้งที่ใช้งานอยู่ลง" + +msgid "Horizontal slider - Move active thumb Left" +msgstr "แถบเลื่อนแนวนอน - เลื่อนนิ้วหัวแม่มือที่ใช้งานไปทางซ้าย" + +msgid "Horizontal slider - Move active thumb Right" +msgstr "แถบเลื่อนแนวนอน - เลื่อนนิ้วหัวแม่มือที่ใช้งานไปทางขวา" + +msgid "On/Off one layer mode of the vertical slider" +msgstr "เปิด/ปิดโหมดเลเยอร์เดียวของแถบเลื่อนแนวตั้ง" + +msgid "On/Off G-code window" +msgstr "เปิด/ปิดหน้าต่างรหัส G" + +msgid "Move slider 5x faster" +msgstr "เลื่อนตัวเลื่อนเร็วขึ้น 5 เท่า" + +msgid "Horizontal slider - Move to start position" +msgstr "แถบเลื่อนแนวนอน - เลื่อนไปยังตำแหน่งเริ่มต้น" + +msgid "Horizontal slider - Move to last position" +msgstr "แถบเลื่อนแนวนอน - เลื่อนไปยังตำแหน่งสุดท้าย" + +msgid "Release Note" +msgstr "บันทึกประจำรุ่น" + +#, possible-c-format, possible-boost-format +msgid "version %s update information:" +msgstr "ข้อมูลการอัปเดตเวอร์ชัน %s:" + +msgid "Network plug-in update" +msgstr "การอัปเดตปลั๊กอินเครือข่าย" + +msgid "" +"Click OK to update the Network plug-in when Orca Slicer launches next time." +msgstr "คลิกตกลงเพื่ออัปเดตปลั๊กอินเครือข่ายเมื่อ Orca Slicer เปิดตัวในครั้งถัดไป" + +#, possible-c-format, possible-boost-format +msgid "A new Network plug-in (%s) is available. Do you want to install it?" +msgstr "มีปลั๊กอินเครือข่ายใหม่ (%s) พร้อมใช้งานแล้ว คุณต้องการติดตั้งหรือไม่?" + +msgid "New version of Orca Slicer" +msgstr "Orca Slicer เวอร์ชันใหม่" + +msgid "Check on Github" +msgstr "ตรวจสอบบน Github" + +msgid "Skip this Version" +msgstr "ข้ามเวอร์ชันนี้" + +msgid "Confirm and Update Nozzle" +msgstr "ยืนยันและอัปเดตหัวฉีด" + +msgid "Connect the printer using IP and access code" +msgstr "เชื่อมต่อเครื่องพิมพ์โดยใช้ IP และรหัสการเข้าถึง" + +msgid "" +"Try the following methods to update the connection parameters and reconnect " +"to the printer." +msgstr "ลองวิธีการต่อไปนี้เพื่ออัพเดตพารามิเตอร์การเชื่อมต่อและเชื่อมต่อกับเครื่องพิมพ์อีกครั้ง" + +msgid "1. Please confirm Orca Slicer and your printer are in the same LAN." +msgstr "1. โปรดยืนยันว่า Orca Slicer และเครื่องพิมพ์ของคุณอยู่ใน LAN เดียวกัน" + +msgid "" +"2. If the IP and Access Code below are different from the actual values on " +"your printer, please correct them." +msgstr "2. หาก IP และรหัสการเข้าถึงด้านล่างแตกต่างจากค่าจริงบนเครื่องพิมพ์ของคุณ โปรดแก้ไขให้ถูกต้อง" + +msgid "" +"3. Please obtain the device SN from the printer side; it is usually found in " +"the device information on the printer screen." +msgstr "3. โปรดรับอุปกรณ์ SN จากฝั่งเครื่องพิมพ์ มักจะพบในข้อมูลอุปกรณ์บนหน้าจอเครื่องพิมพ์" + +msgid "IP" +msgstr "ไอพี" + +msgid "Access Code" +msgstr "รหัสการเข้าถึง" + +msgid "Printer model" +msgstr "รุ่นเครื่องพิมพ์" + +msgid "Printer name" +msgstr "ชื่อเครื่องพิมพ์" + +msgid "Where to find your printer's IP and Access Code?" +msgstr "จะค้นหา IP และรหัสการเข้าถึงเครื่องพิมพ์ของคุณได้ที่ไหน" + +msgid "Connect" +msgstr "เชื่อมต่อ" + +msgid "Manual Setup" +msgstr "การตั้งค่าด้วยตนเอง" + +msgid "IP and Access Code Verified! You may close the window" +msgstr "ตรวจสอบ IP และรหัสการเข้าถึงแล้ว! คุณสามารถปิดหน้าต่างได้" + +msgid "connecting..." +msgstr "กำลังเชื่อมต่อ..." + +msgid "Failed to connect to printer." +msgstr "ไม่สามารถเชื่อมต่อกับเครื่องพิมพ์ได้" + +msgid "Failed to publish login request." +msgstr "ไม่สามารถเผยแพร่คำขอเข้าสู่ระบบได้" + +msgid "The printer has already been bound." +msgstr "เครื่องพิมพ์ถูกผูกไว้แล้ว" + +msgid "The printer mode is incorrect, please switch to LAN Only." +msgstr "โหมดเครื่องพิมพ์ไม่ถูกต้อง โปรดเปลี่ยนไปใช้ LAN เท่านั้น" + +msgid "Connecting to printer... The dialog will close later" +msgstr "กำลังเชื่อมต่อกับเครื่องพิมพ์... กล่องโต้ตอบจะปิดในภายหลัง" + +msgid "Connection failed, please double check IP and Access Code" +msgstr "การเชื่อมต่อล้มเหลว โปรดตรวจสอบ IP และรหัสการเข้าถึงอีกครั้ง" + +msgid "" +"Connection failed! If your IP and Access Code is correct, \n" +"please move to step 3 for troubleshooting network issues" +msgstr "การเชื่อมต่อล้มเหลว! หาก IP และรหัสการเข้าถึงของคุณถูกต้อง \nโปรดย้ายไปยังขั้นตอนที่ 3 เพื่อแก้ไขปัญหาเครือข่าย" + +msgid "Connection failed! Please refer to the wiki page." +msgstr "การเชื่อมต่อล้มเหลว! โปรดดูที่หน้าวิกิ" + +msgid "sending failed" +msgstr "การส่งล้มเหลว" + +msgid "" +"Failed to send. Click Retry to attempt sending again. If retrying does not " +"work, please check the reason." +msgstr "ไม่สามารถส่งได้ คลิกลองอีกครั้งเพื่อพยายามส่งอีกครั้ง หากการลองใหม่ไม่ได้ผล โปรดตรวจสอบสาเหตุ" + +msgid "reconnect" +msgstr "เชื่อมต่อใหม่" + +msgid "Air Pump" +msgstr "ปั๊มลม" + +msgid "Laser 10W" +msgstr "เลเซอร์ 10W" + +msgid "Laser 40W" +msgstr "เลเซอร์ 40W" + +msgid "Cutting Module" +msgstr "โมดูลการตัด" + +msgid "Auto Fire Extinguishing System" +msgstr "ระบบดับเพลิงอัตโนมัติ" + +msgid "Update firmware" +msgstr "อัพเดตเฟิร์มแวร์" + +msgid "Beta version" +msgstr "รุ่นเบต้า" + +msgid "Updating" +msgstr "กำลังอัปเดต" + +msgid "Update failed" +msgstr "การอัปเดตล้มเหลว" + +msgid "Update successful" +msgstr "อัปเดตสำเร็จ" + +msgid "" +"Are you sure you want to update? This will take about 10 minutes. Do not " +"turn off the power while the printer is updating." +msgstr "คุณแน่ใจหรือไม่ว่าต้องการอัปเดต การดำเนินการนี้จะใช้เวลาประมาณ 10 นาที อย่าปิดเครื่องในขณะที่เครื่องพิมพ์กำลังอัปเดต" + +msgid "" +"An important update was detected and needs to be run before printing can " +"continue. Do you want to update now? You can also update later from 'Upgrade " +"firmware'." +msgstr "ตรวจพบการอัปเดตที่สำคัญและจำเป็นต้องดำเนินการก่อนจึงจะสามารถพิมพ์ต่อได้ คุณต้องการอัปเดตตอนนี้หรือไม่? คุณสามารถอัปเดตภายหลังได้จาก 'อัปเกรดเฟิร์มแวร์'" + +msgid "" +"The firmware version is abnormal. Repairing and updating are required before " +"printing. Do you want to update now? You can also update later on printer or " +"update next time starting Orca." +msgstr "เวอร์ชันเฟิร์มแวร์ผิดปกติ จำเป็นต้องซ่อมแซมและอัปเดตก่อนพิมพ์ คุณต้องการอัปเดตตอนนี้หรือไม่? คุณยังสามารถอัปเดตในภายหลังบนเครื่องพิมพ์หรืออัปเดตในครั้งถัดไปโดยเริ่มตั้งแต่ Orca" + +msgid "Extension Board" +msgstr "คณะกรรมการขยาย" + +#, possible-boost-format +msgid "Split into %1% parts" +msgstr "แบ่งออกเป็น %1% ส่วน" + +msgid "Repair finished" +msgstr "ซ่อมเสร็จแล้ว" + +msgid "Repair failed" +msgstr "ซ่อมล้มเหลว" + +msgid "Repair canceled" +msgstr "ยกเลิกการซ่อมแล้ว" + +#, possible-boost-format +msgid "Copying of file %1% to %2% failed: %3%" +msgstr "การคัดลอกไฟล์ %1% ถึง %2% ล้มเหลว: %3%" + +msgid "Need to check the unsaved changes before configuration updates." +msgstr "จำเป็นต้องตรวจสอบการเปลี่ยนแปลงที่ยังไม่ได้บันทึกก่อนอัปเดตการกำหนดค่า" + +msgid "Configuration package: " +msgstr "แพคเกจการกำหนดค่า:" + +msgid " updated to " +msgstr "อัปเดตเป็น" + +msgid "Open G-code file:" +msgstr "เปิดไฟล์ G-code:" + +msgid "" +"One object has an empty first layer and can't be printed. Please Cut the " +"bottom or enable supports." +msgstr "วัตถุหนึ่งมีชั้นแรกว่างเปล่าและไม่สามารถพิมพ์ได้ กรุณาตัดด้านล่างหรือเปิดใช้งานส่วนรองรับ" + +#, possible-boost-format +msgid "Object can't be printed for empty layer between %1% and %2%." +msgstr "ไม่สามารถพิมพ์วัตถุสำหรับเลเยอร์ว่างระหว่าง %1% ถึง %2%" + +#, possible-boost-format +msgid "Object: %1%" +msgstr "วัตถุ: %1%" + +msgid "" +"Maybe parts of the object at these height are too thin, or the object has " +"faulty mesh" +msgstr "บางทีบางส่วนของวัตถุที่ความสูงเหล่านี้บางเกินไป หรือวัตถุนั้นมีตาข่ายที่ผิดพลาด" + +msgid "Process change extrusion role G-code" +msgstr "กระบวนการเปลี่ยนบทบาทการอัดขึ้นรูป G-code" + +msgid "Filament change extrusion role G-code" +msgstr "เส้นพลาสติกเปลี่ยนบทบาทการอัดขึ้นรูป G-code" + +msgid "No object can be printed. Maybe too small" +msgstr "ไม่สามารถพิมพ์วัตถุได้ อาจจะเล็กเกินไป" + +msgid "" +"Your print is very close to the priming regions. Make sure there is no " +"collision." +msgstr "งานพิมพ์ของคุณอยู่ใกล้กับบริเวณรองพื้นมาก ตรวจสอบให้แน่ใจว่าไม่มีการชนกัน" + +msgid "" +"Failed to generate G-code for invalid custom G-code.\n" +"\n" +msgstr "ไม่สามารถสร้าง G-code สำหรับ G-code ที่กำหนดเองที่ไม่ถูกต้อง\n" + +msgid "Please check the custom G-code or use the default custom G-code." +msgstr "โปรดตรวจสอบรหัส G ที่กำหนดเองหรือใช้รหัส G ที่กำหนดเองเริ่มต้น" + +#, possible-boost-format +msgid "Generating G-code: layer %1%" +msgstr "กำลังสร้างรหัส G: เลเยอร์ %1%" + +msgid "Flush volumes matrix do not match to the correct size!" +msgstr "เมทริกซ์ไล่เส้นวอลุ่มไม่ตรงกับขนาดที่ถูกต้อง!" + +msgid "set_accel_and_jerk() is only supported by Klipper" +msgstr "set_accel_and_jerk() รองรับโดย Klipper เท่านั้น" + +msgid "" +"Input shaping is not supported by Marlin < 2.1.2.\n" +"Check your firmware version and update your G-code flavor to ´Marlin 2´" +msgstr "Marlin < 2.1.2 ไม่รองรับการสร้างรูปร่างอินพุต\nตรวจสอบเวอร์ชันเฟิร์มแวร์ของคุณและอัปเดตรสชาติ G-code ของคุณเป็น 'Marlin 2'" + +msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2" +msgstr "รูปร่างอินพุตรองรับเฉพาะ Klipper, RepRapFirmware และ Marlin 2 เท่านั้น" + +msgid "Grouping error: " +msgstr "ข้อผิดพลาดในการจัดกลุ่ม:" + +msgid " can not be placed in the " +msgstr "ไม่สามารถวางใน" + +msgid "Internal Bridge" +msgstr "สะพานภายใน" + +#, possible-boost-format +msgid "Failed to calculate line width of %1%. Cannot get value of \"%2%\" " +msgstr "ไม่สามารถคำนวณความกว้างของเส้น %1% ไม่สามารถรับค่า \"%2%\"" + +msgid "" +"Invalid spacing supplied to Flow::with_spacing(), check your layer height " +"and extrusion width" +msgstr "การเว้นวรรคที่ให้กับ Flow::with_spacing() ไม่ถูกต้อง โปรดตรวจสอบความสูงของเลเยอร์และความกว้างของการอัดขึ้นรูป" + +msgid "undefined error" +msgstr "ข้อผิดพลาดที่ไม่ได้กำหนด" + +msgid "too many files" +msgstr "มีไฟล์มากเกินไป" + +msgid "file too large" +msgstr "ไฟล์ใหญ่เกินไป" + +msgid "unsupported method" +msgstr "วิธีการที่ไม่รองรับ" + +msgid "unsupported encryption" +msgstr "การเข้ารหัสที่ไม่รองรับ" + +msgid "unsupported feature" +msgstr "คุณสมบัติที่ไม่รองรับ" + +msgid "failed finding central directory" +msgstr "ล้มเหลวในการค้นหาไดเรกทอรีกลาง" + +msgid "not a ZIP archive" +msgstr "ไม่ใช่ไฟล์ ZIP" + +msgid "invalid header or corrupted" +msgstr "ส่วนหัวไม่ถูกต้องหรือเสียหาย" + +msgid "unsupported multidisk" +msgstr "มัลติดิสก์ที่ไม่รองรับ" + +msgid "decompression failed" +msgstr "การบีบอัดล้มเหลว" + +msgid "compression failed" +msgstr "การบีบอัดล้มเหลว" + +msgid "unexpected decompressed size" +msgstr "ขนาดที่แตกไฟล์ที่ไม่คาดคิด" + +msgid "CRC check failed" +msgstr "การตรวจสอบ CRC ล้มเหลว" + +msgid "unsupported central directory size" +msgstr "ขนาดไดเรกทอรีกลางที่ไม่รองรับ" + +msgid "allocation failed" +msgstr "การจัดสรรล้มเหลว" + +msgid "file open failed" +msgstr "การเปิดไฟล์ล้มเหลว" + +msgid "file create failed" +msgstr "การสร้างไฟล์ล้มเหลว" + +msgid "file write failed" +msgstr "การเขียนไฟล์ล้มเหลว" + +msgid "file read failed" +msgstr "การอ่านไฟล์ล้มเหลว" + +msgid "file close failed" +msgstr "การปิดไฟล์ล้มเหลว" + +msgid "file seek failed" +msgstr "การค้นหาไฟล์ล้มเหลว" + +msgid "file stat failed" +msgstr "สถิติไฟล์ล้มเหลว" + +msgid "invalid parameter" +msgstr "พารามิเตอร์ไม่ถูกต้อง" + +msgid "invalid filename" +msgstr "ชื่อไฟล์ไม่ถูกต้อง" + +msgid "buffer too small" +msgstr "บัฟเฟอร์เล็กเกินไป" + +msgid "internal error" +msgstr "ข้อผิดพลาดภายใน" + +msgid "file not found" +msgstr "ไม่พบไฟล์" + +msgid "archive too large" +msgstr "ไฟล์เก็บถาวรมีขนาดใหญ่เกินไป" + +msgid "validation failed" +msgstr "การตรวจสอบล้มเหลว" + +msgid "write callback failed" +msgstr "การเขียนการโทรกลับล้มเหลว" + +#, possible-boost-format +msgid "" +"%1% is too close to exclusion area, there may be collisions when printing." +msgstr "%1% อยู่ใกล้พื้นที่แยกมากเกินไป อาจเกิดการชนกันเมื่อพิมพ์" + +#, possible-boost-format +msgid "%1% is too close to others, and collisions may be caused." +msgstr "%1% อยู่ใกล้ผู้อื่นมากเกินไป และอาจเกิดการชนกันได้" + +#, possible-boost-format +msgid "%1% is too tall, and collisions will be caused." +msgstr "%1% สูงเกินไป และจะเกิดการชนกัน" + +msgid " is too close to exclusion area, there may be collisions when printing." +msgstr "อยู่ใกล้พื้นที่แยกมากเกินไป อาจเกิดการชนกันเมื่อพิมพ์" + +msgid "" +" is too close to clumping detection area, there may be collisions when " +"printing." +msgstr "อยู่ใกล้พื้นที่การตรวจจับการจับตัวกันมากเกินไป อาจเกิดการชนกันเมื่อพิมพ์" + +msgid "Prime Tower" +msgstr "ทาวเวอร์ไล่เส้น" + +msgid " is too close to others, and collisions may be caused.\n" +msgstr "อยู่ใกล้ผู้อื่นมากเกินไปและอาจเกิดการชนได้\n" + +msgid " is too close to exclusion area, and collisions will be caused.\n" +msgstr "อยู่ใกล้เขตหวงห้ามมากเกินไปจะเกิดการชนกัน\n" + +msgid "" +" is too close to clumping detection area, and collisions will be caused.\n" +msgstr "อยู่ใกล้พื้นที่การตรวจจับการจับตัวกันมากเกินไป และจะเกิดการชนกัน\n" + +msgid "" +"Selected nozzle temperatures are incompatible. Each filament's nozzle " +"temperature must fall within the recommended nozzle temperature range of the " +"other filaments. Otherwise, nozzle clogging or printer damage may occur." +msgstr "อุณหภูมิหัวฉีดที่เลือกเข้ากันไม่ได้ อุณหภูมิหัวฉีดของเส้นพลาสติกแต่ละเส้นต้องอยู่ในช่วงอุณหภูมิหัวฉีดที่แนะนำของเส้นพลาสติกอื่นๆ มิฉะนั้นอาจเกิดการอุดตันของหัวฉีดหรือเครื่องพิมพ์เสียหายได้" + +msgid "" +"Invalid recommended nozzle temperature range. The lower bound must be lower " +"than the upper bound." +msgstr "ช่วงอุณหภูมิหัวฉีดที่แนะนำไม่ถูกต้อง ขอบเขตล่างจะต้องต่ำกว่าขอบเขตบน" + +msgid "" +"If you still want to print, you can enable the option in Preferences / " +"Control / Slicing / Remove mixed temperature restriction." +msgstr "หากคุณยังต้องการพิมพ์ คุณสามารถเปิดใช้งานตัวเลือกในการตั้งค่า / การควบคุม / การตัด / ลบข้อจำกัดอุณหภูมิแบบผสมได้" + +msgid "No extrusions under current settings." +msgstr "ไม่มีการอัดขึ้นรูปภายใต้การตั้งค่าปัจจุบัน" + +msgid "" +"Smooth mode of timelapse is not supported when \"by object\" sequence is " +"enabled." +msgstr "ไม่รองรับโหมดไทม์แลปส์แบบราบรื่นเมื่อเปิดใช้งานลำดับ \"ตามวัตถุ\"" + +msgid "" +"Clumping detection is not supported when \"by object\" sequence is enabled." +msgstr "ไม่รองรับการตรวจจับการจับกันเป็นก้อนเมื่อเปิดใช้งานลำดับ \"ตามวัตถุ\"" + +msgid "" +"Enabling both precise Z height and the prime tower may cause slicing errors." +msgstr "การเปิดใช้งานทั้งความสูง Z ที่แม่นยำและหอคอยหลักอาจทำให้เกิดข้อผิดพลาดในการแบ่งส่วน" + +msgid "" +"A prime tower is required for clumping detection; otherwise, there may be " +"flaws on the model." +msgstr "จำเป็นต้องใช้หอคอยหลักในการตรวจจับการจับกันเป็นก้อน มิฉะนั้นอาจมีข้อบกพร่องในแบบจำลอง" + +msgid "" +"Please select \"By object\" print sequence to print multiple objects in " +"spiral vase mode." +msgstr "โปรดเลือกลำดับการพิมพ์ \"ตามวัตถุ\" เพื่อพิมพ์วัตถุหลายชิ้นในโหมดแจกันเกลียว" + +msgid "" +"The spiral vase mode does not work when an object contains more than one " +"materials." +msgstr "โหมดแจกันเกลียวจะไม่ทำงานเมื่อวัตถุมีวัสดุมากกว่าหนึ่งชนิด" + +#, possible-boost-format +msgid "" +"While the object %1% itself fits the build volume, it exceeds the maximum " +"build volume height because of material shrinkage compensation." +msgstr "แม้ว่าวัตถุ %1% จะพอดีกับปริมาตรการสร้าง แต่วัตถุนั้นเกินความสูงของปริมาตรการสร้างสูงสุดเนื่องจากการชดเชยการหดตัวของวัสดุ" + +#, possible-boost-format +msgid "The object %1% exceeds the maximum build volume height." +msgstr "วัตถุ %1% เกินความสูงของปริมาตรบิลด์สูงสุด" + +#, possible-boost-format +msgid "" +"While the object %1% itself fits the build volume, its last layer exceeds " +"the maximum build volume height." +msgstr "แม้ว่าออบเจ็กต์ %1% จะพอดีกับปริมาณการสร้าง แต่เลเยอร์สุดท้ายก็เกินความสูงของปริมาตรการสร้างสูงสุด" + +msgid "" +"You might want to reduce the size of your model or change current print " +"settings and retry." +msgstr "คุณอาจต้องการลดขนาดแบบจำลองของคุณหรือเปลี่ยนการตั้งค่าการพิมพ์ปัจจุบันแล้วลองอีกครั้ง" + +msgid "Variable layer height is not supported with Organic supports." +msgstr "ไม่รองรับความสูงของเลเยอร์ที่แปรผันได้ด้วยการรองรับแบบออร์แกนิก" + +msgid "" +"Different nozzle diameters and different filament diameters may not work " +"well when the prime tower is enabled. It's very experimental, so please " +"proceed with caution." +msgstr "เส้นผ่านศูนย์กลางของหัวฉีดที่แตกต่างกันและเส้นผ่านศูนย์กลางของเส้นพลาสติกที่แตกต่างกันอาจทำงานได้ไม่ดีนักเมื่อเปิดใช้งานไพรม์ทาวเวอร์ ยังเป็นการทดลองอยู่มาก ดังนั้นโปรดดำเนินการด้วยความระมัดระวัง" + +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "ขณะนี้ Wipe Tower รองรับการกำหนดที่อยู่ของชุดดันเส้นแบบสัมพันธ์เท่านั้น (use_relative_e_distances=1)" + +msgid "" +"Ooze prevention is only supported with the wipe tower when " +"'single_extruder_multi_material' is off." +msgstr "รองรับการป้องกันน้ำซึมด้วยหอเช็ดเมื่อปิด 'single_extruder_multi_material' เท่านั้น" + +msgid "" +"The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " +"RepRapFirmware and Repetier G-code flavors." +msgstr "ขณะนี้ไพรม์ทาวเวอร์รองรับเฉพาะรสชาติ Marlin, RepRap/Sprinter, RepRapFirmware และ Repetier G-code เท่านั้น" + +msgid "The prime tower is not supported in \"By object\" print." +msgstr "ไม่รองรับไพรม์ทาวเวอร์ในการพิมพ์ \"ตามวัตถุ\"" + +msgid "" +"The prime tower is not supported when adaptive layer height is on. It " +"requires that all objects have the same layer height." +msgstr "ไม่รองรับไพรม์ทาวเวอร์เมื่อเปิดความสูงของเลเยอร์แบบปรับได้ กำหนดให้วัตถุทั้งหมดมีความสูงของชั้นเท่ากัน" + +msgid "" +"The prime tower requires \"support gap\" to be multiple of layer height." +msgstr "หอคอยหลักต้องมี \"ช่องว่างรองรับ\" เพื่อให้มีความสูงหลายชั้น" + +msgid "The prime tower requires that all objects have the same layer heights." +msgstr "หอคอยหลักกำหนดให้วัตถุทั้งหมดมีความสูงของชั้นเท่ากัน" + +msgid "" +"The prime tower requires that all objects are printed over the same number " +"of raft layers." +msgstr "หอคอยหลักกำหนดให้วัตถุทั้งหมดพิมพ์บนชั้นฐานรองชิ้นงานจำนวนเท่ากัน" + +msgid "" +"The prime tower is only supported for multiple objects if they are printed " +"with the same support_top_z_distance." +msgstr "ไพรม์ทาวเวอร์รองรับวัตถุหลายชิ้นเท่านั้นหากพิมพ์ด้วย support_top_z_distance เท่ากัน" + +msgid "" +"The prime tower requires that all objects are sliced with the same layer " +"heights." +msgstr "หอคอยหลักกำหนดให้วัตถุทั้งหมดถูกหั่นด้วยความสูงของชั้นเดียวกัน" + +msgid "" +"The prime tower is only supported if all objects have the same variable " +"layer height." +msgstr "ไพรม์ทาวเวอร์ได้รับส่วนรองรับก็ต่อเมื่อวัตถุทั้งหมดมีความสูงของเลเยอร์ที่แปรผันเท่ากัน" + +msgid "" +"One or more object were assigned an extruder that the printer does not have." +msgstr "วัตถุอย่างน้อยหนึ่งชิ้นถูกกำหนดให้เป็นชุดดันเส้นที่เครื่องพิมพ์ไม่มี" + +msgid "Too small line width" +msgstr "ความกว้างของเส้นเล็กเกินไป" + +msgid "Too large line width" +msgstr "ความกว้างของเส้นใหญ่เกินไป" + +msgid "" +"Printing with multiple extruders of differing nozzle diameters. If support " +"is to be printed with the current filament (support_filament == 0 or " +"support_interface_filament == 0), all nozzles have to be of the same " +"diameter." +msgstr "การพิมพ์ด้วยชุดดันเส้นหลายเครื่องที่มีเส้นผ่านศูนย์กลางหัวฉีดต่างกัน หากจะพิมพ์ส่วนรองรับด้วยฟิลาเมนต์ปัจจุบัน (support_filament == 0 หรือ support_interface_filament == 0) หัวฉีดทั้งหมดจะต้องมีเส้นผ่านศูนย์กลางเท่ากัน" + +msgid "" +"The prime tower requires that support has the same layer height with object." +msgstr "หอคอยหลักต้องการให้ส่วนรองรับมีความสูงของชั้นเดียวกันกับวัตถุ" + +msgid "" +"For Organic supports, two walls are supported only with the Hollow/Default " +"base pattern." +msgstr "สำหรับการรองรับแบบออร์แกนิก ผนังทั้งสองได้รับการรองรับด้วยรูปแบบฐานกลวง/ค่าเริ่มต้นเท่านั้น" + +msgid "" +"The Lightning base pattern is not supported by this support type; " +"Rectilinear will be used instead." +msgstr "รูปแบบฐาน Lightning ไม่ได้รับส่วนรองรับโดยประเภทส่วนรองรับนี้ จะใช้เส้นตรงแทน" + +msgid "" +"Organic support tree tip diameter must not be smaller than support material " +"extrusion width." +msgstr "เส้นผ่านศูนย์กลางปลายของฐานรองรับแบบออร์แกนิกต้องไม่เล็กกว่าความกว้างของการอัดขึ้นรูปวัสดุรองรับ" + +msgid "" +"Organic support branch diameter must not be smaller than 2x support material " +"extrusion width." +msgstr "เส้นผ่านศูนย์กลางกิ่งรองรับออร์แกนิกต้องไม่เล็กกว่า 2x ความกว้างของการอัดขึ้นรูปวัสดุรองรับ" + +msgid "" +"Organic support branch diameter must not be smaller than support tree tip " +"diameter." +msgstr "เส้นผ่านศูนย์กลางกิ่งรองรับอินทรีย์ต้องไม่เล็กกว่าเส้นผ่านศูนย์กลางปลายต้นรองรับ" + +msgid "" +"The Hollow base pattern is not supported by this support type; Rectilinear " +"will be used instead." +msgstr "รูปแบบฐานกลวงไม่รองรับประเภทการรองรับนี้ จะใช้เส้นตรงแทน" + +msgid "" +"Support enforcers are used but support is not enabled. Please enable support." +msgstr "มีการใช้กำหนดส่วนรองรับ แต่ไม่ได้เปิดใช้งานส่วนรองรับ กรุณาเปิดใช้งานส่วนรองรับ" + +msgid "Layer height cannot exceed nozzle diameter." +msgstr "ความสูงของชั้นต้องไม่เกินเส้นผ่านศูนย์กลางหัวฉีด" + +msgid "" +"Relative extruder addressing requires resetting the extruder position at " +"each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to " +"layer_gcode." +msgstr "การระบุตำแหน่งชุดดันเส้นแบบสัมพันธ์จำเป็นต้องรีเซ็ตตำแหน่งชุดดันเส้นในแต่ละชั้น เพื่อป้องกันการสูญเสียความแม่นยำของจุดลอยตัว เพิ่ม \"G92 E0\" ลงใน layer_gcode" + +msgid "" +"\"G92 E0\" was found in before_layer_gcode, which is incompatible with " +"absolute extruder addressing." +msgstr "พบ \"G92 E0\" ใน before_layer_gcode ซึ่งเข้ากันไม่ได้กับการระบุที่อยู่ของชุดดันเส้นแบบสัมบูรณ์" + +msgid "" +"\"G92 E0\" was found in layer_gcode, which is incompatible with absolute " +"extruder addressing." +msgstr "พบ \"G92 E0\" ใน layer_gcode ซึ่งเข้ากันไม่ได้กับการกำหนดที่อยู่ของชุดดันเส้นแบบสัมบูรณ์" + +#, possible-c-format, possible-boost-format +msgid "Plate %d: %s does not support filament %s" +msgstr "ฐานพิมพ์ %d: %s ไม่รองรับเส้นพลาสติก %s" + +msgid "" +"Setting the jerk speed too low could lead to artifacts on curved surfaces" +msgstr "การตั้งค่าความเร็วกระตุกต่ำเกินไปอาจทำให้เกิดสิ่งแปลกปลอมบนพื้นผิวโค้งได้" + +msgid "" +"The jerk setting exceeds the printer's maximum jerk (machine_max_jerk_x/" +"machine_max_jerk_y).\n" +"Orca will automatically cap the jerk speed to ensure it doesn't surpass the " +"printer's capabilities.\n" +"You can adjust the maximum jerk setting in your printer's configuration to " +"get higher speeds." +msgstr "การตั้งค่าการกระตุกเกินการกระตุกสูงสุดของเครื่องพิมพ์ (machine_max_jerk_x/machine_max_jerk_y)\nOrca จะจำกัดความเร็วการกระตุกโดยอัตโนมัติเพื่อให้แน่ใจว่าจะไม่เกินความสามารถของเครื่องพิมพ์\nคุณสามารถปรับการตั้งค่าการกระตุกสูงสุดในการกำหนดค่าเครื่องพิมพ์ของคุณเพื่อให้ได้ความเร็วที่สูงขึ้น" + +msgid "" +"Junction deviation setting exceeds the printer's maximum value " +"(machine_max_junction_deviation).\n" +"Orca will automatically cap the junction deviation to ensure it doesn't " +"surpass the printer's capabilities.\n" +"You can adjust the machine_max_junction_deviation value in your printer's " +"configuration to get higher limits." +msgstr "การตั้งค่าส่วนเบี่ยงเบนของจุดเชื่อมต่อเกินค่าสูงสุดของเครื่องพิมพ์ (machine_max_junction_deviation)\nOrca จะจำกัดส่วนเบี่ยงเบนของจุดเชื่อมต่อโดยอัตโนมัติเพื่อให้แน่ใจว่าจะไม่เกินความสามารถของเครื่องพิมพ์\nคุณสามารถปรับค่า machine_max_junction_deviation ในการกำหนดค่าเครื่องพิมพ์ของคุณเพื่อให้ได้ขีดจำกัดที่สูงขึ้น" + +msgid "" +"The acceleration setting exceeds the printer's maximum acceleration " +"(machine_max_acceleration_extruding).\n" +"Orca will automatically cap the acceleration speed to ensure it doesn't " +"surpass the printer's capabilities.\n" +"You can adjust the machine_max_acceleration_extruding value in your " +"printer's configuration to get higher speeds." +msgstr "การตั้งค่าความเร่งเกินความเร่งสูงสุดของเครื่องพิมพ์ (machine_max_acceleration_extruding)\nOrca จะจำกัดความเร็วการเร่งความเร็วโดยอัตโนมัติเพื่อให้แน่ใจว่าจะไม่เกินความสามารถของเครื่องพิมพ์\nคุณสามารถปรับค่า machine_max_acceleration_extruding ในการกำหนดค่าเครื่องพิมพ์ของคุณเพื่อให้ได้ความเร็วที่สูงขึ้น" + +msgid "" +"The travel acceleration setting exceeds the printer's maximum travel " +"acceleration (machine_max_acceleration_travel).\n" +"Orca will automatically cap the travel acceleration speed to ensure it " +"doesn't surpass the printer's capabilities.\n" +"You can adjust the machine_max_acceleration_travel value in your printer's " +"configuration to get higher speeds." +msgstr "การตั้งค่าการเร่งความเร็วในการเดินทางเกินความเร็วการเคลื่อนที่สูงสุดของเครื่องพิมพ์ (machine_max_acceleration_travel)\nOrca จะจำกัดความเร็วในการเร่งความเร็วโดยอัตโนมัติเพื่อให้แน่ใจว่าจะไม่เกินความสามารถของเครื่องพิมพ์\nคุณสามารถปรับค่า machine_max_acceleration_travel ในการกำหนดค่าเครื่องพิมพ์ของคุณเพื่อให้ได้ความเร็วที่สูงขึ้น" + +msgid "" +"The precise wall option will be ignored for outer-inner or inner-outer-inner " +"wall sequences." +msgstr "ตัวเลือกผนังที่แม่นยำจะถูกละเว้นสำหรับลำดับผนังด้านนอก-ด้านใน หรือด้านใน-ด้านนอก-ด้านใน" + +msgid "" +"Filament shrinkage will not be used because filament shrinkage for the used " +"filaments does not match." +msgstr "การหดตัวของเส้นพลาสติกจะไม่ถูกนำมาใช้เนื่องจากการหดตัวของเส้นพลาสติกสำหรับเส้นพลาสติกที่ใช้ไม่ตรงกัน" + +msgid "Generating skirt & brim" +msgstr "กำลังสร้าง เส้นล้อมชิ้นงาน และ ขอบยึดชิ้นงาน" + +msgid "Exporting G-code" +msgstr "กำลังส่งออก G-code" + +msgid "Generating G-code" +msgstr "กำลังสร้าง G-code" + +msgid "Failed processing of the filename_format template." +msgstr "การประมวลผลเทมเพลต filename_format ล้มเหลว" + +msgid "Printer technology" +msgstr "เทคโนโลยีเครื่องพิมพ์" + +msgid "Printable area" +msgstr "พื้นที่ที่สามารถพิมพ์ได้" + +msgid "Extruder printable area" +msgstr "พื้นที่การพิมพ์ของชุดดันเส้น" + +msgid "Bed exclude area" +msgstr "ฐานพิมพ์ไม่รวมพื้นที่" + +msgid "" +"Unprintable area in XY plane. For example, X1 Series printers use the front " +"left corner to cut filament during filament change. The area is expressed as " +"polygon by points in following format: \"XxY, XxY, ...\"" +msgstr "พื้นที่ที่ไม่สามารถพิมพ์ได้ในระนาบ XY ตัวอย่างเช่น เครื่องพิมพ์ X1 ซีรีส์ใช้มุมซ้ายด้านหน้าเพื่อตัดเส้นพลาสติกระหว่างการเปลี่ยนเส้นพลาสติก พื้นที่จะแสดงเป็นรูปหลายเหลี่ยมตามจุดในรูปแบบต่อไปนี้: \"XxY, XxY, ...\"" + +msgid "Bed custom texture" +msgstr "พื้นผิวแบบกำหนดเองของฐานพิมพ์" + +msgid "Bed custom model" +msgstr "ฐานพิมพ์รุ่นสั่งทำพิเศษ" + +msgid "Elephant foot compensation" +msgstr "การชดเชยตีนช้าง" + +msgid "" +"Shrinks the first layer on build plate to compensate for elephant foot " +"effect." +msgstr "ย่อชั้นแรกบนฐานรองพิมพ์เพื่อชดเชยผลกระทบจากรอยตีนช้าง" + +msgid "Elephant foot compensation layers" +msgstr "ชั้นชดเชยตีนช้าง" + +msgid "" +"The number of layers on which the elephant foot compensation will be active. " +"The first layer will be shrunk by the elephant foot compensation value, then " +"the next layers will be linearly shrunk less, up to the layer indicated by " +"this value." +msgstr "จำนวนชั้นที่การชดเชยตีนช้างจะทำงาน ชั้นแรกจะหดตามค่าการชดเชยตีนช้าง จากนั้นชั้นถัดไปจะหดเป็นเส้นตรงน้อยลง จนถึงชั้นที่ระบุด้วยค่านี้" + +msgid "Elephant foot layers density" +msgstr "ความหนาแน่นของชั้นตีนช้าง" + +msgid "" +"Density of internal solid infill for Elephant foot layers compensation.\n" +"The initial value for the second layer is set.\n" +"Subsequent layers become linearly denser by the height specified in " +"elefant_foot_compensation_layers." +msgstr "ความหนาแน่นของวัสดุไส้ในแบบทึบภายในสำหรับการชดเชยชั้นตีนช้าง\nมีการตั้งค่าเริ่มต้นสำหรับเลเยอร์ที่สอง\nเลเยอร์ต่อมาจะมีความหนาแน่นเชิงเส้นมากขึ้นตามความสูงที่ระบุใน elefant_foot_compensation_layers" + +msgid "" +"Slicing height for each layer. Smaller layer height means more accurate and " +"more printing time." +msgstr "ความสูงของการตัดแต่ละชั้น ความสูงของชั้นที่เล็กลงหมายถึงความแม่นยำและเวลาในการพิมพ์ที่มากขึ้น" + +msgid "Printable height" +msgstr "ความสูงที่สามารถพิมพ์ได้" + +msgid "Maximum printable height which is limited by mechanism of printer." +msgstr "ความสูงสูงสุดที่สามารถพิมพ์ได้ซึ่งถูกจำกัดโดยกลไกของเครื่องพิมพ์" + +msgid "Extruder printable height" +msgstr "ความสูงที่สามารถพิมพ์ของชุดดันเส้นได้" + +msgid "" +"Maximum printable height of this extruder which is limited by mechanism of " +"printer." +msgstr "ความสูงสูงสุดที่สามารถพิมพ์ได้ของชุดดันเส้นนี้ซึ่งถูกจำกัดโดยกลไกของเครื่องพิมพ์" + +msgid "Preferred orientation" +msgstr "ปฐมนิเทศที่ต้องการ" + +msgid "Automatically orient STL files on the Z axis upon initial import." +msgstr "วางแนวไฟล์ STL บนแกน Z โดยอัตโนมัติเมื่อนำเข้าครั้งแรก" + +msgid "Printer preset names" +msgstr "ชื่อที่ตั้งไว้ล่วงหน้าของเครื่องพิมพ์" + +msgid "Use 3rd-party print host" +msgstr "ใช้โฮสต์การพิมพ์ของบุคคลที่สาม" + +msgid "Allow controlling BambuLab's printer through 3rd party print hosts." +msgstr "อนุญาตให้ควบคุมเครื่องพิมพ์ของ BambuLab ผ่านโฮสต์การพิมพ์ของบุคคลที่สาม" + +msgid "Printer Agent" +msgstr "ตัวแทนเครื่องพิมพ์" + +msgid "Select the network agent implementation for printer communication." +msgstr "เลือกการใช้งานตัวแทนเครือข่ายสำหรับการสื่อสารของเครื่องพิมพ์" + +msgid "Hostname, IP or URL" +msgstr "ชื่อโฮสต์, IP หรือ URL" + +msgid "" +"Orca Slicer can upload G-code files to a printer host. This field should " +"contain the hostname, IP address or URL of the printer host instance. Print " +"host behind HAProxy with basic auth enabled can be accessed by putting the " +"user name and password into the URL in the following format: https://" +"username:password@your-octopi-address/" +msgstr "Orca Slicer สามารถอัปโหลดไฟล์ G-code ไปยังโฮสต์เครื่องพิมพ์ได้ ฟิลด์นี้ควรมีชื่อโฮสต์ ที่อยู่ IP หรือ URL ของอินสแตนซ์โฮสต์ของเครื่องพิมพ์ โฮสต์การพิมพ์ที่อยู่เบื้องหลัง HAProxy ที่เปิดใช้งานการรับรองความถูกต้องขั้นพื้นฐานสามารถเข้าถึงได้โดยการใส่ชื่อผู้ใช้และรหัสผ่านลงใน URL ในรูปแบบต่อไปนี้: https://username:password@your-octopi-address/" + +msgid "Device UI" +msgstr "UI ของอุปกรณ์" + +msgid "" +"Specify the URL of your device user interface if it's not same as print_host." +msgstr "ระบุ URL ของอินเทอร์เฟซผู้ใช้อุปกรณ์ของคุณหากไม่เหมือนกับ print_host" + +msgid "API Key / Password" +msgstr "คีย์ API / รหัสผ่าน" + +msgid "" +"Orca Slicer can upload G-code files to a printer host. This field should " +"contain the API Key or the password required for authentication." +msgstr "Orca Slicer สามารถอัปโหลดไฟล์ G-code ไปยังโฮสต์เครื่องพิมพ์ได้ ฟิลด์นี้ควรมีคีย์ API หรือรหัสผ่านที่จำเป็นสำหรับการตรวจสอบสิทธิ์" + +msgid "Name of the printer." +msgstr "ชื่อของเครื่องพิมพ์" + +msgid "HTTPS CA File" +msgstr "ไฟล์ HTTPS CA" + +msgid "" +"Custom CA certificate file can be specified for HTTPS OctoPrint connections, " +"in crt/pem format. If left blank, the default OS CA certificate repository " +"is used." +msgstr "สามารถระบุไฟล์ใบรับรอง CA แบบกำหนดเองสำหรับการเชื่อมต่อ HTTPS OctoPrint ในรูปแบบ crt/pem หากเว้นว่างไว้ ระบบจะใช้ที่เก็บใบรับรอง OS CA เริ่มต้น" + +msgid "User" +msgstr "ผู้ใช้" + +msgid "Password" +msgstr "รหัสผ่าน" + +msgid "Ignore HTTPS certificate revocation checks" +msgstr "ละเว้นการตรวจสอบการเพิกถอนใบรับรอง HTTPS" + +msgid "" +"Ignore HTTPS certificate revocation checks in case of missing or offline " +"distribution points. One may want to enable this option for self signed " +"certificates if connection fails." +msgstr "ละเว้นการตรวจสอบการเพิกถอนใบรับรอง HTTPS ในกรณีที่จุดแจกจ่ายหายไปหรือออฟไลน์ อาจต้องการเปิดใช้งานตัวเลือกนี้สำหรับใบรับรองที่ลงนามด้วยตนเองหากการเชื่อมต่อล้มเหลว" + +msgid "Names of presets related to the physical printer." +msgstr "ชื่อของค่าที่ตั้งล่วงหน้าที่เกี่ยวข้องกับเครื่องพิมพ์จริง" + +msgid "Authorization Type" +msgstr "ประเภทการอนุญาต" + +msgid "API key" +msgstr "คีย์เอพีไอ" + +msgid "HTTP digest" +msgstr "HTTP ไดเจสต์" + +msgid "Avoid crossing walls" +msgstr "หลีกเลี่ยงการข้ามกำแพง" + +msgid "" +"Detour to avoid traveling across walls, which may cause blobs on the surface." +msgstr "ทางอ้อมเพื่อหลีกเลี่ยงการเดินทางข้ามกำแพง ซึ่งอาจทำให้เกิดหยดบนพื้นผิว" + +msgid "Avoid crossing walls - Max detour length" +msgstr "หลีกเลี่ยงการข้ามกำแพง - ความยาวทางเบี่ยงสูงสุด" + +msgid "" +"Maximum detour distance for avoiding crossing wall. Don't detour if the " +"detour distance is larger than this value. Detour length could be specified " +"either as an absolute value or as percentage (for example 50%) of a direct " +"travel path. Zero to disable." +msgstr "ระยะทางเบี่ยงสูงสุดเพื่อหลีกเลี่ยงการข้ามกำแพง อย่าอ้อมหากระยะทางเบี่ยงมากกว่าค่านี้ ความยาวทางเบี่ยงสามารถระบุเป็นค่าสัมบูรณ์หรือเป็นเปอร์เซ็นต์ (เช่น 50%) ของเส้นทางการเดินทางโดยตรง ศูนย์ที่จะปิดการใช้งาน" + +msgid "mm or %" +msgstr "มม. หรือ %" + +msgid "Other layers" +msgstr "ชั้นอื่นๆ" + +msgid "" +"Bed temperature for layers except the initial one. A value of 0 means the " +"filament does not support printing on the Cool Plate SuperTack." +msgstr "อุณหภูมิฐานพิมพ์สำหรับชั้นต่างๆ ยกเว้นอุณหภูมิเริ่มต้น ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Cool Plate SuperTack" + +msgid "" +"Bed temperature for layers except the initial one. A value of 0 means the " +"filament does not support printing on the Cool Plate." +msgstr "อุณหภูมิฐานพิมพ์สำหรับชั้นต่างๆ ยกเว้นอุณหภูมิเริ่มต้น ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Cool Plate" + +msgid "" +"Bed temperature for layers except the initial one. A value of 0 means the " +"filament does not support printing on the Textured Cool Plate." +msgstr "อุณหภูมิฐานพิมพ์สำหรับชั้นต่างๆ ยกเว้นอุณหภูมิเริ่มต้น ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Textured Cool Plate" + +msgid "" +"Bed temperature for layers except the initial one. A value of 0 means the " +"filament does not support printing on the Engineering Plate." +msgstr "อุณหภูมิฐานพิมพ์สำหรับชั้นต่างๆ ยกเว้นอุณหภูมิเริ่มต้น ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Engineering Plate" + +msgid "" +"Bed temperature for layers except the initial one. A value of 0 means the " +"filament does not support printing on the High Temp Plate." +msgstr "อุณหภูมิฐานพิมพ์สำหรับชั้นต่างๆ ยกเว้นอุณหภูมิเริ่มต้น ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บนแผ่นอุณหภูมิสูง" + +msgid "" +"Bed temperature for layers except the initial one. A value of 0 means the " +"filament does not support printing on the Textured PEI Plate." +msgstr "อุณหภูมิฐานพิมพ์สำหรับชั้นต่างๆ ยกเว้นอุณหภูมิเริ่มต้น ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บนเพลต PEI ที่มีพื้นผิว" + +msgid "First layer" +msgstr "ชั้นแรก" + +msgid "First layer bed temperature" +msgstr "อุณหภูมิฐานพิมพ์ชั้นแรก" + +msgid "" +"Bed temperature of the first layer. A value of 0 means the filament does not " +"support printing on the Cool Plate SuperTack." +msgstr "อุณหภูมิฐานพิมพ์ชั้นแรก ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Cool Plate SuperTack" + +msgid "" +"Bed temperature of the first layer. A value of 0 means the filament does not " +"support printing on the Cool Plate." +msgstr "อุณหภูมิฐานพิมพ์ชั้นแรก ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Cool Plate" + +msgid "" +"Bed temperature of the first layer. A value of 0 means the filament does not " +"support printing on the Textured Cool Plate." +msgstr "อุณหภูมิฐานพิมพ์ชั้นแรก ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Textured Cool Plate" + +msgid "" +"Bed temperature of the first layer. A value of 0 means the filament does not " +"support printing on the Engineering Plate." +msgstr "อุณหภูมิฐานพิมพ์ชั้นแรก ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บน Engineering Plate" + +msgid "" +"Bed temperature of the first layer. A value of 0 means the filament does not " +"support printing on the High Temp Plate." +msgstr "อุณหภูมิฐานพิมพ์ชั้นแรก ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บนแผ่นอุณหภูมิสูง" + +msgid "" +"Bed temperature of the first layer. A value of 0 means the filament does not " +"support printing on the Textured PEI Plate." +msgstr "อุณหภูมิฐานพิมพ์ชั้นแรก ค่า 0 หมายความว่าเส้นพลาสติกไม่รองรับการพิมพ์บนเพลต PEI ที่มีพื้นผิว" + +msgid "Bed types supported by the printer." +msgstr "ประเภทฐานพิมพ์ที่เครื่องพิมพ์รองรับ" + +msgid "Default bed type" +msgstr "ประเภทฐานพิมพ์เริ่มต้น" + +msgid "" +"Default bed type for the printer (supports both numeric and string format)." +msgstr "ประเภทฐานฐานพิมพ์เริ่มต้นสำหรับเครื่องพิมพ์ (รองรับทั้งรูปแบบตัวเลขและสตริง)" + +msgid "First layer print sequence" +msgstr "ลำดับการพิมพ์ชั้นแรก" + +msgid "Other layers print sequence" +msgstr "ลำดับการพิมพ์เลเยอร์อื่นๆ" + +msgid "The number of other layers print sequence" +msgstr "จำนวนลำดับการพิมพ์อื่นๆ" + +msgid "Other layers filament sequence" +msgstr "ลำดับเส้นพลาสติกชั้นอื่นๆ" + +msgid "This G-code is inserted at every layer change before the Z lift." +msgstr "G-code นี้จะถูกแทรกทุกครั้งที่เปลี่ยนเลเยอร์ก่อนการยก Z" + +msgid "Bottom shell layers" +msgstr "เลเยอร์ผนังด้านล่าง" + +msgid "" +"This is the number of solid layers of bottom shell, including the bottom " +"surface layer. When the thickness calculated by this value is thinner than " +"bottom shell thickness, the bottom shell layers will be increased." +msgstr "นี่คือจำนวนชั้นทึบของเปลือกด้านล่าง รวมถึงชั้นล่างของพื้นผิวด้วย เมื่อความหนาที่คำนวณโดยค่านี้บางกว่าความหนาของเปลือกด้านล่าง ชั้นเปลือกด้านล่างจะเพิ่มขึ้น" + +msgid "Bottom shell thickness" +msgstr "ความหนาผนังด้านล่าง" + +msgid "" +"The number of bottom solid layers is increased when slicing if the thickness " +"calculated by bottom shell layers is thinner than this value. This can avoid " +"having too thin shell when layer height is small. 0 means that this setting " +"is disabled and thickness of bottom shell is absolutely determined by bottom " +"shell layers." +msgstr "จำนวนชั้นทึบด้านล่างจะเพิ่มขึ้นเมื่อหั่นหากความหนาที่คำนวณโดยชั้นเปลือกด้านล่างบางกว่าค่านี้ วิธีนี้สามารถหลีกเลี่ยงไม่ให้เปลือกบางเกินไปเมื่อชั้นมีความสูงน้อย 0 หมายความว่าการตั้งค่านี้ถูกปิดใช้งาน และความหนาของเปลือกด้านล่างจะถูกกำหนดโดยชั้นเปลือกด้านล่างอย่างแน่นอน" + +msgid "Apply gap fill" +msgstr "ใช้การเติมช่องว่าง" + +msgid "" +"Enables gap fill for the selected solid surfaces. The minimum gap length " +"that will be filled can be controlled from the filter out tiny gaps option " +"below.\n" +"\n" +"Options:\n" +"1. Everywhere: Applies gap fill to top, bottom and internal solid surfaces " +"for maximum strength\n" +"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces " +"only, balancing print speed, reducing potential over extrusion in the solid " +"infill and making sure the top and bottom surfaces have no pinhole gaps\n" +"3. Nowhere: Disables gap fill for all solid infill areas\n" +"\n" +"Note that if using the classic perimeter generator, gap fill may also be " +"generated between perimeters, if a full width line cannot fit between them. " +"That perimeter gap fill is not controlled by this setting.\n" +"\n" +"If you would like all gap fill, including the classic perimeter generated " +"one, removed, set the filter out tiny gaps value to a large number, like " +"999999.\n" +"\n" +"However this is not advised, as gap fill between perimeters is contributing " +"to the model's strength. For models where excessive gap fill is generated " +"between perimeters, a better option would be to switch to the arachne wall " +"generator and use this option to control whether the cosmetic top and bottom " +"surface gap fill is generated." +msgstr "เปิดใช้งานการเติมช่องว่างสำหรับพื้นผิวทึบที่เลือก ความยาวช่องว่างขั้นต่ำที่จะถูกอุดสามารถควบคุมได้จากตัวเลือกกรองช่องว่างเล็กๆ ด้านล่าง\n\nตัวเลือก:\n1. ทุกที่: ใช้การเติมช่องว่างกับพื้นผิวแข็งด้านบน ด้านล่าง และภายในเพื่อความแข็งแรงสูงสุด\n2. พื้นผิวด้านบนและด้านล่าง: ใช้การเติมช่องว่างกับพื้นผิวด้านบนและด้านล่างเท่านั้น ปรับสมดุลความเร็วการพิมพ์ ลดโอกาสเกิดการอัดขึ้นรูปมากเกินไปเมื่อเติมช่องว่างในพื้นที่ทึบ และตรวจสอบให้แน่ใจว่าพื้นผิวด้านบนและด้านล่างไม่มีช่องว่างรูเข็ม\n3. ไม่มีที่ไหนเลย: ปิดใช้งานการเติมช่องว่างสำหรับพื้นที่ทึบทั้งหมด\n\nโปรดทราบว่าหากใช้เครื่องสร้างเส้นรอบวงแบบคลาสสิก การเติมช่องว่างอาจถูกสร้างขึ้นระหว่างเส้นรอบวงด้วย หากเส้นความกว้างเต็มไม่สามารถพอดีระหว่างเส้นรอบวงได้ การเติมช่องว่างขอบเขตนั้นไม่ได้ถูกควบคุมโดยการตั้งค่านี้\n\nหากคุณต้องการให้ลบการเติมช่องว่างทั้งหมด รวมถึงเส้นรอบวงแบบคลาสสิกที่สร้างไว้ ให้ตั้งค่าตัวกรองออกค่าช่องว่างเล็กๆ ให้เป็นตัวเลขจำนวนมาก เช่น 999999\n\nอย่างไรก็ตาม ไม่แนะนำให้ทำเช่นนี้ เนื่องจากการเติมช่องว่างระหว่างเส้นรอบวงมีส่วนทำให้โมเดลมีความแข็งแกร่ง สำหรับโมเดลที่มีการเติมช่องว่างมากเกินไประหว่างเส้นรอบวง ตัวเลือกที่ดีกว่าคือเปลี่ยนไปใช้เครื่องสร้างผนังแบบ Arachne และใช้ตัวเลือกนี้เพื่อควบคุมว่าจะสร้างการเติมช่องว่างบนพื้นผิวด้านบนและด้านล่างที่สวยงามหรือไม่" + +msgid "Everywhere" +msgstr "ทุกที่" + +msgid "Top and bottom surfaces" +msgstr "พื้นผิวด้านบนและด้านล่าง" + +msgid "Nowhere" +msgstr "ไม่มีที่ไหนเลย" + +msgid "Force cooling for overhangs and bridges" +msgstr "บังคับการระบายความร้อนสำหรับส่วนยื่นและสะพาน" + +msgid "" +"Enable this option to allow adjustment of the part cooling fan speed for " +"specifically for overhangs, internal and external bridges. Setting the fan " +"speed specifically for these features can improve overall print quality and " +"reduce warping." +msgstr "เปิดใช้งานตัวเลือกนี้เพื่อให้สามารถปรับความเร็วพัดลมระบายความร้อนของชิ้นส่วนสำหรับส่วนยื่น บริดจ์ภายในและภายนอกโดยเฉพาะ การตั้งค่าความเร็วพัดลมสำหรับคุณสมบัติเหล่านี้โดยเฉพาะสามารถปรับปรุงคุณภาพการพิมพ์โดยรวมและลดการบิดเบี้ยวได้" + +msgid "Overhangs and external bridges fan speed" +msgstr "ส่วนยื่นและความเร็วพัดลมของสะพานภายนอก" + +msgid "" +"Use this part cooling fan speed when printing bridges or overhang walls with " +"an overhang threshold that exceeds the value set in the 'Overhangs cooling " +"threshold' parameter above. Increasing the cooling specifically for " +"overhangs and bridges can improve the overall print quality of these " +"features.\n" +"\n" +"Please note, this fan speed is clamped on the lower end by the minimum fan " +"speed threshold set above. It is also adjusted upwards up to the maximum fan " +"speed threshold when the minimum layer time threshold is not met." +msgstr "ใช้ความเร็วพัดลมระบายความร้อนส่วนนี้เมื่อพิมพ์สะพานหรือผนังที่ยื่นออกมาโดยมีเกณฑ์ยื่นเกินค่าที่ตั้งไว้ในพารามิเตอร์ 'เกณฑ์การระบายความร้อนที่ยื่นเกิน' ด้านบน การเพิ่มการระบายความร้อนโดยเฉพาะสำหรับส่วนยื่นและสะพานสามารถปรับปรุงคุณภาพการพิมพ์โดยรวมของคุณสมบัติเหล่านี้ได้\n\nโปรดทราบว่าความเร็วพัดลมนี้จะถูกยึดที่ปลายล่างตามเกณฑ์ความเร็วพัดลมขั้นต่ำที่ตั้งไว้ด้านบน นอกจากนี้ยังปรับขึ้นไปถึงขีดจำกัดความเร็วพัดลมสูงสุด เมื่อไม่ตรงตามเกณฑ์เวลาเลเยอร์ขั้นต่ำ" + +msgid "Overhang cooling activation threshold" +msgstr "เกณฑ์การเปิดใช้งานการทำความเย็นเกิน" + +#, no-c-format, no-boost-format +msgid "" +"When the overhang exceeds this specified threshold, force the cooling fan to " +"run at the 'Overhang Fan Speed' set below. This threshold is expressed as a " +"percentage, indicating the portion of each line's width that is unsupported " +"by the layer beneath it. Setting this value to 0% forces the cooling fan to " +"run for all outer walls, regardless of the overhang degree." +msgstr "เมื่อโอเวอร์แฮงค์เกินเกณฑ์ที่ระบุ ให้บังคับพัดลมระบายความร้อนให้ทำงานที่ 'ความเร็วพัดลมโอเวอร์แฮง' ที่ตั้งไว้ด้านล่าง เกณฑ์นี้แสดงเป็นเปอร์เซ็นต์ ซึ่งระบุส่วนของความกว้างของแต่ละบรรทัดที่เลเยอร์ด้านล่างไม่รองรับ การตั้งค่านี้เป็น 0% จะบังคับให้พัดลมระบายความร้อนทำงานบนผนังด้านนอกทั้งหมด โดยไม่คำนึงถึงระดับของส่วนยื่น" + +msgid "External bridge infill direction" +msgstr "ทิศทางไส้ในสะพานภายนอก" + +#, no-c-format, no-boost-format +msgid "" +"Bridging angle override. If left to zero, the bridging angle will be " +"calculated automatically. Otherwise the provided angle will be used for " +"external bridges. Use 180° for zero angle." +msgstr "การแทนที่มุมเชื่อมโยง หากปล่อยให้เหลือศูนย์ มุมเชื่อมโยงจะถูกคำนวณโดยอัตโนมัติ มิฉะนั้นจะใช้มุมที่ให้ไว้สำหรับสะพานภายนอก ใช้ 180° สำหรับมุมศูนย์" + +msgid "Internal bridge infill direction" +msgstr "ทิศทางไส้ในสะพานภายใน" + +msgid "" +"Internal bridging angle override. If left to zero, the bridging angle will " +"be calculated automatically. Otherwise the provided angle will be used for " +"internal bridges. Use 180° for zero angle.\n" +"\n" +"It is recommended to leave it at 0 unless there is a specific model need not " +"to." +msgstr "การแทนที่มุมเชื่อมต่อภายใน หากปล่อยให้เหลือศูนย์ มุมเชื่อมโยงจะถูกคำนวณโดยอัตโนมัติ มิฉะนั้นจะใช้มุมที่ให้ไว้สำหรับสะพานภายใน ใช้ 180° สำหรับมุมศูนย์\n\nแนะนำให้ปล่อยไว้ที่ 0 เว้นแต่ว่ามีรุ่นเฉพาะที่ไม่จำเป็นต้องทำ" + +msgid "External bridge density" +msgstr "ความหนาแน่นของสะพานภายนอก" + +msgid "" +"Controls the density (spacing) of external bridge lines. Default is 100%.\n" +"\n" +"Lower density external bridges can help improve reliability as there is more " +"space for air to circulate around the extruded bridge, improving its cooling " +"speed. Minimum is 10%.\n" +"\n" +"Higher densities can produce smoother bridge surfaces, as overlapping lines " +"provide additional support during printing. Maximum is 120%.\n" +"Note: Bridge density that is too high can cause warping or overextrusion." +msgstr "ควบคุมความหนาแน่น (ระยะห่าง) ของเส้นสะพานภายนอก ค่าเริ่มต้นคือ 100%\n\nสะพานภายนอกที่มีความหนาแน่นต่ำสามารถช่วยปรับปรุงความน่าเชื่อถือได้ เนื่องจากมีพื้นที่ให้อากาศไหลเวียนรอบสะพานที่อัดขึ้นรูปมากขึ้น ซึ่งช่วยเพิ่มความเร็วในการทำความเย็น ขั้นต่ำคือ 10%\n\nความหนาแน่นที่สูงขึ้นสามารถสร้างพื้นผิวสะพานที่นุ่มนวลขึ้น เนื่องจากเส้นที่ทับซ้อนกันจะให้ส่วนรองรับเพิ่มไส้ในในระหว่างการพิมพ์ สูงสุดคือ 120%\nหมายเหตุ: ความหนาแน่นของสะพานที่สูงเกินไปอาจทำให้เกิดการบิดงอหรืออัดขึ้นรูปมากเกินไปได้" + +msgid "Internal bridge density" +msgstr "ความหนาแน่นสะพานภายใน" + +msgid "" +"Controls the density (spacing) of internal bridge lines. 100% means solid " +"bridge. Default is 100%.\n" +"\n" +"Lower density internal bridges can help reduce top surface pillowing and " +"improve internal bridge reliability as there is more space for air to " +"circulate around the extruded bridge, improving its cooling speed.\n" +"\n" +"This option works particularly well when combined with the second internal " +"bridge over infill option, further improving internal bridging structure " +"before solid infill is extruded." +msgstr "ควบคุมความหนาแน่น (ระยะห่าง) ของเส้นสะพานภายใน 100% หมายถึงสะพานที่มั่นคง ค่าเริ่มต้นคือ 100%\n\nสะพานภายในที่มีความหนาแน่นต่ำสามารถช่วยลดการบุผิวด้านบน และปรับปรุงความน่าเชื่อถือของสะพานภายใน เนื่องจากมีพื้นที่ให้อากาศไหลเวียนรอบๆ สะพานที่อัดขึ้นรูปมากขึ้น ซึ่งช่วยเพิ่มความเร็วในการทำความเย็น\n\nตัวเลือกนี้ทำงานได้ดีเป็นพิเศษเมื่อรวมกับตัวเลือกบริดจ์ภายในตัวที่สองเหนือตัวเลือกไส้ใน ซึ่งจะช่วยปรับปรุงโครงสร้างการเชื่อมต่อภายในเพิ่มไส้ในก่อนที่จะอัดรีดไส้ในแบบทึบ" + +msgid "Bridge flow ratio" +msgstr "อัตราส่วนการไหลสะพาน" + +msgid "" +"Decrease this value slightly (for example 0.9) to reduce the amount of " +"material for bridge, to improve sag.\n" +"\n" +"The actual bridge flow used is calculated by multiplying this value with the " +"filament flow ratio, and if set, the object's flow ratio." +msgstr "ลดค่านี้ลงเล็กน้อย (เช่น 0.9) เพื่อลดปริมาณวัสดุสำหรับสะพานและปรับปรุงการย้อย\n\nการไหลของบริดจ์จริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Internal bridge flow ratio" +msgstr "อัตราส่วนการไหลสะพานภายใน" + +msgid "" +"This value governs the thickness of the internal bridge layer. This is the " +"first layer over sparse infill. Decrease this value slightly (for example " +"0.9) to improve surface quality over sparse infill.\n" +"\n" +"The actual internal bridge flow used is calculated by multiplying this value " +"with the bridge flow ratio, the filament flow ratio, and if set, the " +"object's flow ratio." +msgstr "ค่านี้ควบคุมความหนาของชั้นบริดจ์ภายใน นี่เป็นชั้นแรกที่อยู่เหนือไส้ในแบบโปร่ง ลดค่านี้เล็กน้อย (เช่น 0.9) เพื่อปรับปรุงคุณภาพพื้นผิวมากกว่าไส้ในแบบโปร่ง\n\nการไหลของบริดจ์ภายในจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของบริดจ์ อัตราการไหลของเส้นพลาสติก และอัตราการไหลของวัตถุหากตั้งค่าไว้" + +msgid "Top surface flow ratio" +msgstr "อัตราส่วนการไหลผิวด้านบน" + +msgid "" +"This factor affects the amount of material for top solid infill. You can " +"decrease it slightly to have smooth surface finish.\n" +"\n" +"The actual top surface flow used is calculated by multiplying this value " +"with the filament flow ratio, and if set, the object's flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุสำหรับไส้ในของแข็งด้านบน คุณสามารถลดลงเล็กน้อยเพื่อให้พื้นผิวเรียบ\n\nการไหลของพื้นผิวด้านบนจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Bottom surface flow ratio" +msgstr "อัตราส่วนการไหลผิวด้านล่าง" + +msgid "" +"This factor affects the amount of material for bottom solid infill.\n" +"\n" +"The actual bottom solid infill flow used is calculated by multiplying this " +"value with the filament flow ratio, and if set, the object's flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุสำหรับไส้ในของแข็งด้านล่าง\n\nการไหล ไส้ใน ของแข็งด้านล่างจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Set other flow ratios" +msgstr "ตั้งค่าอัตราส่วนการไหลอื่นๆ" + +msgid "Change flow ratios for other extrusion path types." +msgstr "เปลี่ยนอัตราส่วนการไหลสำหรับเส้นทางการอัดขึ้นรูปประเภทอื่นๆ" + +msgid "First layer flow ratio" +msgstr "อัตราการไหลของชั้นแรก" + +msgid "" +"This factor affects the amount of material on the first layer for the " +"extrusion path roles listed in this section.\n" +"\n" +"For the first layer, the actual flow ratio for each path role (does not " +"affect brims and skirts) will be multiplied by this value." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุในชั้นแรกสำหรับบทบาทเส้นทางการอัดขึ้นรูปที่แสดงอยู่ในส่วนนี้\n\nสำหรับชั้นแรก อัตราการไหลตามจริงสำหรับแต่ละบทบาทของเส้นทาง (ไม่ส่งผลต่อขอบยึดชิ้นงานและเส้นล้อมชิ้นงาน) จะถูกคูณด้วยค่านี้" + +msgid "Outer wall flow ratio" +msgstr "อัตราส่วนการไหลของผนังด้านนอก" + +msgid "" +"This factor affects the amount of material for outer walls.\n" +"\n" +"The actual outer wall flow used is calculated by multiplying this value by " +"the filament flow ratio, and if set, the object's flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุสำหรับผนังด้านนอก\n\nการไหลของผนังด้านนอกจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Inner wall flow ratio" +msgstr "อัตราส่วนการไหลของผนังด้านใน" + +msgid "" +"This factor affects the amount of material for inner walls.\n" +"\n" +"The actual inner wall flow used is calculated by multiplying this value by " +"the filament flow ratio, and if set, the object's flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุสำหรับผนังด้านใน\n\nการไหลของผนังด้านในจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Overhang flow ratio" +msgstr "อัตราส่วนการไหลของส่วนยื่น" + +msgid "" +"This factor affects the amount of material for overhangs.\n" +"\n" +"The actual overhang flow used is calculated by multiplying this value by the " +"filament flow ratio, and if set, the object's flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุสำหรับยื่น\n\nการไหลยื่นออกมาจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Sparse infill flow ratio" +msgstr "อัตราส่วนการไหลไส้ในแบบโปร่ง" + +msgid "" +"This factor affects the amount of material for sparse infill.\n" +"\n" +"The actual sparse infill flow used is calculated by multiplying this value " +"by the filament flow ratio, and if set, the object's flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุสำหรับไส้ในแบบโปร่ง\n\nการไหล ไส้ใน แบบเบาบางจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Internal solid infill flow ratio" +msgstr "อัตราส่วนการไหลไส้ในแบบทึบ" + +msgid "" +"This factor affects the amount of material for internal solid infill.\n" +"\n" +"The actual internal solid infill flow used is calculated by multiplying this " +"value by the filament flow ratio, and if set, the object's flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุสำหรับไส้ในของแข็งภายใน\n\nการไหล ไส้ใน ของแข็งภายในจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Gap fill flow ratio" +msgstr "อัตราส่วนการไหลเติมช่องว่าง" + +msgid "" +"This factor affects the amount of material for filling the gaps.\n" +"\n" +"The actual gap filling flow used is calculated by multiplying this value by " +"the filament flow ratio, and if set, the object's flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุในการเติมช่องว่าง\n\nอัตราการเติมช่องว่างจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Support flow ratio" +msgstr "อัตราส่วนการไหลส่วนรองรับ" + +msgid "" +"This factor affects the amount of material for support.\n" +"\n" +"The actual support flow used is calculated by multiplying this value by the " +"filament flow ratio, and if set, the object's flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุที่รองรับ\n\nกระแสรองรับจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Support interface flow ratio" +msgstr "อัตราส่วนการไหลผิวสัมผัสส่วนรองรับ" + +msgid "" +"This factor affects the amount of material for the support interface.\n" +"\n" +"The actual support interface flow used is calculated by multiplying this " +"value by the filament flow ratio, and if set, the object's flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุสำหรับอินเทอร์เฟซส่วนรองรับ\n\nโฟลว์อินเทอร์เฟซส่วนรองรับจริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ" + +msgid "Precise wall" +msgstr "ผนังที่แม่นยำ" + +msgid "" +"Improve shell precision by adjusting outer wall spacing. This also improves " +"layer consistency. NOTE: This option will be ignored for outer-inner or " +"inner-outer-inner wall sequences." +msgstr "ปรับปรุงความแม่นยำของเปลือกโดยการปรับระยะห่างผนังด้านนอก นอกจากนี้ยังช่วยปรับปรุงความสม่ำเสมอของชั้นอีกด้วย หมายเหตุ: ตัวเลือกนี้จะถูกละเว้นสำหรับลำดับผนังด้านนอก-ด้านใน หรือด้านใน-ด้านนอก-ด้านใน" + +msgid "Only one wall on top surfaces" +msgstr "มีเพียงผนังเดียวบนพื้นผิวด้านบน" + +msgid "" +"Use only one wall on flat top surfaces, to give more space to the top infill " +"pattern." +msgstr "ใช้ผนังเพียงด้านเดียวบนพื้นผิวเรียบเพื่อเพิ่มพื้นที่ให้กับรูปแบบไส้ในด้านบน" + +msgid "One wall threshold" +msgstr "เกณฑ์ผนังด้านหนึ่ง" + +#, no-c-format, no-boost-format +msgid "" +"If a top surface has to be printed and it's partially covered by another " +"layer, it won't be considered at a top layer where its width is below this " +"value. This can be useful to not let the 'one perimeter on top' trigger on " +"surface that should be covered only by perimeters. This value can be a mm or " +"a % of the perimeter extrusion width.\n" +"Warning: If enabled, artifacts can be created if you have some thin features " +"on the next layer, like letters. Set this setting to 0 to remove these " +"artifacts." +msgstr "หากต้องพิมพ์พื้นผิวด้านบนและปิดบางส่วนด้วยชั้นอื่น จะไม่ได้รับการพิจารณาที่ชั้นบนสุดซึ่งมีความกว้างต่ำกว่าค่านี้ วิธีนี้จะเป็นประโยชน์ในการไม่ปล่อยให้ 'เส้นรอบวงด้านบนหนึ่งเส้น' ทริกเกอร์บนพื้นผิวที่ควรครอบคลุมเฉพาะเส้นรอบวงเท่านั้น ค่านี้อาจเป็นหน่วย มม. หรือ % ของความกว้างของการอัดขึ้นรูปเส้นรอบวง\nคำเตือน: หากเปิดใช้งาน สามารถสร้างสิ่งประดิษฐ์ได้หากคุณมีคุณสมบัติบางๆ ในเลเยอร์ถัดไป เช่น ตัวอักษร ตั้งค่านี้เป็น 0 เพื่อลบสิ่งประดิษฐ์เหล่านี้" + +msgid "Only one wall on first layer" +msgstr "มีเพียงผนังเดียวในชั้นแรก" + +msgid "" +"Use only one wall on first layer, to give more space to the bottom infill " +"pattern." +msgstr "ใช้ผนังเพียงชั้นเดียวในชั้นแรก เพื่อให้มีพื้นที่ด้านล่างมากขึ้น" + +msgid "Extra perimeters on overhangs" +msgstr "เส้นรอบวงเพิ่มไส้ในบนส่วนยื่น" + +msgid "" +"Create additional perimeter paths over steep overhangs and areas where " +"bridges cannot be anchored." +msgstr "สร้างเส้นทางรอบขอบเพิ่มไส้ในเหนือส่วนยื่นสูงชันและพื้นที่ที่ไม่สามารถทอดสมอสะพานได้" + +msgid "Reverse on even" +msgstr "ย้อนกลับในคู่" + +msgid "Overhang reversal" +msgstr "การกลับรายการยื่นออกมา" + +msgid "" +"Extrude perimeters that have a part over an overhang in the reverse " +"direction on even layers. This alternating pattern can drastically improve " +"steep overhangs.\n" +"\n" +"This setting can also help reduce part warping due to the reduction of " +"stresses in the part walls." +msgstr "รีดเส้นรอบวงที่มีส่วนยื่นออกมาในทิศทางย้อนกลับบนชั้นคู่ รูปแบบการสลับนี้สามารถปรับปรุงระยะยื่นที่สูงชันได้อย่างมาก\n\nการตั้งค่านี้ยังช่วยลดการบิดงอของชิ้นส่วนเนื่องจากการลดความเค้นในผนังชิ้นส่วนอีกด้วย" + +msgid "Reverse only internal perimeters" +msgstr "ย้อนกลับเฉพาะขอบเขตภายในเท่านั้น" + +msgid "" +"Apply the reverse perimeters logic only on internal perimeters.\n" +"\n" +"This setting greatly reduces part stresses as they are now distributed in " +"alternating directions. This should reduce part warping while also " +"maintaining external wall quality. This feature can be very useful for warp " +"prone material, like ABS/ASA, and also for elastic filaments, like TPU and " +"Silk PLA. It can also help reduce warping on floating regions over " +"supports.\n" +"\n" +"For this setting to be the most effective, it is recommended to set the " +"Reverse Threshold to 0 so that all internal walls print in alternating " +"directions on even layers irrespective of their overhang degree." +msgstr "ใช้ตรรกะเส้นรอบวงย้อนกลับเฉพาะกับเส้นรอบวงภายในเท่านั้น\n\nการตั้งค่านี้ช่วยลดความเค้นของชิ้นส่วนได้อย่างมาก เนื่องจากมีการกระจายไปในทิศทางสลับกัน สิ่งนี้จะลดการบิดเบี้ยวของชิ้นส่วนในขณะที่ยังคงรักษาคุณภาพของผนังภายนอกไว้ด้วย คุณลักษณะนี้มีประโยชน์มากสำหรับวัสดุที่บิดงอง่าย เช่น ABS/ASA และสำหรับเส้นพลาสติกยืดหยุ่น เช่น TPU และ Silk PLA นอกจากนี้ยังสามารถช่วยลดการบิดเบี้ยวในบริเวณที่ลอยอยู่เหนือส่วนรองรับได้อีกด้วย\n\nเพื่อให้การตั้งค่านี้มีประสิทธิภาพสูงสุด ขอแนะนำให้ตั้งค่า Reverse Threshold เป็น 0 เพื่อให้ผนังภายในทั้งหมดพิมพ์ในทิศทางสลับกันบนเลเยอร์คู่ โดยไม่คำนึงถึงระดับส่วนยื่น" + +msgid "Bridge counterbore holes" +msgstr "สะพานหลุมเจาะ" + +msgid "" +"This option creates bridges for counterbore holes, allowing them to be " +"printed without support. Available modes include:\n" +"1. None: No bridge is created\n" +"2. Partially Bridged: Only a part of the unsupported area will be bridged\n" +"3. Sacrificial Layer: A full sacrificial bridge layer is created" +msgstr "ตัวเลือกนี้จะสร้างสะพานเชื่อมสำหรับรูเจาะเคาน์เตอร์ ทำให้สามารถพิมพ์ได้โดยไม่ต้องมีส่วนรองรับ โหมดที่ใช้ได้ ได้แก่ :\n1. ไม่มี: ไม่มีการสร้างสะพาน\n2. เชื่อมโยงบางส่วน: เฉพาะส่วนหนึ่งของพื้นที่ที่ไม่ได้รับส่วนรองรับเท่านั้นที่จะถูกเชื่อมโยง\n3. Sacrificial Layer: ชั้นสะพานบูชายัญเต็มรูปแบบจะถูกสร้างขึ้น" + +msgid "Partially bridged" +msgstr "มีสะพานเชื่อมบางส่วน" + +msgid "Sacrificial layer" +msgstr "ชั้นบูชายัญ" + +msgid "Reverse threshold" +msgstr "เกณฑ์ย้อนกลับ" + +msgid "Overhang reversal threshold" +msgstr "เกณฑ์การกลับรายการส่วนเกิน" + +#, no-c-format, no-boost-format +msgid "" +"Number of mm the overhang need to be for the reversal to be considered " +"useful. Can be a % of the perimeter width.\n" +"Value 0 enables reversal on every even layers regardless.\n" +"When Detect overhang wall is not enabled, this option is ignored and " +"reversal happens on every even layers regardless." +msgstr "ระยะยื่นต้องมีจำนวน มม. เพื่อให้การกลับรายการถือว่ามีประโยชน์ อาจเป็น % ของความกว้างเส้นรอบวงได้\nค่า 0 เปิดใช้งานการกลับรายการในทุกเลเยอร์คู่โดยไม่คำนึงถึง\nเมื่อไม่ได้เปิดใช้งาน Detect ส่วนยื่น wall ตัวเลือกนี้จะถูกละเว้นและการกลับรายการจะเกิดขึ้นในทุกเลเยอร์คู่โดยไม่คำนึงถึง" + +msgid "Slow down for overhang" +msgstr "ลดความเร็วสำหรับส่วนยื่น" + +msgid "Enable this option to slow printing down for different overhang degree." +msgstr "เปิดใช้งานตัวเลือกนี้เพื่อทำให้การพิมพ์ช้าลงสำหรับระดับระยะยื่นที่แตกต่างกัน" + +msgid "Slow down for curled perimeters" +msgstr "ชะลอความเร็วลงสำหรับขอบเขตที่โค้งงอ" + +#, no-c-format, no-boost-format +msgid "" +"Enable this option to slow down printing in areas where perimeters may have " +"curled upwards. For example, additional slowdown will be applied when " +"printing overhangs on sharp corners like the front of the Benchy hull, " +"reducing curling which compounds over multiple layers.\n" +"\n" +"It is generally recommended to have this option switched on unless your " +"printer cooling is powerful enough or the print speed slow enough that " +"perimeter curling does not happen. If printing with a high external " +"perimeter speed, this parameter may introduce slight artifacts when slowing " +"down due to the large variance in print speeds. If you notice artifacts, " +"ensure your pressure advance is tuned correctly.\n" +"\n" +"Note: When this option is enabled, overhang perimeters are treated like " +"overhangs, meaning the overhang speed is applied even if the overhanging " +"perimeter is part of a bridge. For example, when the perimeters are 100% " +"overhanging, with no wall supporting them from underneath, the 100% overhang " +"speed will be applied." +msgstr "เปิดใช้งานตัวเลือกนี้เพื่อทำให้การพิมพ์ช้าลงในพื้นที่ที่ขอบด้านนอกอาจโค้งงอขึ้น ตัวอย่างเช่น การชะลอตัวเพิ่มไส้ในจะถูกนำไปใช้เมื่อพิมพ์ส่วนยื่นบนมุมที่แหลมคม เช่น ด้านหน้าของตัวถัง Benchy ซึ่งช่วยลดการม้วนงอซึ่งเกิดขึ้นบนหลายชั้น\n\nโดยทั่วไป แนะนำให้เปิดตัวเลือกนี้ เว้นแต่ว่าการระบายความร้อนของเครื่องพิมพ์จะแรงเพียงพอ หรือความเร็วในการพิมพ์ช้าพอที่จะไม่เกิดการม้วนงอของเส้นรอบวง หากการพิมพ์ด้วยความเร็วรอบนอกสูง พารามิเตอร์นี้อาจเกิดข้อผิดพลาดเล็กน้อยเมื่อลดความเร็วลงเนื่องจากความเร็วการพิมพ์แตกต่างกันมาก หากคุณสังเกตเห็นสิ่งผิดปกติ ตรวจสอบให้แน่ใจว่าการปรับPressure Advanceของคุณถูกต้อง\n\nหมายเหตุ: เมื่อเปิดใช้งานตัวเลือกนี้ เส้นรอบวงส่วนยื่นจะถือว่าเหมือนกับส่วนยื่น ซึ่งหมายความว่าความเร็วส่วนยื่นจะถูกใช้ แม้ว่าเส้นรอบวงส่วนยื่นจะเป็นส่วนหนึ่งของสะพานก็ตาม ตัวอย่างเช่น เมื่อเส้นรอบวงยื่นออกมา 100% โดยไม่มีกำแพงรองรับจากด้านล่าง ระบบจะใช้ความเร็วยื่น 100%" + +msgid "mm/s or %" +msgstr "มิลลิเมตร/วินาที หรือ %" + +msgid "" +"Speed of the externally visible bridge extrusions.\n" +"\n" +"In addition, if Slow down for curled perimeters is disabled or Classic " +"overhang mode is enabled, it will be the print speed of overhang walls that " +"are supported by less than 13%, whether they are part of a bridge or an " +"overhang." +msgstr "ความเร็วของการอัดขึ้นรูปสะพานที่มองเห็นได้จากภายนอก\n\nนอกจากนี้ หากปิดใช้งานการชะลอความเร็วสำหรับขอบม้วนงอหรือเปิดใช้งานโหมดระยะยื่นแบบคลาสสิก มันจะเป็นความเร็วในการพิมพ์ของผนังส่วนยื่นที่รองรับน้อยกว่า 13% ไม่ว่าจะเป็นส่วนหนึ่งของสะพานหรือส่วนยื่นก็ตาม" + +msgid "Internal" +msgstr "ภายใน" + +msgid "" +"Speed of internal bridges. If the value is expressed as a percentage, it " +"will be calculated based on the bridge_speed. Default value is 150%." +msgstr "ความเร็วของสะพานภายใน หากค่าแสดงเป็นเปอร์เซ็นต์ ค่าดังกล่าวจะถูกคำนวณตาม bridge_speed ค่าเริ่มต้นคือ 150%" + +msgid "Brim width" +msgstr "ความกว้าง ขอบยึดชิ้นงาน" + +msgid "Distance from model to the outermost brim line." +msgstr "ระยะห่างจากแบบจำลองถึงเส้นขอบยึดชิ้นงานด้านนอกสุด" + +msgid "Brim type" +msgstr "ชนิด ขอบยึดชิ้นงาน" + +msgid "" +"This controls the generation of the brim at outer and/or inner side of " +"models. Auto means the brim width is analyzed and calculated automatically." +msgstr "วิธีนี้จะควบคุมการสร้างขอบยึดชิ้นงานที่ด้านนอกและ/หรือด้านในของรุ่น อัตโนมัติหมายถึงความกว้างของขอบยึดชิ้นงานได้รับการวิเคราะห์และคำนวณโดยอัตโนมัติ" + +msgid "Brim-object gap" +msgstr "ช่องว่าง ขอบยึดชิ้นงาน กับชิ้นงาน" + +msgid "" +"A gap between innermost brim line and object can make brim be removed more " +"easily." +msgstr "ช่องว่างระหว่างเส้นขอบยึดชิ้นงานด้านในสุดกับวัตถุสามารถทำให้ขอบยึดชิ้นงานหลุดออกได้ง่ายขึ้น" + +msgid "Brim flow ratio" +msgstr "อัตราส่วนการไหล ขอบยึดชิ้นงาน" + +msgid "" +"This factor affects the amount of material for brims.\n" +"\n" +"The actual brim flow used is calculated by multiplying this value by the " +"filament flow ratio, and if set, the object's flow ratio.\n" +"\n" +"Note: The resulting value will not be affected by the first-layer flow ratio." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุสำหรับขอบยึดชิ้นงาน\n\nการไหลของขอบยึดชิ้นงานที่แท้จริงที่ใช้คำนวณโดยการคูณค่านี้ด้วยอัตราส่วนการไหลของเส้นพลาสติก และหากตั้งค่าไว้ อัตราการไหลของวัตถุ\n\nหมายเหตุ: ค่าผลลัพธ์จะไม่ได้รับผลกระทบจากอัตราส่วนการไหลของชั้นแรก" + +msgid "Brim follows compensated outline" +msgstr "ขอบยึดชิ้นงาน ปฏิบัติตามโครงร่างที่ได้รับการชดเชย" + +msgid "" +"When enabled, the brim is aligned with the first-layer perimeter geometry " +"after Elephant Foot Compensation is applied.\n" +"This option is intended for cases where Elephant Foot Compensation " +"significantly alters the first-layer footprint.\n" +"\n" +"If your current setup already works well, enabling it may be unnecessary and " +"can cause the brim to fuse with upper layers." +msgstr "เมื่อเปิดใช้งาน ขอบยึดชิ้นงานจะจัดแนวกับรูปทรงเส้นรอบวงชั้นแรกหลังจากใช้การชดเชยตีนช้าง\nตัวเลือกนี้มีไว้สำหรับกรณีที่การชดเชยตีนช้างเปลี่ยนแปลงรอยเท้าชั้นแรกอย่างมีนัยสำคัญ\n\nหากการตั้งค่าปัจจุบันของคุณทำงานได้ดีอยู่แล้ว การเปิดใช้งานอาจไม่จำเป็นและอาจทำให้ขอบยึดชิ้นงานหลอมรวมกับชั้นบนได้" + +msgid "Combine brims" +msgstr "รวมขอบยึดชิ้นงาน" + +msgid "" +"Combine multiple brims into one when they are close to each other. This can " +"improve brim adhesion." +msgstr "รวมขอบยึดชิ้นงานหลายอันเป็นอันเดียวเมื่ออยู่ใกล้กัน วิธีนี้สามารถปรับปรุงการยึดเกาะของขอบยึดชิ้นงานได้" + +msgid "Brim ears" +msgstr "หู ขอบยึดชิ้นงาน" + +msgid "Only draw brim over the sharp edges of the model." +msgstr "วาดขอบยึดชิ้นงานไว้เหนือขอบคมของนางแบบเท่านั้น" + +msgid "Brim ear max angle" +msgstr "มุมสูงสุดของหูขอบยึดชิ้นงานนก" + +msgid "" +"Maximum angle to let a brim ear appear.\n" +"If set to 0, no brim will be created.\n" +"If set to ~180, brim will be created on everything but straight sections." +msgstr "มุมสูงสุดเพื่อให้หูมีขอบยึดชิ้นงานปรากฏ\nหากตั้งค่าเป็น 0 จะไม่มีการสร้างขอบยึดชิ้นงาน\nหากตั้งค่าเป็น ~180 ขอบยึดชิ้นงานจะถูกสร้างขึ้นบนทุกสิ่ง ยกเว้นส่วนที่เป็นเส้นตรง" + +msgid "Brim ear detection radius" +msgstr "รัศมีการตรวจจับขอบหู" + +msgid "" +"The geometry will be decimated before detecting sharp angles. This parameter " +"indicates the minimum length of the deviation for the decimation.\n" +"0 to deactivate." +msgstr "รูปทรงจะถูกทำลายก่อนที่จะตรวจจับมุมแหลม พารามิเตอร์นี้ระบุความยาวขั้นต่ำของการเบี่ยงเบนสำหรับการทำลาย\n0 เพื่อปิดการใช้งาน" + +msgid "Select printers" +msgstr "เลือกเครื่องพิมพ์" + +msgid "upward compatible machine" +msgstr "เครื่องที่รองรับขึ้นไป" + +msgid "Condition" +msgstr "เงื่อนไข" + +msgid "" +"A boolean expression using the configuration values of an active printer " +"profile. If this expression evaluates to true, this profile is considered " +"compatible with the active printer profile." +msgstr "นิพจน์บูลีนที่ใช้ค่าการกำหนดค่าของโปรไฟล์เครื่องพิมพ์ที่ใช้งานอยู่ หากนิพจน์นี้ประเมินว่าเป็นจริง โปรไฟล์นี้จะถือว่าเข้ากันได้กับโปรไฟล์เครื่องพิมพ์ที่ใช้งานอยู่" + +msgid "Select profiles" +msgstr "โปรไฟล์เลือก" + +msgid "" +"A boolean expression using the configuration values of an active print " +"profile. If this expression evaluates to true, this profile is considered " +"compatible with the active print profile." +msgstr "นิพจน์บูลีนที่ใช้ค่าการกำหนดค่าของโปรไฟล์การพิมพ์ที่ใช้งานอยู่ หากนิพจน์นี้ประเมินว่าเป็นจริง โปรไฟล์นี้จะถือว่าเข้ากันได้กับโปรไฟล์การพิมพ์ที่ใช้งานอยู่" + +msgid "Print sequence, layer by layer or object by object." +msgstr "ลำดับการพิมพ์ ทีละชั้น หรือวัตถุต่อวัตถุ" + +msgid "By layer" +msgstr "ตามชั้น" + +msgid "By object" +msgstr "ตามวัตถุ" + +msgid "Intra-layer order" +msgstr "คำสั่งภายในชั้น" + +msgid "Print order within a single layer." +msgstr "สั่งพิมพ์ภายในชั้นเดียว" + +msgid "As object list" +msgstr "เป็นรายการวัตถุ" + +msgid "Slow printing down for better layer cooling" +msgstr "ชะลอการพิมพ์ลงเพื่อการระบายความร้อนที่ดีขึ้น" + +msgid "" +"Enable this option to slow printing speed down to make the final layer time " +"not shorter than the layer time threshold in \"Max fan speed threshold\", so " +"that layer can be cooled for longer time. This can improve the cooling " +"quality for needle and small details." +msgstr "เปิดใช้งานตัวเลือกนี้เพื่อลดความเร็วในการพิมพ์ลงเพื่อทำให้เวลาเลเยอร์สุดท้ายไม่สั้นกว่าเกณฑ์เวลาของเลเยอร์ใน \"ขีดจำกัดความเร็วพัดลมสูงสุด\" เพื่อให้เลเยอร์นั้นเย็นลงได้นานขึ้น สิ่งนี้สามารถปรับปรุงคุณภาพการระบายความร้อนสำหรับเข็มและรายละเอียดเล็กๆ ได้" + +msgid "Normal printing" +msgstr "การพิมพ์ปกติ" + +msgid "" +"The default acceleration of both normal printing and travel except initial " +"layer." +msgstr "การเร่งความเร็วเริ่มต้นของทั้งการพิมพ์และการเคลื่อนที่ตามปกติ ยกเว้นเลเยอร์เริ่มต้น" + +msgid "Default filament profile" +msgstr "โปรไฟล์เส้นพลาสติกเริ่มต้น" + +msgid "Default filament profile when switching to this machine profile." +msgstr "โปรไฟล์เส้นพลาสติกเริ่มต้นเมื่อสลับไปใช้โปรไฟล์เครื่องนี้" + +msgid "Default process profile" +msgstr "โปรไฟล์กระบวนการเริ่มต้น" + +msgid "Default process profile when switching to this machine profile." +msgstr "โปรไฟล์กระบวนการเริ่มต้นเมื่อสลับไปใช้โปรไฟล์เครื่องนี้" + +msgid "Activate air filtration" +msgstr "เปิดใช้งานการกรองอากาศ" + +msgid "Activate for better air filtration. G-code command: M106 P3 S(0-255)" +msgstr "เปิดใช้งานเพื่อการกรองอากาศที่ดีขึ้น คำสั่งรหัส G: M106 P3 S(0-255)" + +msgid "" +"Enable this to override the fan speed set in custom G-code during print." +msgstr "เปิดใช้งานสิ่งนี้เพื่อแทนที่ความเร็วพัดลมที่ตั้งไว้ใน G-code แบบกำหนดเองระหว่างการพิมพ์" + +msgid "On completion" +msgstr "เมื่อเสร็จสิ้น" + +msgid "" +"Enable this to override the fan speed set in custom G-code after print " +"completion." +msgstr "เปิดใช้งานสิ่งนี้เพื่อแทนที่ความเร็วพัดลมที่ตั้งไว้ใน G-code แบบกำหนดเองหลังจากพิมพ์เสร็จสิ้น" + +msgid "" +"Speed of exhaust fan during printing. This speed will override the speed in " +"filament custom G-code." +msgstr "ความเร็วพัดลมดูดอากาศระหว่างการพิมพ์ ความเร็วนี้จะแทนที่ความเร็วใน G-code แบบกำหนดเองของฟิลาเมนต์" + +msgid "Speed of exhaust fan after printing completes." +msgstr "ความเร็วของพัดลมดูดอากาศหลังการพิมพ์เสร็จสิ้น" + +msgid "No cooling for the first" +msgstr "ไม่มีการระบายความร้อนในช่วงแรก" + +msgid "" +"Turn off all cooling fans for the first few layers. This can be used to " +"improve build plate adhesion." +msgstr "ปิดพัดลมระบายความร้อนทั้งหมดในช่วงสองสามชั้นแรก สามารถใช้เพื่อปรับปรุงการยึดเกาะของแผ่นรองพื้น" + +msgid "Don't support bridges" +msgstr "ไม่ส่วนรองรับสะพาน" + +msgid "" +"Don't support the whole bridge area which make support very large. Bridges " +"can usually be printed directly without support if not very long." +msgstr "ไม่รองรับพื้นที่สะพานทั้งหมดซึ่งทำให้รองรับได้มาก โดยปกติแล้วบริดจ์สามารถพิมพ์ได้โดยตรงโดยไม่ต้องรองรับหากไม่นานมาก" + +msgid "Thick external bridges" +msgstr "สะพานภายนอกหนา" + +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 "หากเปิดใช้งาน สะพานจะมีความน่าเชื่อถือมากกว่า สามารถเชื่อมสะพานในระยะทางที่ไกลกว่าได้ แต่อาจดูแย่กว่านั้น หากปิดใช้งาน สะพานจะดูดีขึ้นแต่จะเชื่อถือได้สำหรับระยะทางสะพานที่สั้นกว่าเท่านั้น" + +msgid "Thick internal bridges" +msgstr "สะพานภายในหนา" + +msgid "" +"If enabled, thick internal bridges will be used. It's usually recommended to " +"have this feature turned on. However, consider turning it off if you are " +"using large nozzles." +msgstr "หากเปิดใช้งาน บริดจ์ภายในแบบหนาจะถูกนำมาใช้ โดยปกติจะแนะนำให้เปิดฟีเจอร์นี้ อย่างไรก็ตาม ให้พิจารณาปิดหากคุณใช้หัวฉีดขนาดใหญ่" + +msgid "Extra bridge layers (beta)" +msgstr "เลเยอร์บริดจ์พิเศษ (เบต้า)" + +msgid "" +"This option enables the generation of an extra bridge layer over internal " +"and/or external bridges.\n" +"\n" +"Extra bridge layers help improve bridge appearance and reliability, as the " +"solid infill is better supported. This is especially useful in fast " +"printers, where the bridge and solid infill speeds vary greatly. The extra " +"bridge layer results in reduced pillowing on top surfaces, as well as " +"reduced separation of the external bridge layer from its surrounding " +"perimeters.\n" +"\n" +"It is generally recommended to set this to at least 'External bridge only', " +"unless specific issues with the sliced model are found.\n" +"\n" +"Options:\n" +"1. Disabled - does not generate second bridge layers. This is the default " +"and is set for compatibility purposes\n" +"2. External bridge only - generates second bridge layers for external-facing " +"bridges only. Please note that small bridges that are shorter or narrower " +"than the set number of perimeters will be skipped as they would not benefit " +"from a second bridge layer. If generated, the second bridge layer will be " +"extruded parallel to the first bridge layer to reinforce the bridge " +"strength\n" +"3. Internal bridge only - generates second bridge layers for internal " +"bridges over sparse infill only. Please note that the internal bridges count " +"towards the top shell layer count of your model. The second internal bridge " +"layer will be extruded as close to perpendicular to the first as possible. " +"If multiple regions in the same island, with varying bridge angles are " +"present, the last region of that island will be selected as the angle " +"reference\n" +"4. Apply to all - generates second bridge layers for both internal and " +"external-facing bridges\n" +msgstr "ตัวเลือกนี้ช่วยให้สามารถสร้างเลเยอร์บริดจ์เพิ่มไส้ในบนบริดจ์ภายในและภายนอกได้\n\nชั้นสะพานเพิ่มไส้ในช่วยปรับปรุงรูปลักษณ์และความน่าเชื่อถือของสะพาน เนื่องจากการรองรับแบบทึบนั้นดีกว่า สิ่งนี้มีประโยชน์อย่างยิ่งในเครื่องพิมพ์ที่รวดเร็ว ซึ่งความเร็วของบริดจ์และโซลิดอินฟิลจะแตกต่างกันมาก ชั้นสะพานที่เพิ่มขึ้นส่งผลให้การหมอนอิงบนพื้นผิวด้านบนลดลง เช่นเดียวกับการลดการแยกชั้นสะพานภายนอกออกจากปริมณฑลโดยรอบ\n\nโดยทั่วไปขอแนะนำให้ตั้งค่านี้เป็น 'บริดจ์ภายนอกเท่านั้น' เป็นอย่างน้อย เว้นแต่จะพบปัญหาเฉพาะกับโมเดลที่แบ่งส่วน\n\nตัวเลือก:\n1. ปิดใช้งาน - ไม่สร้างเลเยอร์บริดจ์ที่สอง นี่เป็นค่าเริ่มต้นและตั้งค่าไว้เพื่อความเข้ากันได้\n2. สะพานภายนอกเท่านั้น - สร้างชั้นสะพานที่สองสำหรับสะพานที่หันหน้าไปทางภายนอกเท่านั้น โปรดทราบว่าสะพานขนาดเล็กที่สั้นกว่าหรือแคบกว่าจำนวนเส้นรอบวงที่ตั้งไว้จะถูกข้ามไป เนื่องจากจะไม่ได้รับประโยชน์จากสะพานชั้นที่สอง หากสร้างขึ้น ชั้นสะพานที่สองจะถูกอัดรีดขนานกับชั้นสะพานแรกเพื่อเสริมความแข็งแรงของสะพาน\n3. บริดจ์ภายในเท่านั้น - สร้างชั้นบริดจ์ที่สองสำหรับบริดจ์ภายในเหนือ ไส้ใน แบบกระจัดกระจายเท่านั้น โปรดทราบว่าบริดจ์ภายในนับรวมกับจำนวนชั้นเปลือกชั้นบนสุดของโมเดลของคุณ ชั้นสะพานภายในที่สองจะถูกอัดให้ใกล้เคียงกับตั้งฉากกับชั้นแรกมากที่สุด หากมีหลายภูมิภาคบนเกาะเดียวกันซึ่งมีมุมสะพานที่แตกต่างกัน พื้นที่สุดท้ายของเกาะนั้นจะถูกเลือกเป็นการอ้างอิงมุม\n4. ใช้กับทั้งหมด - สร้างชั้นสะพานที่สองสำหรับสะพานที่หันหน้าไปทางภายในและภายนอก\n" + +msgid "External bridge only" +msgstr "สะพานภายนอกเท่านั้น" + +msgid "Internal bridge only" +msgstr "สะพานภายในเท่านั้น" + +msgid "Apply to all" +msgstr "นำไปใช้กับทั้งหมด" + +msgid "Filter out small internal bridges" +msgstr "กรองบริดจ์ภายในขนาดเล็กออก" + +msgid "" +"This option can help reduce pillowing on top surfaces in heavily slanted or " +"curved models.\n" +"By default, small internal bridges are filtered out and the internal solid " +"infill is printed directly over the sparse infill. This works well in most " +"cases, speeding up printing without too much compromise on top surface " +"quality.\n" +"However, in heavily slanted or curved models, especially where too low a " +"sparse infill density is used, this may result in curling of the unsupported " +"solid infill, causing pillowing.\n" +"Enabling limited filtering or no filtering will print internal bridge layer " +"over slightly unsupported internal solid infill. The options below control " +"the sensitivity of the filtering, i.e. they control where internal bridges " +"are created:\n" +"1. Filter - enables this option. This is the default behavior and works well " +"in most cases\n" +"2. Limited filtering - creates internal bridges on heavily slanted surfaces " +"while avoiding unnecessary bridges. This works well for most difficult " +"models\n" +"3. No filtering - creates internal bridges on every potential internal " +"overhang. This option is useful for heavily slanted top surface models; " +"however, in most cases, it creates too many unnecessary bridges." +msgstr "ตัวเลือกนี้สามารถช่วยลดการหมอนอิงบนพื้นผิวด้านบนในรุ่นที่เอียงหรือโค้งมาก\nตามค่าเริ่มต้น บริดจ์ภายในขนาดเล็กจะถูกกรองออก และ ไส้ใน แบบทึบภายในจะถูกพิมพ์โดยตรงบน ไส้ใน แบบกระจัดกระจาย วิธีนี้ใช้ได้ผลดีในกรณีส่วนใหญ่ โดยจะช่วยเร่งการพิมพ์โดยไม่กระทบต่อคุณภาพพื้นผิวด้านบนมากเกินไป\nอย่างไรก็ตาม ในรุ่นที่เอียงหรือโค้งมาก โดยเฉพาะอย่างยิ่งเมื่อใช้ความหนาแน่นของไส้ในที่เบาบางต่ำเกินไป อาจส่งผลให้ไส้ในที่เป็นของแข็งที่ไม่ได้รับส่วนรองรับโค้งงอ ทำให้เกิดการหมอนหนุน\nการเปิดใช้งานการกรองแบบจำกัดหรือไม่มีการกรองจะพิมพ์เลเยอร์บริดจ์ภายในทับไส้ในโซลิดภายในที่ไม่รองรับเล็กน้อย ตัวเลือกด้านล่างควบคุมความไวของการกรอง กล่าวคือ ควบคุมตำแหน่งที่สร้างบริดจ์ภายใน:\n1. ตัวกรอง - เปิดใช้งานตัวเลือกนี้ นี่เป็นพฤติกรรมเริ่มต้นและทำงานได้ดีในกรณีส่วนใหญ่\n2. การกรองแบบจำกัด - สร้างสะพานภายในบนพื้นผิวที่ลาดเอียงอย่างมาก ในขณะที่หลีกเลี่ยงสะพานที่ไม่จำเป็น วิธีนี้ใช้ได้ผลดีกับโมเดลที่ยากที่สุด\n3. ไม่มีการกรอง - สร้างสะพานภายในบนทุกส่วนยื่นภายในที่อาจเกิดขึ้น ตัวเลือกนี้มีประโยชน์สำหรับโมเดลพื้นผิวด้านบนที่เอียงมาก อย่างไรก็ตาม ในกรณีส่วนใหญ่ มันจะสร้างบริดจ์ที่ไม่จำเป็นมากเกินไป" + +msgid "Limited filtering" +msgstr "การกรองที่จำกัด" + +msgid "No filtering" +msgstr "ไม่มีการกรอง" + +msgid "Max bridge length" +msgstr "ความยาวสะพานสูงสุด" + +msgid "" +"Max length of bridges that don't need support. Set it to 0 if you want all " +"bridges to be supported, and set it to a very large value if you don't want " +"any bridges to be supported." +msgstr "ความยาวสูงสุดของสะพานที่ไม่ต้องการการรองรับ ตั้งค่าเป็น 0 หากคุณต้องการให้บริดจ์ทั้งหมดได้รับส่วนรองรับ และตั้งค่าเป็นค่าที่สูงมากหากคุณไม่ต้องการให้บริดจ์ใดๆ ได้รับการรองรับ" + +msgid "End G-code" +msgstr "จบ G-code" + +msgid "End G-code when finishing the entire print." +msgstr "สิ้นสุด G-code เมื่อพิมพ์เสร็จทั้งหมด" + +msgid "Between Object G-code" +msgstr "ระหว่างวัตถุ G-code" + +msgid "" +"Insert G-code between objects. This parameter will only come into effect " +"when you print your models object by object." +msgstr "แทรกรหัส G ระหว่างวัตถุ พารามิเตอร์นี้จะมีผลเมื่อคุณพิมพ์โมเดลของคุณทีละวัตถุเท่านั้น" + +msgid "End G-code when finishing the printing of this filament." +msgstr "สิ้นสุด G-code เมื่อเสร็จสิ้นการพิมพ์เส้นพลาสติกนี้" + +msgid "Ensure vertical shell thickness" +msgstr "ตรวจสอบความหนาของเปลือกแนวตั้ง" + +msgid "" +"Add solid infill near sloping surfaces to guarantee the vertical shell " +"thickness (top+bottom solid layers)\n" +"None: No solid infill will be added anywhere. Caution: Use this option " +"carefully if your model has sloped surfaces\n" +"Critical Only: Avoid adding solid infill for walls\n" +"Moderate: Add solid infill for heavily sloping surfaces only\n" +"All: Add solid infill for all suitable sloping surfaces\n" +"Default value is All." +msgstr "เพิ่มไส้ในแบบทึบใกล้กับพื้นผิวที่ลาดเอียงเพื่อรับประกันความหนาของเปลือกในแนวตั้ง (ชั้นแข็งบน + ล่าง)\nไม่มี: จะไม่มีการเพิ่ม ไส้ใน แบบทึบที่ใดก็ได้ ข้อควรระวัง: ใช้ตัวเลือกนี้อย่างระมัดระวังหากโมเดลของคุณมีพื้นผิวลาดเอียง\nที่สำคัญเท่านั้น: หลีกเลี่ยงไส้ในวัสดุแข็งให้กับผนัง\nปานกลาง: ไส้ในวัสดุแข็งสำหรับพื้นผิวที่มีความลาดเอียงมากเท่านั้น\nทั้งหมด: ไส้ในวัสดุแข็งสำหรับพื้นผิวลาดเอียงที่เหมาะสมทั้งหมด\nค่าเริ่มต้นคือทั้งหมด" + +msgid "Critical Only" +msgstr "สำคัญเท่านั้น" + +msgid "Moderate" +msgstr "ปานกลาง" + +msgid "Top surface pattern" +msgstr "รูปแบบผิวด้านบน" + +msgid "Line pattern of top surface infill." +msgstr "ลายเส้นของไส้ในพื้นผิวด้านบน" + +msgid "Monotonic" +msgstr "โมโนโทนิค" + +msgid "Monotonic line" +msgstr "เส้นโมโนโทนิค" + +msgid "Rectilinear" +msgstr "เป็นเส้นตรง" + +msgid "Aligned Rectilinear" +msgstr "จัดแนวเป็นเส้นตรง" + +msgid "Concentric" +msgstr "ศูนย์กลาง" + +msgid "Hilbert Curve" +msgstr "ฮิลเบิร์ต เคิร์ฟ" + +msgid "Archimedean Chords" +msgstr "คอร์ดอาร์คิมีดีน" + +msgid "Octagram Spiral" +msgstr "เกลียวแปดเหลี่ยม" + +msgid "Bottom surface pattern" +msgstr "รูปแบบผิวด้านล่าง" + +msgid "Line pattern of bottom surface infill, not bridge infill." +msgstr "รูปแบบเส้นของไส้ในพื้นผิวด้านล่าง ไม่ใช่ไส้ในแบบบริดจ์" + +msgid "Internal solid infill pattern" +msgstr "รูปแบบไส้ในของแข็งภายใน" + +msgid "" +"Line pattern of internal solid infill. if the detect narrow internal solid " +"infill be enabled, the concentric pattern will be used for the small area." +msgstr "ลวดลายเส้นทึบภายใน หากเปิดใช้งานการตรวจจับไส้ในของแข็งภายในที่แคบ รูปแบบศูนย์กลางจะถูกใช้สำหรับพื้นที่ขนาดเล็ก" + +msgid "" +"Line width of outer wall. If expressed as a %, it will be computed over the " +"nozzle diameter." +msgstr "ความกว้างของเส้นของผนังด้านนอก หากแสดงเป็น % จะคำนวณตามเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "" +"Speed of outer wall which is outermost and visible. It's used to be slower " +"than inner wall speed to get better quality." +msgstr "ความเร็วของผนังด้านนอกซึ่งอยู่ด้านนอกสุดและมองเห็นได้ เคยช้ากว่าความเร็วผนังด้านในเพื่อให้ได้คุณภาพที่ดีขึ้น" + +msgid "Small perimeters" +msgstr "เส้นรอบวงเล็ก" + +msgid "" +"This separate setting will affect the speed of perimeters having radius <= " +"small_perimeter_threshold (usually holes). If expressed as percentage (for " +"example: 80%) it will be calculated on the outer wall speed setting above. " +"Set to zero for auto." +msgstr "การตั้งค่าแยกนี้จะส่งผลต่อความเร็วของเส้นรอบวงที่มีรัศมี <= small_perimeter_threshold (โดยปกติคือรู) หากแสดงเป็นเปอร์เซ็นต์ (เช่น 80%) ระบบจะคำนวณตามการตั้งค่าความเร็วผนังด้านนอกด้านบน ตั้งค่าเป็นศูนย์สำหรับรถยนต์" + +msgid "Small perimeters threshold" +msgstr "เกณฑ์ขอบเขตขนาดเล็ก" + +msgid "" +"This sets the threshold for small perimeter length. Default threshold is 0mm." +msgstr "นี่เป็นการกำหนดเกณฑ์สำหรับความยาวเส้นรอบวงเล็กน้อย เกณฑ์เริ่มต้นคือ 0 มม." + +msgid "Walls printing order" +msgstr "สั่งพิมพ์ผนัง" + +msgid "" +"Print sequence of the internal (inner) and external (outer) walls.\n" +"\n" +"Use Inner/Outer for best overhangs. This is because the overhanging walls " +"can adhere to a neighbouring perimeter while printing. However, this option " +"results in slightly reduced surface quality as the external perimeter is " +"deformed by being squashed to the internal perimeter.\n" +"\n" +"Use Inner/Outer/Inner for the best external surface finish and dimensional " +"accuracy as the external wall is printed undisturbed from an internal " +"perimeter. However, overhang performance will reduce as there is no internal " +"perimeter to print the external wall against. This option requires a minimum " +"of 3 walls to be effective as it prints the internal walls from the 3rd " +"perimeter onwards first, then the external perimeter and, finally, the first " +"internal perimeter. This option is recommended against the Outer/Inner " +"option in most cases.\n" +"\n" +"Use Outer/Inner for the same external wall quality and dimensional accuracy " +"benefits of Inner/Outer/Inner option. However, the Z seams will appear less " +"consistent as the first extrusion of a new layer starts on a visible surface." +msgstr "ลำดับการพิมพ์ของผนังภายใน (ด้านใน) และภายนอก (ด้านนอก)\n\nใช้ด้านใน/ด้านนอกเพื่อให้ได้ระยะยื่นที่ดีที่สุด เนื่องจากผนังที่ยื่นออกมาสามารถยึดติดกับปริมณฑลใกล้เคียงขณะพิมพ์ได้ อย่างไรก็ตาม ตัวเลือกนี้ส่งผลให้คุณภาพพื้นผิวลดลงเล็กน้อย เนื่องจากเส้นรอบวงภายนอกเสียรูปเนื่องจากการถูกแบนไปยังเส้นรอบวงภายใน\n\nใช้ด้านใน/ด้านนอก/ด้านในเพื่อให้ได้พื้นผิวภายนอกที่ดีที่สุดและความแม่นยำของขนาด เนื่องจากผนังภายนอกถูกพิมพ์โดยไม่ถูกรบกวนจากขอบเขตภายใน อย่างไรก็ตาม ประสิทธิภาพส่วนยื่นจะลดลงเนื่องจากไม่มีขอบเขตภายในให้พิมพ์ติดกับผนังภายนอก ตัวเลือกนี้ต้องใช้ผนังอย่างน้อย 3 แผ่นจึงจะมีประสิทธิภาพ เนื่องจากจะพิมพ์ผนังภายในจากปริมณฑลที่ 3 เป็นต้นไป จากนั้นจึงพิมพ์ปริมณฑลภายนอก และสุดท้ายคือปริมณฑลภายในแรก แนะนำให้ใช้ตัวเลือกนี้กับตัวเลือกด้านนอก/ด้านในในกรณีส่วนใหญ่\n\nใช้ด้านนอก/ด้านในเพื่อคุณภาพผนังภายนอกที่เหมือนกันและประโยชน์ด้านความแม่นยำของมิติของตัวเลือกด้านใน/ด้านนอก/ด้านใน อย่างไรก็ตาม รอยตะเข็บ Z จะดูสม่ำเสมอน้อยลงเนื่องจากการอัดขึ้นรูปชั้นใหม่ครั้งแรกเริ่มต้นบนพื้นผิวที่มองเห็นได้" + +msgid "Inner/Outer" +msgstr "ภายใน/ภายนอก" + +msgid "Outer/Inner" +msgstr "ด้านนอก/ด้านใน" + +msgid "Inner/Outer/Inner" +msgstr "ภายใน/ภายนอก/ภายใน" + +msgid "Print infill first" +msgstr "พิมพ์ไส้ในก่อน" + +msgid "" +"Order of wall/infill. When the tickbox is unchecked the walls are printed " +"first, which works best in most cases.\n" +"\n" +"Printing infill first may help with extreme overhangs as the walls have the " +"neighbouring infill to adhere to. However, the infill will slightly push out " +"the printed walls where it is attached to them, resulting in a worse " +"external surface finish. It can also cause the infill to shine through the " +"external surfaces of the part." +msgstr "ลำดับของผนัง/ไส้ใน เมื่อยกเลิกการเลือกช่องทำเครื่องหมาย ผนังจะถูกพิมพ์ก่อน ซึ่งใช้งานได้ดีที่สุดในกรณีส่วนใหญ่\n\nการพิมพ์แบบ ไส้ใน ก่อนอาจช่วยให้มีระยะยื่นมากเกินไป เนื่องจากผนังมี ไส้ใน ที่อยู่ใกล้เคียงให้ยึดติด อย่างไรก็ตาม ไส้ในจะดันผนังที่พิมพ์ออกมาเล็กน้อยซึ่งติดอยู่ ส่งผลให้พื้นผิวภายนอกที่ได้คุณภาพแย่ลง นอกจากนี้ยังสามารถทำให้ ไส้ใน ส่องผ่านพื้นผิวภายนอกของชิ้นส่วนได้" + +msgid "Wall loop direction" +msgstr "ทิศทางของวงผนัง" + +msgid "" +"The direction which the contour wall loops are extruded when looking down " +"from the top.\n" +"Holes are printed in the opposite direction to the contour to maintain " +"alignment with layers whose contour polygons are incomplete and change " +"direction, also partially forming the contour of a hole.\n" +"\n" +"This option will be disabled if spiral vase mode is enabled." +msgstr "ทิศทางที่ลูปผนังรูปร่างถูกอัดออกมาเมื่อมองลงมาจากด้านบน\nรูจะถูกพิมพ์ในทิศทางตรงกันข้ามกับเส้นขอบเพื่อรักษาแนวเดียวกับชั้นที่มีรูปหลายเหลี่ยมเส้นขอบไม่สมบูรณ์และเปลี่ยนทิศทาง รวมถึงสร้างรูปร่างของรูบางส่วนด้วย\n\nตัวเลือกนี้จะถูกปิดใช้งานหากเปิดใช้งานโหมดแจกันเกลียว" + +msgid "Counter clockwise" +msgstr "ทวนเข็มนาฬิกา" + +msgid "Clockwise" +msgstr "ตามเข็มนาฬิกา" + +msgid "Height to rod" +msgstr "ความสูงถึงก้าน" + +msgid "" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." +msgstr "ระยะห่างของปลายหัวฉีดถึงแกนล่าง ใช้สำหรับการหลีกเลี่ยงการชนกันในการพิมพ์ตามวัตถุ" + +msgid "Height to lid" +msgstr "ความสูงถึงฝา" + +msgid "" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." +msgstr "ระยะห่างของปลายหัวฉีดถึงฝา ใช้สำหรับการหลีกเลี่ยงการชนกันในการพิมพ์ตามวัตถุ" + +msgid "" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "รัศมีการกวาดล้างรอบชุดดันเส้น ใช้สำหรับการหลีกเลี่ยงการชนกันในการพิมพ์ตามวัตถุ" + +msgid "Nozzle height" +msgstr "ความสูงของหัวฉีด" + +msgid "The height of nozzle tip." +msgstr "ความสูงของปลายหัวฉีด" + +msgid "Bed mesh min" +msgstr "ตาข่ายฐานพิมพ์ขั้นต่ำ" + +msgid "" +"This option sets the min point for the allowed bed mesh area. Due to the " +"probe's XY offset, most printers are unable to probe the entire bed. To " +"ensure the probe point does not go outside the bed area, the minimum and " +"maximum points of the bed mesh should be set appropriately. OrcaSlicer " +"ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not " +"exceed these min/max points. This information can usually be obtained from " +"your printer manufacturer. The default setting is (-99999, -99999), which " +"means there are no limits, thus allowing probing across the entire bed." +msgstr "ตัวเลือกนี้จะตั้งค่าจุดต่ำสุดสำหรับพื้นที่ตาข่ายเบดที่อนุญาต เนื่องจากออฟเซ็ต XY ของโพรบ เครื่องพิมพ์ส่วนใหญ่จึงไม่สามารถตรวจสอบทั้งเบดได้ เพื่อให้แน่ใจว่าจุดโพรบไม่ออกไปนอกบริเวณฐานพิมพ์ ควรตั้งค่าจุดต่ำสุดและสูงสุดของตาข่ายเบดอย่างเหมาะสม OrcaSlicer ช่วยให้มั่นใจได้ว่าค่าของ adaptive_bed_mesh_min/adaptive_bed_mesh_max จะต้องไม่เกินจุดต่ำสุด/สูงสุดเหล่านี้ โดยปกติข้อมูลนี้สามารถรับได้จากผู้ผลิตเครื่องพิมพ์ของคุณ การตั้งค่าเริ่มต้นคือ (-99999, -99999) ซึ่งหมายความว่าไม่มีขีดจำกัด จึงสามารถตรวจวัดทั่วทั้งฐานพิมพ์ได้" + +msgid "Bed mesh max" +msgstr "ตาข่ายฐานพิมพ์สูงสุด" + +msgid "" +"This option sets the max point for the allowed bed mesh area. Due to the " +"probe's XY offset, most printers are unable to probe the entire bed. To " +"ensure the probe point does not go outside the bed area, the minimum and " +"maximum points of the bed mesh should be set appropriately. OrcaSlicer " +"ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not " +"exceed these min/max points. This information can usually be obtained from " +"your printer manufacturer. The default setting is (99999, 99999), which " +"means there are no limits, thus allowing probing across the entire bed." +msgstr "ตัวเลือกนี้จะตั้งค่าจุดสูงสุดสำหรับพื้นที่ตาข่ายฐานพิมพ์ที่อนุญาต เนื่องจากออฟเซ็ต XY ของโพรบ เครื่องพิมพ์ส่วนใหญ่จึงไม่สามารถตรวจสอบทั้งเบดได้ เพื่อให้แน่ใจว่าจุดโพรบไม่ออกไปนอกบริเวณฐานพิมพ์ ควรตั้งค่าจุดต่ำสุดและสูงสุดของตาข่ายเบดอย่างเหมาะสม OrcaSlicer ช่วยให้มั่นใจได้ว่าค่าของ adaptive_bed_mesh_min/adaptive_bed_mesh_max จะต้องไม่เกินจุดต่ำสุด/สูงสุดเหล่านี้ โดยปกติข้อมูลนี้สามารถรับได้จากผู้ผลิตเครื่องพิมพ์ของคุณ การตั้งค่าเริ่มต้นคือ (99999, 99999) ซึ่งหมายความว่าไม่มีขีดจำกัด จึงสามารถตรวจวัดทั่วทั้งฐานพิมพ์ได้" + +msgid "Probe point distance" +msgstr "ระยะทางจุดโพรบ" + +msgid "" +"This option sets the preferred distance between probe points (grid size) for " +"the X and Y directions, with the default being 50mm for both X and Y." +msgstr "ตัวเลือกนี้จะตั้งค่าระยะห่างที่ต้องการระหว่างจุดโพรบ (ขนาดตาราง) สำหรับทิศทาง X และ Y โดยค่าเริ่มต้นคือ 50 มม. สำหรับทั้ง X และ Y" + +msgid "Mesh margin" +msgstr "ขอบตาข่าย" + +msgid "" +"This option determines the additional distance by which the adaptive bed " +"mesh area should be expanded in the XY directions." +msgstr "ตัวเลือกนี้จะกำหนดระยะห่างเพิ่มไส้ในที่ควรขยายพื้นที่ตาข่ายเบดแบบปรับได้ในทิศทาง XY" + +msgid "Grab length" +msgstr "ความยาวคว้า" + +msgid "Extruder Color" +msgstr "สีชุดดันเส้น" + +msgid "Only used as a visual help on UI." +msgstr "ใช้เป็นภาพช่วยเหลือบน UI เท่านั้น" + +msgid "Extruder offset" +msgstr "การชดเชยชุดดันเส้น" + +msgid "" +"The material may have volumetric change after switching between molten and " +"crystalline states. This setting changes all extrusion flow of this filament " +"in G-code proportionally. The recommended value range is between 0.95 and " +"1.05. You may be able to tune this value to get a nice flat surface if there " +"is slight overflow or underflow." +msgstr "วัสดุอาจมีการเปลี่ยนแปลงเชิงปริมาตรหลังจากสลับระหว่างสถานะหลอมเหลวและสถานะผลึก การตั้งค่านี้จะเปลี่ยนการไหลอัดรีดทั้งหมดของเส้นพลาสติกนี้ใน G-code ตามสัดส่วน ช่วงค่าที่แนะนำคือระหว่าง 0.95 ถึง 1.05 คุณอาจสามารถปรับค่านี้เพื่อให้ได้พื้นผิวที่เรียบสวยงามได้หากมีน้ำล้นหรืออันเดอร์โฟลว์เล็กน้อย" + +msgid "" +"The material may have volumetric change after switching between molten and " +"crystalline states. This setting changes all extrusion flow of this filament " +"in G-code proportionally. The recommended value range is between 0.95 and " +"1.05. You may be able to tune this value to get a nice flat surface if there " +"is slight overflow or underflow.\n" +"\n" +"The final object flow ratio is this value multiplied by the filament flow " +"ratio." +msgstr "วัสดุอาจมีการเปลี่ยนแปลงเชิงปริมาตรหลังจากสลับระหว่างสถานะหลอมเหลวและสถานะผลึก การตั้งค่านี้จะเปลี่ยนการไหลอัดรีดทั้งหมดของเส้นพลาสติกนี้ใน G-code ตามสัดส่วน ช่วงค่าที่แนะนำคือระหว่าง 0.95 ถึง 1.05 คุณอาจสามารถปรับค่านี้เพื่อให้ได้พื้นผิวที่เรียบสวยงามได้หากมีน้ำล้นหรืออันเดอร์โฟลว์เล็กน้อย\n\nอัตราการไหลของวัตถุขั้นสุดท้ายคือค่านี้คูณด้วยอัตราการไหลของเส้นพลาสติก" + +msgid "Enable pressure advance" +msgstr "เปิดใช้งานPressure Advance" + +msgid "" +"Enable pressure advance, auto calibration result will be overwritten once " +"enabled." +msgstr "เปิดใช้งานการเลื่อนแรงดัน ผลลัพธ์การสอบเทียบอัตโนมัติจะถูกเขียนทับเมื่อเปิดใช้งาน" + +msgid "Pressure advance (Klipper) AKA Linear advance factor (Marlin)." +msgstr "แรงดันล่วงหน้า (Pressure Advance) (Klipper) AKA Linear Advance Factor (Marlin)" + +msgid "Enable adaptive pressure advance (beta)" +msgstr "เปิดใช้งานการปรับPressure Advance (เบต้า)" + +#, no-c-format, no-boost-format +msgid "" +"With increasing print speeds (and hence increasing volumetric flow through " +"the nozzle) and increasing accelerations, it has been observed that the " +"effective PA value typically decreases. This means that a single PA value is " +"not always 100% optimal for all features and a compromise value is usually " +"used that does not cause too much bulging on features with lower flow speed " +"and accelerations while also not causing gaps on faster features.\n" +"\n" +"This feature aims to address this limitation by modeling the response of " +"your printer's extrusion system depending on the volumetric flow speed and " +"acceleration it is printing at. Internally, it generates a fitted model that " +"can extrapolate the needed pressure advance for any given volumetric flow " +"speed and acceleration, which is then emitted to the printer depending on " +"the current print conditions.\n" +"\n" +"When enabled, the pressure advance value above is overridden. However, a " +"reasonable default value above is strongly recommended to act as a fallback " +"and for when tool changing.\n" +"\n" +msgstr "ด้วยความเร็วในการพิมพ์ที่เพิ่มขึ้น (และด้วยเหตุนี้จึงเพิ่มการไหลเชิงปริมาตรผ่านหัวฉีด) และการเร่งความเร็วที่เพิ่มขึ้น พบว่าค่า PA ที่มีประสิทธิผลโดยทั่วไปจะลดลง ซึ่งหมายความว่าค่า PA เดียวอาจไม่ได้เหมาะสมที่สุด 100% เสมอไปสำหรับคุณสมบัติทั้งหมด และโดยปกติแล้วจะใช้ค่าประนีประนอมที่ไม่ทำให้เกิดการปูดมากเกินไปในคุณสมบัติที่มีความเร็วการไหลและความเร่งต่ำ ขณะเดียวกันก็ไม่ทำให้เกิดช่องว่างในคุณสมบัติที่เร็วกว่า\n\nคุณลักษณะนี้มีจุดมุ่งหมายเพื่อแก้ไขข้อจำกัดนี้โดยการสร้างแบบจำลองการตอบสนองของระบบการอัดขึ้นรูปของเครื่องพิมพ์ของคุณ โดยขึ้นอยู่กับความเร็วการไหลตามปริมาตรและความเร่งที่เครื่องพิมพ์ทำการพิมพ์ ภายใน เครื่องพิมพ์จะสร้างแบบจำลองที่ติดตั้งไว้ซึ่งสามารถคาดเดาPressure Advanceที่จำเป็นสำหรับความเร็วและความเร่งในการไหลตามปริมาตรที่กำหนด ซึ่งจากนั้นจะปล่อยไปยังเครื่องพิมพ์โดยขึ้นอยู่กับสภาพการพิมพ์ในปัจจุบัน\n\nเมื่อเปิดใช้งาน ค่าล่วงหน้าของแรงดันด้านบนจะถูกแทนที่ อย่างไรก็ตาม แนะนำให้ใช้ค่าเริ่มต้นที่สมเหตุสมผลด้านบนเพื่อเป็นทางเลือกและเมื่อมีการเปลี่ยนเครื่องมือ\n" + +msgid "Adaptive pressure advance measurements (beta)" +msgstr "การวัดล่วงหน้าด้วยแรงดันแบบปรับได้ (เบต้า)" + +#, no-c-format, no-boost-format +msgid "" +"Add sets of pressure advance (PA) values, the volumetric flow speeds and " +"accelerations they were measured at, separated by a comma. One set of values " +"per line. For example\n" +"0.04,3.96,3000\n" +"0.033,3.96,10000\n" +"0.029,7.91,3000\n" +"0.026,7.91,10000\n" +"\n" +"How to calibrate:\n" +"1. Run the pressure advance test for at least 3 speeds per acceleration " +"value. It is recommended that the test is run for at least the speed of the " +"external perimeters, the speed of the internal perimeters and the fastest " +"feature print speed in your profile (usually its the sparse or solid " +"infill). Then run them for the same speeds for the slowest and fastest print " +"accelerations, and no faster than the recommended maximum acceleration as " +"given by the Klipper input shaper\n" +"2. Take note of the optimal PA value for each volumetric flow speed and " +"acceleration. You can find the flow number by selecting flow from the color " +"scheme drop down and move the horizontal slider over the PA pattern lines. " +"The number should be visible at the bottom of the page. The ideal PA value " +"should be decreasing the higher the volumetric flow is. If it is not, " +"confirm that your extruder is functioning correctly. The slower and with " +"less acceleration you print, the larger the range of acceptable PA values. " +"If no difference is visible, use the PA value from the faster test\n" +"3. Enter the triplets of PA values, Flow and Accelerations in the text box " +"here and save your filament profile." +msgstr "เพิ่มชุดของค่าความดันล่วงหน้า (PA) ความเร็วการไหลเชิงปริมาตร และความเร่งที่วัดได้โดยคั่นด้วยเครื่องหมายจุลภาค หนึ่งชุดของค่าต่อบรรทัด ตัวอย่างเช่น\n0.04,3.96,3000\n0.033,3.96,10000\n0.029,7.91,3000\n0.026,7.91,10000\n\nวิธีปรับเทียบ:\n1. รันการทดสอบPressure Advanceอย่างน้อย 3 ความเร็วต่อค่าความเร่ง ขอแนะนำให้ทำการทดสอบความเร็วของเส้นรอบวงภายนอก ความเร็วของเส้นรอบวงภายใน และความเร็วการพิมพ์คุณลักษณะที่เร็วที่สุดในโปรไฟล์ของคุณเป็นอย่างน้อย (โดยปกติจะเป็นการกรอกข้อมูลแบบเบาบางหรือทึบ) จากนั้นรันด้วยความเร็วเท่ากันเพื่อการเร่งความเร็วการพิมพ์ที่ช้าที่สุดและเร็วที่สุด และไม่เร็วกว่าการเร่งความเร็วสูงสุดที่แนะนำตามที่กำหนดโดย Klipper input Shaper\n2. จดบันทึกค่า PA ที่เหมาะสมที่สุดสำหรับความเร็วการไหลและความเร่งตามปริมาตรแต่ละรายการ คุณสามารถค้นหาหมายเลขโฟลว์ได้โดยเลือกโฟลว์จากรายการสีแบบเลื่อนลง และเลื่อนแถบเลื่อนแนวนอนไปเหนือเส้นรูปแบบ PA หมายเลขควรปรากฏที่ด้านล่างของหน้า ค่า PA ในอุดมคติควรลดลงตามอัตราการไหลตามปริมาตรที่สูงขึ้น หากไม่เป็นเช่นนั้น ให้ยืนยันว่าชุดดันเส้นของคุณทำงานอย่างถูกต้อง ยิ่งคุณพิมพ์ช้าลงและเร่งความเร็วน้อยลง ช่วงของค่า PA ที่ยอมรับได้ก็จะยิ่งมากขึ้นเท่านั้น หากไม่เห็นความแตกต่าง ให้ใช้ค่า PA จากการทดสอบที่เร็วกว่า\n3. ป้อนค่า PA, การไหล และความเร่งสามเท่าในกล่องข้อความที่นี่ และบันทึกโปรไฟล์เส้นพลาสติกของคุณ" + +msgid "Enable adaptive pressure advance for overhangs (beta)" +msgstr "เปิดใช้งานการปรับPressure Advanceสำหรับระยะยื่น (เบต้า)" + +msgid "" +"Enable adaptive PA for overhangs as well as when flow changes within the " +"same feature. This is an experimental option, as if the PA profile is not " +"set accurately, it will cause uniformity issues on the external surfaces " +"before and after overhangs.\n" +msgstr "เปิดใช้งาน PA แบบปรับได้สำหรับส่วนยื่นและเมื่อโฟลว์เปลี่ยนแปลงภายในฟีเจอร์เดียวกัน นี่เป็นตัวเลือกทดลอง ราวกับว่าโปรไฟล์ PA ไม่ได้ตั้งค่าอย่างถูกต้อง ก็จะทำให้เกิดปัญหาความสม่ำเสมอบนพื้นผิวภายนอกก่อนและหลังระยะยื่น\n" + +msgid "Pressure advance for bridges" +msgstr "แรงดันล่วงหน้า (Pressure Advance)สำหรับสะพาน" + +msgid "" +"Pressure advance value for bridges. Set to 0 to disable.\n" +"\n" +"A lower PA value when printing bridges helps reduce the appearance of slight " +"under extrusion immediately after bridges. This is caused by the pressure " +"drop in the nozzle when printing in the air and a lower PA helps counteract " +"this." +msgstr "ค่าPressure Advanceสำหรับสะพาน ตั้งค่าเป็น 0 เพื่อปิดใช้งาน\n\nค่า PA ที่ต่ำลงเมื่อพิมพ์บริดจ์จะช่วยลดลักษณะที่ปรากฏเล็กน้อยจากการอัดขึ้นรูปทันทีหลังจากบริดจ์ สาเหตุนี้เกิดจากแรงดันตกในหัวฉีดเมื่อพิมพ์ในอากาศ และค่า PA ที่ต่ำกว่าจะช่วยแก้ปัญหานี้ได้" + +msgid "" +"Default line width if other line widths are set to 0. If expressed as a %, " +"it will be computed over the nozzle diameter." +msgstr "ความกว้างของเส้นเริ่มต้นหากความกว้างของเส้นอื่นตั้งค่าเป็น 0 หากแสดงเป็น % ระบบจะคำนวณตามเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Keep fan always on" +msgstr "เปิดพัดลมไว้ตลอดเวลา" + +msgid "" +"Enabling this setting means that the part cooling fan will never stop " +"completely and will run at least at minimum speed to reduce the frequency of " +"starting and stopping." +msgstr "การเปิดใช้งานการตั้งค่านี้หมายความว่าพัดลมระบายความร้อนของชิ้นส่วนจะไม่หยุดทำงานโดยสิ้นเชิง และจะทำงานที่ความเร็วขั้นต่ำเป็นอย่างน้อยเพื่อลดความถี่ในการสตาร์ทและหยุด" + +msgid "Don't slow down outer walls" +msgstr "อย่าทำให้กำแพงด้านนอกช้าลง" + +msgid "" +"If enabled, this setting will ensure external perimeters are not slowed down " +"to meet the minimum layer time. This is particularly helpful in the below " +"scenarios:\n" +"1. To avoid changes in shine when printing glossy filaments\n" +"2. To avoid changes in external wall speed which may create slight wall " +"artifacts that appear like Z banding\n" +"3. To avoid printing at speeds which cause VFAs (fine artifacts) on the " +"external walls" +msgstr "หากเปิดใช้งาน การตั้งค่านี้จะช่วยให้แน่ใจว่าขอบเขตภายนอกจะไม่ช้าลงเพื่อให้ตรงตามเวลาขั้นต่ำของเลเยอร์ สิ่งนี้มีประโยชน์อย่างยิ่งในสถานการณ์ด้านล่าง:\n1. เพื่อหลีกเลี่ยงการเปลี่ยนแปลงความมันเงาเมื่อพิมพ์เส้นพลาสติกมัน\n2. เพื่อหลีกเลี่ยงการเปลี่ยนแปลงความเร็วของผนังภายนอกซึ่งอาจสร้างสิ่งรบกวนผนังเล็กน้อยที่ดูเหมือนแถบ Z\n3. เพื่อหลีกเลี่ยงการพิมพ์ด้วยความเร็วซึ่งทำให้เกิด VFA (สิ่งประดิษฐ์ที่ดี) บนผนังภายนอก" + +msgid "Layer time" +msgstr "เวลาเลเยอร์" + +msgid "" +"Part cooling fan will be enabled for layers of which estimated time is " +"shorter than this value. Fan speed is interpolated between the minimum and " +"maximum fan speeds according to layer printing time." +msgstr "พัดลมระบายความร้อนบางส่วนจะถูกเปิดใช้งานสำหรับเลเยอร์ที่เวลาโดยประมาณสั้นกว่าค่านี้ ความเร็วพัดลมจะถูกประมาณค่าระหว่างความเร็วพัดลมขั้นต่ำและสูงสุดตามเวลาการพิมพ์เลเยอร์" + +msgid "s" +msgstr "วินาที" + +msgid "Default color" +msgstr "สีเริ่มต้น" + +msgid "" +"Default filament color.\n" +"Right click to reset value to system default." +msgstr "สีเส้นพลาสติกเริ่มต้น\nคลิกขวาเพื่อรีเซ็ตค่าเป็นค่าเริ่มต้นของระบบ" + +msgid "Filament notes" +msgstr "หมายเหตุเส้นพลาสติก" + +msgid "You can put your notes regarding the filament here." +msgstr "คุณสามารถใส่บันทึกของคุณเกี่ยวกับเส้นพลาสติกได้ที่นี่" + +msgid "Required nozzle HRC" +msgstr "หัวฉีด HRC ที่จำเป็น" + +msgid "" +"Minimum HRC of nozzle required to print the filament. Zero means no checking " +"of nozzle's HRC." +msgstr "HRC ขั้นต่ำของหัวฉีดที่จำเป็นสำหรับการพิมพ์เส้นพลาสติก ศูนย์หมายถึงไม่มีการตรวจสอบ HRC ของหัวฉีด" + +msgid "Filament map to extruder" +msgstr "แผนที่เส้นพลาสติกไปยังชุดดันเส้น" + +msgid "Filament map to extruder." +msgstr "แผนที่เส้นพลาสติกไปยังชุดดันเส้น" + +msgid "Auto For Flush" +msgstr "อัตโนมัติสำหรับไล่เส้น" + +msgid "Auto For Match" +msgstr "อัตโนมัติสำหรับการแข่งขัน" + +msgid "Enable filament dynamic map" +msgstr "เปิดใช้งานแผนที่ไดนามิกของเส้นพลาสติก" + +msgid "Enable dynamic filament mapping during print." +msgstr "เปิดใช้งานการแมปเส้นพลาสติกแบบไดนามิกระหว่างการพิมพ์" + +msgid "Has filament switcher" +msgstr "มีตัวสลับเส้นพลาสติก" + +msgid "Printer has a filament switcher hardware (e.g., AMS)." +msgstr "เครื่องพิมพ์มีฮาร์ดแวร์ตัวสลับเส้นพลาสติก (เช่น AMS)" + +msgid "Flush temperature" +msgstr "อุณหภูมิไล่เส้น" + +msgid "" +"Temperature when flushing filament. 0 indicates the upper bound of the " +"recommended nozzle temperature range." +msgstr "อุณหภูมิเมื่อทำการล้างเส้นพลาสติก 0 หมายถึงขอบเขตบนของช่วงอุณหภูมิหัวฉีดที่แนะนำ" + +msgid "Flush volumetric speed" +msgstr "ความเร็วเชิงปริมาตรไล่เส้น" + +msgid "" +"Volumetric speed when flushing filament. 0 indicates the max volumetric " +"speed." +msgstr "ความเร็วตามปริมาตรเมื่อทำการล้างเส้นพลาสติก 0 หมายถึงความเร็วปริมาตรสูงสุด" + +msgid "" +"This setting stands for how much volume of filament can be melted and " +"extruded per second. Printing speed is limited by max volumetric speed, in " +"case of too high and unreasonable speed setting. Can't be zero." +msgstr "การตั้งค่านี้หมายถึงปริมาณเส้นพลาสติกที่สามารถหลอมและอัดขึ้นรูปต่อวินาทีได้ ความเร็วในการพิมพ์จะถูกจำกัดด้วยความเร็วปริมาตรสูงสุด ในกรณีที่ตั้งค่าความเร็วไว้สูงเกินไปและไม่เหมาะสม ไม่สามารถเป็นศูนย์ได้" + +msgid "Filament load time" +msgstr "เวลาในการโหลดเส้นพลาสติก" + +msgid "" +"Time to load new filament when switch filament. It's usually applicable for " +"single-extruder multi-material machines. For tool changers or multi-tool " +"machines, it's typically 0. For statistics only." +msgstr "เวลาในการโหลดเส้นพลาสติกใหม่เมื่อเปลี่ยนเส้นพลาสติก โดยปกติแล้วจะใช้ได้กับเครื่องจักรที่ใช้วัสดุหลายชุดดันเส้นเดี่ยว สำหรับเครื่องเปลี่ยนเครื่องมือหรือเครื่องจักรหลายเครื่องมือ โดยทั่วไปจะเป็น 0 สำหรับสถิติเท่านั้น" + +msgid "Filament unload time" +msgstr "เวลาขนถ่ายเส้นพลาสติก" + +msgid "" +"Time to unload old filament when switch filament. It's usually applicable " +"for single-extruder multi-material machines. For tool changers or multi-tool " +"machines, it's typically 0. For statistics only." +msgstr "ถึงเวลาขนเส้นพลาสติกเก่าออกเมื่อเปลี่ยนเส้นพลาสติก โดยปกติแล้วจะใช้ได้กับเครื่องจักรที่ใช้วัสดุหลายชุดดันเส้นเดี่ยว สำหรับเครื่องเปลี่ยนเครื่องมือหรือเครื่องจักรหลายเครื่องมือ โดยทั่วไปจะเป็น 0 สำหรับสถิติเท่านั้น" + +msgid "Tool change time" +msgstr "เวลาเปลี่ยนเครื่องมือ" + +msgid "" +"Time taken to switch tools. It's usually applicable for tool changers or " +"multi-tool machines. For single-extruder multi-material machines, it's " +"typically 0. For statistics only." +msgstr "เวลาที่ใช้ในการเปลี่ยนเครื่องมือ โดยปกติแล้วจะใช้ได้กับเครื่องเปลี่ยนเครื่องมือหรือเครื่องจักรที่มีเครื่องมือหลายเครื่องมือ สำหรับเครื่องจักรที่ใช้วัสดุหลายชนิดโดยใช้ชุดดันเส้นเดี่ยว โดยทั่วไปจะเป็น 0 สำหรับสถิติเท่านั้น" + +msgid "Bed temperature type" +msgstr "ประเภทอุณหภูมิฐานพิมพ์" + +msgid "" +"This option determines how the bed temperature is set during slicing: based " +"on the temperature of the first filament or the highest temperature of the " +"printed filaments." +msgstr "ตัวเลือกนี้จะกำหนดวิธีการตั้งค่าอุณหภูมิฐานในระหว่างการหั่น: ขึ้นอยู่กับอุณหภูมิของเส้นพลาสติกเส้นแรกหรืออุณหภูมิสูงสุดของเส้นพลาสติกที่พิมพ์" + +msgid "By First filament" +msgstr "โดย เฟิร์ส ฟิลาเมนท์" + +msgid "By Highest Temp" +msgstr "โดยอุณหภูมิสูงสุด" + +msgid "" +"Filament diameter is used to calculate extrusion in G-code, so it is " +"important and should be accurate." +msgstr "เส้นผ่านศูนย์กลางของฟิลาเมนต์ใช้ในการคำนวณการอัดขึ้นรูปใน G-code ดังนั้นจึงมีความสำคัญและควรมีความแม่นยำ" + +msgid "Pellet flow coefficient" +msgstr "ค่าสัมประสิทธิ์การไหลของเม็ด" + +msgid "" +"Pellet flow coefficient is empirically derived and allows for volume " +"calculation for pellet printers.\n" +"\n" +"Internally it is converted to filament_diameter. All other volume " +"calculations remain the same.\n" +"\n" +"filament_diameter = sqrt( (4 * pellet_flow_coefficient) / PI )" +msgstr "ค่าสัมประสิทธิ์การไหลของเม็ดได้มาจากการทดลอง และช่วยให้สามารถคำนวณปริมาตรสำหรับเครื่องพิมพ์เม็ดพลาสติกได้\n\nภายในจะถูกแปลงเป็น fil_diameter การคำนวณปริมาณอื่นๆ ทั้งหมดยังคงเหมือนเดิม\n\nเส้นพลาสติก_เส้นผ่านศูนย์กลาง = sqrt( (4 * pellet_flow_coefficient) / PI )" + +msgid "Adaptive volumetric speed" +msgstr "ความเร็วตามปริมาตรแบบปรับได้" + +msgid "" +"When enabled, the extrusion flow is limited by the smaller of the fitted " +"value (calculated from line width and layer height) and the user-defined " +"maximum flow. When disabled, only the user-defined maximum flow is applied.\n" +"\n" +"Note: Experimental and incomplete feature imported from BBS. Functional for " +"some profiles that already have the variable saved." +msgstr "เมื่อเปิดใช้งาน การไหลของการอัดขึ้นรูปจะถูกจำกัดด้วยค่าที่น้อยกว่าของค่าที่ติดตั้ง (คำนวณจากความกว้างของเส้นและความสูงของชั้น) และการไหลสูงสุดที่ผู้ใช้กำหนด เมื่อปิดใช้งาน จะมีการใช้เฉพาะโฟลว์สูงสุดที่ผู้ใช้กำหนดเท่านั้น\n\nหมายเหตุ: คุณลักษณะทดลองและไม่สมบูรณ์นำเข้าจาก BBS ใช้งานได้กับบางโปรไฟล์ที่ได้บันทึกตัวแปรไว้แล้ว" + +msgid "Max volumetric speed multinomial coefficients" +msgstr "ค่าสัมประสิทธิ์พหุนามความเร็วปริมาตรสูงสุด" + +msgid "Shrinkage (XY)" +msgstr "การหดตัว (XY)" + +#, no-c-format, no-boost-format +msgid "" +"Enter the shrinkage percentage that the filament will get after cooling (94% " +"if you measure 94mm instead of 100mm). The part will be scaled in XY to " +"compensate. For multi-material prints, ensure filament shrinkage matches " +"across all used filaments\n" +"Be sure to allow enough space between objects, as this compensation is done " +"after the checks." +msgstr "ป้อนเปอร์เซ็นต์การหดตัวที่เส้นพลาสติกจะได้รับหลังจากการทำความเย็น (94% หากคุณวัด 94 มม. แทนที่จะเป็น 100 มม.) ชิ้นส่วนจะถูกปรับขนาดเป็น XY เพื่อชดเชย สำหรับการพิมพ์แบบหลายวัสดุ ตรวจสอบให้แน่ใจว่าการหดตัวของเส้นพลาสติกตรงกันกับเส้นพลาสติกที่ใช้ทั้งหมด\nตรวจสอบให้แน่ใจว่าได้เว้นระยะห่างระหว่างวัตถุเพียงพอ เนื่องจากการชดเชยนี้เสร็จสิ้นหลังจากการตรวจสอบ" + +msgid "Shrinkage (Z)" +msgstr "การหดตัว (Z)" + +#, no-c-format, no-boost-format +msgid "" +"Enter the shrinkage percentage that the filament will get after cooling (94% " +"if you measure 94mm instead of 100mm). The part will be scaled in Z to " +"compensate." +msgstr "ป้อนเปอร์เซ็นต์การหดตัวที่เส้นพลาสติกจะได้รับหลังจากการทำความเย็น (94% หากคุณวัด 94 มม. แทนที่จะเป็น 100 มม.) ชิ้นส่วนจะถูกปรับขนาดเป็น Z เพื่อชดเชย" + +msgid "Adhesiveness Category" +msgstr "หมวดหมู่การยึดเกาะ" + +msgid "Filament category." +msgstr "หมวดเส้นพลาสติก" + +msgid "Loading speed" +msgstr "ความเร็วกำลังโหลด" + +msgid "Speed used for loading the filament on the wipe tower." +msgstr "ความเร็วที่ใช้ในการโหลดเส้นพลาสติกบนไวด์ทาวเวอร์" + +msgid "Loading speed at the start" +msgstr "ความเร็วในการโหลดเมื่อเริ่มต้น" + +msgid "Speed used at the very beginning of loading phase." +msgstr "ความเร็วที่ใช้ในช่วงเริ่มต้นของขั้นตอนการโหลด" + +msgid "Unloading speed" +msgstr "ความเร็วในการขนถ่าย" + +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming)." +msgstr "ความเร็วที่ใช้ในการขนถ่ายเส้นพลาสติกบนไวด์ทาวเวอร์ (ไม่ส่งผลต่อส่วนเริ่มแรกของการขนถ่ายหลังจากการชน)" + +msgid "Unloading speed at the start" +msgstr "ขนถ่ายความเร็วที่จุดเริ่มต้น" + +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming." +msgstr "ความเร็วที่ใช้ในการขนถ่ายปลายเส้นพลาสติกทันทีหลังจากการชน" + +msgid "Delay after unloading" +msgstr "ความล่าช้าหลังจากการขนถ่าย" + +msgid "" +"Time to wait after the filament is unloaded. May help to get reliable tool " +"changes with flexible materials that may need more time to shrink to " +"original dimensions." +msgstr "เวลาที่ต้องรอหลังจากขนเส้นพลาสติกออก อาจช่วยให้มีการเปลี่ยนเครื่องมือที่เชื่อถือได้ด้วยวัสดุที่ยืดหยุ่นซึ่งอาจต้องใช้เวลามากขึ้นในการย่อขนาดให้เป็นขนาดดั้งเดิม" + +msgid "Number of cooling moves" +msgstr "จำนวนการเคลื่อนย้ายความเย็น" + +msgid "" +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves." +msgstr "เส้นพลาสติกถูกทำให้เย็นลงโดยการเคลื่อนไปมาในท่อทำความเย็น ระบุจำนวนการเคลื่อนไหวที่ต้องการ" + +msgid "Stamping loading speed" +msgstr "ความเร็วในการโหลดการประทับตรา" + +msgid "Speed used for stamping." +msgstr "ความเร็วที่ใช้ในการประทับตรา" + +msgid "Stamping distance measured from the center of the cooling tube" +msgstr "ระยะการตอกวัดจากศูนย์กลางของท่อทำความเย็น" + +msgid "" +"If set to non-zero value, filament is moved toward the nozzle between the " +"individual cooling moves (\"stamping\"). This option configures how long " +"this movement should be before the filament is retracted again." +msgstr "หากตั้งค่าเป็นค่าที่ไม่ใช่ศูนย์ เส้นพลาสติกจะถูกย้ายไปยังหัวฉีดระหว่างการระบายความร้อนแต่ละครั้ง (\"การประทับตรา\") ตัวเลือกนี้จะกำหนดระยะเวลาการเคลื่อนไหวนี้ก่อนที่เส้นพลาสติกจะถูกดึงกลับอีกครั้ง" + +msgid "Speed of the first cooling move" +msgstr "ความเร็วของการทำความเย็นครั้งแรก" + +msgid "Cooling moves are gradually accelerating beginning at this speed." +msgstr "การเคลื่อนไหวที่เย็นลงจะค่อยๆ เร่งขึ้น โดยเริ่มต้นที่ความเร็วนี้" + +msgid "Minimal purge on wipe tower" +msgstr "การล้างข้อมูลบน Wipe Tower น้อยที่สุด" + +msgid "" +"After a tool change, the exact position of the newly loaded filament inside " +"the nozzle may not be known, and the filament pressure is likely not yet " +"stable. Before purging the print head into an infill or a sacrificial " +"object, Orca Slicer will always prime this amount of material into the wipe " +"tower to produce successive infill or sacrificial object extrusions reliably." +msgstr "หลังจากเปลี่ยนเครื่องมือ อาจไม่ทราบตำแหน่งที่แน่นอนของเส้นพลาสติกที่เพิ่งโหลดใหม่ภายในหัวฉีด และความดันเส้นพลาสติกก็มีแนวโน้มว่ายังไม่เสถียร ก่อนที่จะล้างหัวพิมพ์ลงในวัสดุไส้ในหรือวัตถุบูชายัญ Orca Slicer จะเตรียมวัสดุจำนวนนี้ลงในหอเช็ดเสมอเพื่อสร้างการอัดขึ้นรูปวัตถุแบบไส้ในหรือบูชายัญต่อเนื่องกันอย่างน่าเชื่อถือ" + +msgid "Wipe tower cooling" +msgstr "เช็ดทาวเวอร์คูลลิ่ง" + +msgid "Temperature drop before entering filament tower" +msgstr "อุณหภูมิลดลงก่อนเข้าหอใย" + +msgid "Interface layer pre-extrusion distance" +msgstr "ระยะการอัดรีดชั้นอินเตอร์เฟซ" + +msgid "" +"Pre-extrusion distance for prime tower interface layer (where different " +"materials meet)." +msgstr "ระยะก่อนการอัดขึ้นรูปสำหรับชั้นอินเทอร์เฟซของไพรม์ทาวเวอร์ (ที่วัสดุที่แตกต่างกันมาบรรจบกัน)" + +msgid "Interface layer pre-extrusion length" +msgstr "ความยาวชั้นอินเตอร์เฟซก่อนการอัดขึ้นรูป" + +msgid "" +"Pre-extrusion length for prime tower interface layer (where different " +"materials meet)." +msgstr "ความยาวก่อนการอัดขึ้นรูปสำหรับชั้นอินเทอร์เฟซของไพรม์ทาวเวอร์ (ที่วัสดุที่แตกต่างกันมาบรรจบกัน)" + +msgid "Tower ironing area" +msgstr "พื้นที่รีดผ้าแบบทาวเวอร์" + +msgid "" +"Ironing area for prime tower interface layer (where different materials " +"meet)." +msgstr "พื้นที่รีดผ้าสำหรับชั้นอินเทอร์เฟซของไพร์มทาวเวอร์ (บริเวณที่วัสดุต่างกันมาบรรจบกัน)" + +msgid "mm²" +msgstr "มม.²" + +msgid "Interface layer purge length" +msgstr "ความยาวการล้างเลเยอร์อินเทอร์เฟซ" + +msgid "" +"Purge length for prime tower interface layer (where different materials " +"meet)." +msgstr "ความยาวในการไล่ล้างสำหรับชั้นอินเทอร์เฟซของไพรม์ทาวเวอร์ (เมื่อวัสดุต่างกันมาบรรจบกัน)" + +msgid "Interface layer print temperature" +msgstr "อุณหภูมิการพิมพ์เลเยอร์อินเทอร์เฟซ" + +msgid "" +"Print temperature for prime tower interface layer (where different materials " +"meet). If set to -1, use max recommended nozzle temperature." +msgstr "อุณหภูมิการพิมพ์สำหรับชั้นอินเทอร์เฟซของไพรม์ทาวเวอร์ (เมื่อวัสดุต่างกันมาบรรจบกัน) หากตั้งค่าเป็น -1 ให้ใช้อุณหภูมิหัวฉีดสูงสุดที่แนะนำ" + +msgid "Speed of the last cooling move" +msgstr "ความเร็วของการทำความเย็นครั้งล่าสุด" + +msgid "Cooling moves are gradually accelerating towards this speed." +msgstr "การเคลื่อนไหวที่เย็นลงจะค่อยๆ เร่งขึ้นสู่ความเร็วนี้" + +msgid "Ramming parameters" +msgstr "พารามิเตอร์การกระแทก" + +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters." +msgstr "สตริงนี้ได้รับการแก้ไขโดย RammingDialog และมีพารามิเตอร์เฉพาะของการชน" + +msgid "Enable ramming for multi-tool setups" +msgstr "เปิดใช้งานการกระแทกสำหรับการตั้งค่าหลายเครื่องมือ" + +msgid "" +"Perform ramming when using multi-tool printer (i.e. when the 'Single " +"Extruder Multimaterial' in Printer Settings is unchecked). When checked, a " +"small amount of filament is rapidly extruded on the wipe tower just before " +"the tool change. This option is only used when the wipe tower is enabled." +msgstr "ทำการกระแทกเมื่อใช้เครื่องพิมพ์แบบหลายเครื่องมือ (เช่น เมื่อไม่ได้เลือก 'Single ชุดดันเส้น Multimaterial' ในการตั้งค่าเครื่องพิมพ์) เมื่อตรวจสอบแล้ว เส้นพลาสติกจำนวนเล็กน้อยจะถูกอัดรีดอย่างรวดเร็วบนไวด์ทาวเวอร์ก่อนที่จะเปลี่ยนเครื่องมือ ตัวเลือกนี้ใช้เฉพาะเมื่อเปิดใช้งาน Wipe Tower เท่านั้น" + +msgid "Multi-tool ramming volume" +msgstr "ปริมาณการกระแทกหลายเครื่องมือ" + +msgid "The volume to be rammed before the tool change." +msgstr "ปริมาตรที่ต้องกระแทกก่อนเปลี่ยนเครื่องมือ" + +msgid "Multi-tool ramming flow" +msgstr "การไหลกระแทกหลายเครื่องมือ" + +msgid "Flow used for ramming the filament before the tool change." +msgstr "การไหลที่ใช้สำหรับการกระแทกเส้นพลาสติกก่อนการเปลี่ยนเครื่องมือ" + +msgid "Density" +msgstr "ความหนาแน่น" + +msgid "Filament density. For statistics only." +msgstr "ความหนาแน่นของเส้นพลาสติก สำหรับสถิติเท่านั้น" + +msgid "g/cm³" +msgstr "กรัม/ซม.³" + +msgid "The material type of filament." +msgstr "ประเภทวัสดุของเส้นพลาสติก" + +msgid "Soluble material" +msgstr "วัสดุที่ละลายน้ำได้" + +msgid "" +"Soluble material is commonly used to print supports and support interfaces." +msgstr "วัสดุที่ละลายน้ำได้มักใช้ในการพิมพ์ส่วนรองรับและส่วนต่อประสานรองรับ" + +msgid "Filament ramming length" +msgstr "ความยาวการกระแทกของเส้นพลาสติก" + +msgid "" +"When changing the extruder, it is recommended to extrude a certain length of " +"filament from the original extruder. This helps minimize nozzle oozing." +msgstr "เมื่อเปลี่ยนชุดดันเส้น แนะนำให้รีดเส้นพลาสติกที่มีความยาวจำนวนหนึ่งจากชุดดันเส้นเดิม ซึ่งจะช่วยลดการไหลของหัวฉีด" + +msgid "Support material" +msgstr "วัสดุส่วนรองรับ" + +msgid "" +"Support material is commonly used to print supports and support interfaces." +msgstr "วัสดุรองรับมักใช้ในการพิมพ์ส่วนรองรับและอินเทอร์เฟซรองรับ" + +msgid "Filament printable" +msgstr "พิมพ์เส้นพลาสติกได้" + +msgid "The filament is printable in extruder." +msgstr "เส้นพลาสติกสามารถพิมพ์ได้ในชุดดันเส้น" + +msgid "Softening temperature" +msgstr "อุณหภูมิอ่อนลง" + +msgid "" +"The material softens at this temperature, so when the bed temperature is " +"equal to or greater than this, it's highly recommended to open the front " +"door and/or remove the upper glass to avoid clogging." +msgstr "วัสดุจะอ่อนตัวลงที่อุณหภูมินี้ ดังนั้นเมื่ออุณหภูมิฐานพิมพ์เท่ากับหรือมากกว่านี้ ขอแนะนำอย่างยิ่งให้เปิดประตูหน้าและ/หรือถอดกระจกด้านบนออกเพื่อหลีกเลี่ยงการอุดตัน" + +msgid "Price" +msgstr "ราคา" + +msgid "Filament price. For statistics only." +msgstr "ราคาเส้นพลาสติก. สำหรับสถิติเท่านั้น" + +msgid "money/kg" +msgstr "เงิน/กก." + +msgid "Vendor" +msgstr "ผู้ขาย" + +msgid "Vendor of filament. For show only." +msgstr "ผู้จำหน่ายเส้นพลาสติก. สำหรับการแสดงเท่านั้น" + +msgid "(Undefined)" +msgstr "(ไม่ระบุ)" + +msgid "Sparse infill direction" +msgstr "ทิศทางไส้ในแบบโปร่ง" + +msgid "" +"Angle for sparse infill pattern, which controls the start or main direction " +"of line." +msgstr "มุมสำหรับรูปแบบไส้ในแบบกระจาย ซึ่งควบคุมจุดเริ่มต้นหรือทิศทางหลักของเส้น" + +msgid "Solid infill direction" +msgstr "ทิศทางไส้ในแบบทึบ" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line." +msgstr "มุมสำหรับรูปแบบไส้ในแบบทึบ ซึ่งควบคุมจุดเริ่มต้นหรือทิศทางหลักของเส้น" + +msgid "Sparse infill density" +msgstr "ความหนาแน่นไส้ในแบบโปร่ง" + +#, no-c-format, no-boost-format +msgid "" +"Density of internal sparse infill, 100% turns all sparse infill into solid " +"infill and internal solid infill pattern will be used." +msgstr "ความหนาแน่นของไส้ในแบบโปร่งภายใน 100% จะเปลี่ยนไส้ในแบบโปร่งทั้งหมดให้เป็นไส้ในแบบทึบ และจะใช้รูปแบบไส้ในแบบทึบภายใน" + +msgid "Align infill direction to model" +msgstr "จัดทิศทาง ไส้ใน ให้ตรงกับโมเดล" + +msgid "" +"Aligns infill and surface fill directions to follow the model's orientation " +"on the build plate. When enabled, fill directions rotate with the model to " +"maintain optimal strength characteristics." +msgstr "จัดทิศทางไส้ในแบบไส้ในและแบบไส้ในพื้นผิวให้สอดคล้องกับการวางแนวของแบบจำลองบนฐานรองพิมพ์ เมื่อเปิดใช้งาน ทิศทางไส้ในจะหมุนตามโมเดลเพื่อรักษาลักษณะความแข็งแกร่งที่เหมาะสมที่สุด" + +msgid "Insert solid layers" +msgstr "แทรกชั้นทึบ" + +msgid "" +"Insert solid infill at specific layers. Use N to insert every Nth layer, N#K " +"to insert K consecutive solid layers every N layers (K is optional, e.g. " +"'5#' equals '5#1'), or a comma-separated list (e.g. 1,7,9) to insert at " +"explicit layers. Layers are 1-based." +msgstr "แทรก ไส้ใน แบบทึบที่ชั้นเฉพาะ ใช้ N เพื่อแทรกทุกเลเยอร์ N, N#K เพื่อแทรก K เลเยอร์ทึบต่อเนื่องกันทุกๆ เลเยอร์ N (K เป็นทางเลือก เช่น '5#' เท่ากับ '5#1') หรือรายการที่คั่นด้วยเครื่องหมายจุลภาค (เช่น 1,7,9) เพื่อแทรกในเลเยอร์ที่ชัดเจน เลเยอร์เป็นแบบ 1" + +msgid "Fill Multiline" +msgstr "ไส้ในหลายบรรทัด" + +msgid "" +"Using multiple lines for the infill pattern, if supported by infill pattern." +msgstr "การใช้หลายบรรทัดสำหรับรูปแบบ ไส้ใน หากรองรับโดยรูปแบบ ไส้ใน" + +msgid "Z-buckling bias optimization (experimental)" +msgstr "การเพิ่มประสิทธิภาพอคติ Z-buckling (ทดลอง)" + +msgid "" +"Tightens the gyroid wave along the Z (vertical) axis at low infill density " +"to shorten the effective vertical column length and improve Z-axis " +"compression buckling resistance. Filament use is preserved. No effect at " +"~30% sparse infill density and above. Only applies when Sparse infill " +"pattern is set to Gyroid." +msgstr "กระชับคลื่นไจรอยด์ตามแนวแกน Z (แนวตั้ง) ที่ความหนาแน่นของไส้ในต่ำ เพื่อลดความยาวคอลัมน์แนวตั้งที่มีประสิทธิภาพให้สั้นลง และปรับปรุงความต้านทานการโก่งงอของการบีบอัดในแกน Z การใช้เส้นพลาสติกจะยังคงอยู่ ไม่มีผลกระทบที่ความหนาแน่นของไส้ในแบบโปร่งประมาณ ~30% และสูงกว่า ใช้เมื่อตั้งค่ารูปแบบไส้ในแบบกระจายเป็น Gyroid เท่านั้น" + +msgid "Sparse infill pattern" +msgstr "รูปแบบไส้ในแบบโปร่ง" + +msgid "Line pattern for internal sparse infill." +msgstr "รูปแบบเส้นสำหรับไส้ในแบบกระจัดกระจายภายใน" + +msgid "Zig Zag" +msgstr "ซิกแซก" + +msgid "Cross Zag" +msgstr "ข้ามแซก" + +msgid "Locked Zag" +msgstr "ล็อคแซก" + +msgid "Line" +msgstr "เส้น" + +msgid "Grid" +msgstr "กริด" + +msgid "Tri-hexagon" +msgstr "ไตรหกเหลี่ยม" + +msgid "Cubic" +msgstr "คิวบิก" + +msgid "Adaptive Cubic" +msgstr "ลูกบาศก์แบบปรับได้" + +msgid "Quarter Cubic" +msgstr "ควอเตอร์ลูกบาศก์" + +msgid "Support Cubic" +msgstr "รองรับคิวบิก" + +msgid "Lightning" +msgstr "ฟ้าผ่า" + +msgid "Honeycomb" +msgstr "รังผึ้ง" + +msgid "3D Honeycomb" +msgstr "รังผึ้ง 3 มิติ" + +msgid "Lateral Honeycomb" +msgstr "รังผึ้งด้านข้าง" + +msgid "Lateral Lattice" +msgstr "ตาข่ายด้านข้าง" + +msgid "Cross Hatch" +msgstr "ครอสแฮทช์" + +msgid "TPMS-D" +msgstr "TPMS-D" + +msgid "TPMS-FK" +msgstr "TPMS-FK" + +msgid "Gyroid" +msgstr "ไจรอยด์" + +msgid "Lateral lattice angle 1" +msgstr "มุมขัดแตะด้านข้าง 1" + +msgid "" +"The angle of the first set of Lateral lattice elements in the Z direction. " +"Zero is vertical." +msgstr "มุมขององค์ประกอบขัดแตะด้านข้างชุดแรกในทิศทาง Z ศูนย์คือแนวตั้ง" + +msgid "Lateral lattice angle 2" +msgstr "มุมขัดแตะด้านข้าง 2" + +msgid "" +"The angle of the second set of Lateral lattice elements in the Z direction. " +"Zero is vertical." +msgstr "มุมขององค์ประกอบขัดแตะด้านข้างชุดที่สองในทิศทาง Z ศูนย์คือแนวตั้ง" + +msgid "Infill overhang angle" +msgstr "ไส้ในมุมยื่น" + +msgid "" +"The angle of the infill angled lines. 60° will result in a pure honeycomb." +msgstr "มุมของเส้นมุมที่ไส้ในเข้าไป 60° ก็จะได้รังผึ้งที่บริสุทธิ์" + +msgid "Sparse infill anchor length" +msgstr "ความยาวสมอ ไส้ใน เบาบาง" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Orca Slicer tries to connect two " +"close infill lines to a short perimeter segment. If no such perimeter " +"segment shorter than infill_anchor_max is found, the infill line is " +"connected to a perimeter segment at just one side and the length of the " +"perimeter segment taken is limited to this parameter, but no longer than " +"anchor_length_max.\n" +"Set this parameter to zero to disable anchoring perimeters connected to a " +"single infill line." +msgstr "เชื่อมต่อเส้นไส้ในเข้ากับเส้นรอบวงภายในด้วยส่วนสั้นของเส้นรอบวงเพิ่มไส้ใน หากแสดงเป็นเปอร์เซ็นต์ (ตัวอย่าง: 15%) ระบบจะคำนวณตามความกว้างของการอัดขึ้นรูปแบบไส้ใน Orca Slicer พยายามเชื่อมต่อเส้น ไส้ใน สองเส้นที่ปิดสนิทเข้ากับส่วนของเส้นรอบวงสั้นๆ หากไม่พบส่วนของเส้นรอบวงที่สั้นกว่า infill_anchor_max เส้น ไส้ใน จะเชื่อมต่อกับส่วนของเส้นรอบวงที่ด้านเดียว และความยาวของส่วนของเส้นรอบวงที่ใช้จะถูกจำกัดอยู่ที่พารามิเตอร์นี้ แต่ต้องไม่เกิน anchor_length_max\nตั้งค่าพารามิเตอร์นี้เป็นศูนย์เพื่อปิดใช้งานขอบเขตการยึดที่เชื่อมต่อกับบรรทัดไส้ในบรรทัดเดียว" + +msgid "0 (no open anchors)" +msgstr "0 (ไม่มีพุกเปิด)" + +msgid "1000 (unlimited)" +msgstr "1,000 (ไม่จำกัด)" + +msgid "Maximum length of the infill anchor" +msgstr "ความยาวสูงสุดของพุก ไส้ใน" + +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. Orca Slicer tries to connect two " +"close infill lines to a short perimeter segment. If no such perimeter " +"segment shorter than this parameter is found, the infill line is connected " +"to a perimeter segment at just one side and the length of the perimeter " +"segment taken is limited to infill_anchor, but no longer than this " +"parameter.\n" +"If set to 0, the old algorithm for infill connection will be used, it should " +"create the same result as with 1000 & 0." +msgstr "เชื่อมต่อเส้นไส้ในเข้ากับเส้นรอบวงภายในด้วยส่วนสั้นของเส้นรอบวงเพิ่มไส้ใน หากแสดงเป็นเปอร์เซ็นต์ (ตัวอย่าง: 15%) ระบบจะคำนวณตามความกว้างของการอัดขึ้นรูปแบบไส้ใน Orca Slicer พยายามเชื่อมต่อเส้น ไส้ใน สองเส้นที่ปิดสนิทเข้ากับส่วนของเส้นรอบวงสั้นๆ หากไม่พบส่วนของเส้นรอบวงที่สั้นกว่าพารามิเตอร์นี้ เส้น ไส้ใน จะเชื่อมต่อกับส่วนของเส้นรอบวงที่ด้านเดียว และความยาวของส่วนของเส้นรอบวงที่ใช้จะถูกจำกัดไว้ที่ infill_anchor แต่ไม่ยาวเกินกว่าพารามิเตอร์นี้\nหากตั้งค่าเป็น 0 จะใช้อัลกอริธึมเก่าสำหรับการเชื่อมต่อแบบ ไส้ใน ซึ่งควรสร้างผลลัพธ์เช่นเดียวกับ 1,000 และ 0" + +msgid "0 (Simple connect)" +msgstr "0 (เชื่อมต่อแบบง่าย)" + +msgid "Acceleration of inner walls." +msgstr "การเร่งความเร็วของผนังด้านใน" + +msgid "Acceleration of travel moves." +msgstr "การเร่งความเร็วของการเดินทาง" + +msgid "" +"Acceleration of top surface infill. Using a lower value may improve top " +"surface quality." +msgstr "ความเร่งของไส้ในพื้นผิวด้านบน การใช้ค่าที่ต่ำกว่าอาจปรับปรุงคุณภาพพื้นผิวด้านบนได้" + +msgid "Acceleration of outer wall. Using a lower value can improve quality." +msgstr "ความเร่งของผนังด้านนอก การใช้ค่าที่ต่ำกว่าสามารถปรับปรุงคุณภาพได้" + +msgid "" +"Acceleration of bridges. If the value is expressed as a percentage (e.g. " +"50%), it will be calculated based on the outer wall acceleration." +msgstr "การเร่งความเร็วของสะพาน หากค่าแสดงเป็นเปอร์เซ็นต์ (เช่น 50%) ค่าดังกล่าวจะคำนวณตามความเร่งของผนังด้านนอก" + +msgid "mm/s² or %" +msgstr "มม./วินาที² หรือ %" + +msgid "" +"Acceleration of sparse infill. If the value is expressed as a percentage " +"(e.g. 100%), it will be calculated based on the default acceleration." +msgstr "ความเร่งของไส้ในแบบโปร่ง หากค่าแสดงเป็นเปอร์เซ็นต์ (เช่น 100%) ค่านั้นจะถูกคำนวณตามความเร่งเริ่มต้น" + +msgid "" +"Acceleration of internal solid infill. If the value is expressed as a " +"percentage (e.g. 100%), it will be calculated based on the default " +"acceleration." +msgstr "ความเร่งของไส้ในของแข็งภายใน หากค่าแสดงเป็นเปอร์เซ็นต์ (เช่น 100%) ค่านั้นจะถูกคำนวณตามความเร่งเริ่มต้น" + +msgid "" +"Acceleration of the first layer. Using a lower value can improve build plate " +"adhesion." +msgstr "ความเร่งของชั้นแรก การใช้ค่าที่ต่ำกว่าสามารถปรับปรุงการยึดเกาะของเพลตได้" + +msgid "First layer travel" +msgstr "การเดินทางชั้นแรก" + +msgid "" +"Travel acceleration of first layer.\n" +"The percentage value is relative to Travel Acceleration." +msgstr "ความเร่งการเคลื่อนที่ของชั้นแรก\nค่าเปอร์เซ็นต์สัมพันธ์กับการเร่งความเร็วในการเดินทาง" + +msgid "Enable accel_to_decel" +msgstr "เปิดใช้งาน accel_to_decel" + +msgid "Klipper's max_accel_to_decel will be adjusted automatically." +msgstr "max_accel_to_decel ของ Klipper จะถูกปรับโดยอัตโนมัติ" + +msgid "accel_to_decel" +msgstr "accel_to_decel" + +#, possible-c-format, possible-boost-format +msgid "" +"Klipper's max_accel_to_decel will be adjusted to this %% of acceleration." +msgstr "max_accel_to_decel ของ Klipper จะถูกปรับเป็น %% ของการเร่งความเร็วนี้" + +msgid "Default jerk." +msgstr "กระตุกเริ่มต้น" + +msgid "Junction Deviation" +msgstr "ส่วนเบี่ยงเบนทางแยก" + +msgid "" +"Marlin Firmware Junction Deviation (replaces the traditional XY Jerk " +"setting)." +msgstr "Marlin Firmware Junction Deviation (แทนที่การตั้งค่า XY Jerk แบบดั้งเดิม)" + +msgid "Jerk of outer walls." +msgstr "การกระตุกของผนังด้านนอก" + +msgid "Jerk of inner walls." +msgstr "การกระตุกของผนังด้านใน" + +msgid "Jerk for top surface." +msgstr "กระตุกสำหรับพื้นผิวด้านบน" + +msgid "Jerk for infill." +msgstr "กระตุกเพื่อไส้ใน" + +msgid "Jerk for the first layer." +msgstr "กระตุกสำหรับชั้นแรก" + +msgid "Jerk for travel." +msgstr "กระตุกสำหรับการเดินทาง" + +msgid "" +"Travel jerk of first layer.\n" +"The percentage value is relative to Travel Jerk." +msgstr "กระตุกการเดินทางของชั้นแรก\nค่าเปอร์เซ็นต์สัมพันธ์กับ Travel Jerk" + +msgid "" +"Line width of the first layer. If expressed as a %, it will be computed over " +"the nozzle diameter." +msgstr "ความกว้างของเส้นของชั้นแรก หากแสดงเป็น % จะคำนวณตามเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "First layer height" +msgstr "ความสูงของชั้นแรก" + +msgid "" +"Height of the first layer. Making the first layer height thicker can improve " +"build plate adhesion." +msgstr "ความสูงของชั้นแรก การทำให้ชั้นแรกหนาขึ้นสามารถปรับปรุงการยึดเกาะของแผ่นรองพื้นได้" + +msgid "Speed of the first layer except the solid infill part." +msgstr "ความเร็วของชั้นแรก ยกเว้นส่วน ไส้ใน ที่เป็นของแข็ง" + +msgid "First layer infill" +msgstr "ไส้ในชั้นแรก" + +msgid "Speed of solid infill part of the first layer." +msgstr "ความเร็วของส่วน ไส้ใน ที่เป็นของแข็งของชั้นแรก" + +msgid "First layer travel speed" +msgstr "ความเร็วในการเดินทางชั้นแรก" + +msgid "Travel speed of the first layer." +msgstr "ความเร็วเดินหัวเปล่าของเลเยอร์แรก" + +msgid "Number of slow layers" +msgstr "จำนวนชั้นที่ช้า" + +msgid "" +"The first few layers are printed slower than normal. The speed is gradually " +"increased in a linear fashion over the specified number of layers." +msgstr "สองสามชั้นแรกจะพิมพ์ช้ากว่าปกติ ความเร็วจะค่อยๆ เพิ่มขึ้นในลักษณะเชิงเส้นตามจำนวนเลเยอร์ที่ระบุ" + +msgid "First layer nozzle temperature" +msgstr "อุณหภูมิหัวฉีดชั้นแรก" + +msgid "" +"Nozzle temperature for printing the first layer when using this filament." +msgstr "อุณหภูมิหัวฉีดสำหรับการพิมพ์ชั้นแรกเมื่อใช้ฟิลาเมนต์นี้" + +msgid "Full fan speed at layer" +msgstr "ความเร็วพัดลมเต็มชั้น" + +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"close_fan_the_first_x_layers\" to maximum at layer " +"\"full_fan_speed_layer\". \"full_fan_speed_layer\" will be ignored if lower " +"than \"close_fan_the_first_x_layers\", in which case the fan will be running " +"at maximum allowed speed at layer \"close_fan_the_first_x_layers\" + 1." +msgstr "ความเร็วพัดลมจะเพิ่มขึ้นเชิงเส้นจากศูนย์ที่เลเยอร์ \"close_fan_the_first_x_layers\" ไปจนถึงสูงสุดที่เลเยอร์ \"full_fan_speed_layer\" \"full_fan_speed_layer\" จะถูกละเว้นหากต่ำกว่า \"close_fan_the_first_x_layers\" ซึ่งในกรณีนี้ พัดลมจะทำงานด้วยความเร็วสูงสุดที่อนุญาตที่เลเยอร์ \"close_fan_the_first_x_layers\" + 1" + +msgid "layer" +msgstr "ชั้น" + +msgid "Support interface fan speed" +msgstr "ความเร็วพัดลมผิวสัมผัสส่วนรองรับ" + +msgid "" +"This part cooling fan speed is applied when printing support interfaces. " +"Setting this parameter to a higher than regular speed reduces the layer " +"binding strength between supports and the supported part, making them easier " +"to separate.\n" +"Set to -1 to disable it.\n" +"This setting is overridden by disable_fan_first_layers." +msgstr "ความเร็วพัดลมระบายความร้อนในส่วนนี้จะถูกนำไปใช้เมื่อพิมพ์อินเทอร์เฟซที่รองรับ การตั้งค่าพารามิเตอร์นี้ให้สูงกว่าความเร็วปกติจะช่วยลดความแข็งแรงในการผูกเลเยอร์ระหว่างส่วนรองรับและส่วนที่รองรับ ทำให้แยกออกจากกันได้ง่ายขึ้น\nตั้งค่าเป็น -1 เพื่อปิดใช้งาน\nการตั้งค่านี้ถูกแทนที่โดย Disable_fan_first_layers" + +msgid "Internal bridges fan speed" +msgstr "ความเร็วพัดลมภายในสะพาน" + +msgid "" +"The part cooling fan speed used for all internal bridges. Set to -1 to use " +"the overhang fan speed settings instead.\n" +"\n" +"Reducing the internal bridges fan speed, compared to your regular fan speed, " +"can help reduce part warping due to excessive cooling applied over a large " +"surface for a prolonged period of time." +msgstr "ความเร็วพัดลมระบายความร้อนชิ้นส่วนที่ใช้สำหรับบริดจ์ภายในทั้งหมด ตั้งค่าเป็น -1 เพื่อใช้การตั้งค่าความเร็วพัดลมที่ยื่นออกมาแทน\n\nการลดความเร็วพัดลมบริดจ์ภายในเมื่อเปรียบเทียบกับความเร็วพัดลมปกติ สามารถช่วยลดการบิดงอของชิ้นส่วนเนื่องจากการระบายความร้อนที่มากเกินไปบนพื้นผิวขนาดใหญ่เป็นระยะเวลานาน" + +msgid "Ironing fan speed" +msgstr "ความเร็วพัดลมรีดผิว" + +msgid "" +"This part cooling fan speed is applied when ironing. Setting this parameter " +"to a lower than regular speed reduces possible nozzle clogging due to the " +"low volumetric flow rate, making the interface smoother.\n" +"Set to -1 to disable it." +msgstr "ความเร็วพัดลมระบายความร้อนส่วนนี้ใช้กับการรีดผ้า การตั้งค่าพารามิเตอร์นี้ให้ต่ำกว่าความเร็วปกติจะช่วยลดปัญหาการอุดตันของหัวฉีดที่อาจเกิดขึ้นได้เนื่องจากอัตราการไหลของปริมาตรต่ำ ทำให้อินเทอร์เฟซราบรื่นยิ่งขึ้น\nตั้งค่าเป็น -1 เพื่อปิดใช้งาน" + +msgid "Ironing flow" +msgstr "รีดผ้าไหล" + +msgid "" +"Filament-specific override for ironing flow. This allows you to customize " +"the ironing flow for each filament type. Too high value results in " +"overextrusion on the surface." +msgstr "การแทนที่เส้นพลาสติกเฉพาะสำหรับกระแสการรีดผ้า ซึ่งช่วยให้คุณปรับแต่งกระแสการรีดผ้าสำหรับเส้นพลาสติกแต่ละประเภทได้ ค่าที่สูงเกินไปส่งผลให้เกิดการอัดขึ้นรูปมากเกินไปบนพื้นผิว" + +msgid "Ironing line spacing" +msgstr "ระยะห่างระหว่างสายรีดผ้า" + +msgid "" +"Filament-specific override for ironing line spacing. This allows you to " +"customize the spacing between ironing lines for each filament type." +msgstr "การแทนที่เส้นพลาสติกเฉพาะสำหรับระยะห่างระหว่างรีดผ้า ซึ่งช่วยให้คุณปรับแต่งระยะห่างระหว่างเส้นรีดผ้าสำหรับเส้นพลาสติกแต่ละประเภทได้" + +msgid "Ironing inset" +msgstr "อุปกรณ์รีดผ้า" + +msgid "" +"Filament-specific override for ironing inset. This allows you to customize " +"the distance to keep from the edges when ironing for each filament type." +msgstr "การแทนที่เส้นพลาสติกเฉพาะสำหรับส่วนเสริมการรีดผ้า ซึ่งช่วยให้คุณปรับแต่งระยะห่างจากขอบเมื่อรีดผ้าสำหรับเส้นพลาสติกแต่ละประเภทได้" + +msgid "Ironing speed" +msgstr "ความเร็วรีดผิว" + +msgid "" +"Filament-specific override for ironing speed. This allows you to customize " +"the print speed of ironing lines for each filament type." +msgstr "การแทนที่เส้นพลาสติกเฉพาะเพื่อความเร็วในการรีดผ้า ซึ่งช่วยให้คุณปรับแต่งความเร็วในการพิมพ์ของเส้นรีดผ้าสำหรับเส้นพลาสติกแต่ละประเภทได้" + +msgid "" +"Randomly jitter while printing the wall, so that the surface has a rough " +"look. This setting controls the fuzzy position." +msgstr "สุ่มกระวนกระวายใจขณะพิมพ์ผนังเพื่อให้พื้นผิวดูหยาบกร้าน การตั้งค่านี้ควบคุมตำแหน่งที่ไม่ชัดเจน" + +msgid "Painted only" +msgstr "ทาสีเท่านั้น" + +msgid "Contour" +msgstr "คอนทัวร์" + +msgid "Hole" +msgstr "รู" + +msgid "Contour and hole" +msgstr "รูปร่างและรู" + +msgid "All walls" +msgstr "ผนังทั้งหมด" + +msgid "Fuzzy skin thickness" +msgstr "ความหนาผิวฟัซซี" + +msgid "" +"The width within which to jitter. It's advised to be below outer wall line " +"width." +msgstr "ความกว้างภายในที่จะกระวนกระวายใจ แนะนำให้อยู่ต่ำกว่าความกว้างของเส้นผนังด้านนอก" + +msgid "Fuzzy skin point distance" +msgstr "ระยะจุดผิวฟัซซี" + +msgid "" +"The average distance between the random points introduced on each line " +"segment." +msgstr "ระยะห่างเฉลี่ยระหว่างจุดสุ่มที่แนะนำในแต่ละส่วนของเส้น" + +msgid "Apply fuzzy skin to first layer" +msgstr "ทาผิวที่คลุมเครือเป็นชั้นแรก" + +msgid "Whether to apply fuzzy skin on the first layer." +msgstr "ไม่ว่าจะทาผิวฟุ้งๆในชั้นแรกหรือไม่" + +msgid "Fuzzy skin generator mode" +msgstr "โหมดสร้างผิวฟัซซี" + +#, possible-c-format, possible-boost-format +msgid "" +"Fuzzy skin generation mode. Works only with Arachne!\n" +"Displacement: Сlassic mode when the pattern is formed by shifting the nozzle " +"sideways from the original path.\n" +"Extrusion: The mode when the pattern formed by the amount of extruded " +"plastic. This is the fast and straight algorithm without unnecessary nozzle " +"shake that gives a smooth pattern. But it is more useful for forming loose " +"walls in the entire they array.\n" +"Combined: Joint mode [Displacement] + [Extrusion]. The appearance of the " +"walls is similar to [Displacement] Mode, but it leaves no pores between the " +"perimeters.\n" +"\n" +"Attention! The [Extrusion] and [Combined] modes works only the " +"fuzzy_skin_thickness parameter not more than the thickness of printed loop. " +"At the same time, the width of the extrusion for a particular layer should " +"also not be below a certain level. It is usually equal 15-25%% of a layer " +"height. Therefore, the maximum fuzzy skin thickness with a perimeter width " +"of 0.4 mm and a layer height of 0.2 mm will be 0.4-(0.2*0.25)=±0.35mm! If " +"you enter a higher parameter than this, the error Flow::spacing() will " +"displayed, and the model will not be sliced. You can choose this number " +"until this error is repeated." +msgstr "โหมดการสร้างผิวฟัซซี ใช้ได้กับ Arachne เท่านั้น!\nการกระจัด: โหมดคลาสสิกเมื่อรูปแบบถูกสร้างขึ้นโดยการเลื่อนหัวฉีดไปด้านข้างจากเส้นทางเดิม\nการอัดขึ้นรูป: โหมดเมื่อรูปแบบเกิดขึ้นจากปริมาณของพลาสติกที่อัดขึ้นรูป นี่เป็นอัลกอริธึมที่รวดเร็วและตรงไปตรงมา โดยไม่มีการเขย่าหัวฉีดโดยไม่จำเป็นซึ่งให้รูปแบบที่ราบรื่น แต่จะมีประโยชน์มากกว่าสำหรับการสร้างกำแพงที่หลวมทั่วทั้งบริเวณ\nรวม: โหมดข้อต่อ [การแทนที่] + [การอัดขึ้นรูป] ลักษณะของผนังจะคล้ายกับโหมด [Displacement] แต่ไม่มีรูพรุนระหว่างเส้นรอบวง\n\nความสนใจ! โหมด [การอัดขึ้นรูป] และ [รวม] ใช้งานได้เฉพาะพารามิเตอร์ fuzzy_skin_thickness ซึ่งไม่เกินความหนาของลูปที่พิมพ์ ในขณะเดียวกัน ความกว้างของการอัดขึ้นรูปสำหรับชั้นใดชั้นหนึ่งก็ไม่ควรต่ำกว่าระดับที่กำหนดด้วย โดยปกติจะเท่ากับ 15-25%% ของความสูงของชั้น ดังนั้น ความหนาของผิวฟัซซีสูงสุดที่มีความกว้างเส้นรอบวง 0.4 มม. และความสูงของชั้น 0.2 มม. จะเป็น 0.4-(0.2*0.25)=±0.35 มม.! หากคุณป้อนพารามิเตอร์ที่สูงกว่านี้ ข้อผิดพลาด Flow::spacing() จะปรากฏขึ้น และโมเดลจะไม่ถูกแบ่งส่วน คุณสามารถเลือกหมายเลขนี้ได้จนกว่าข้อผิดพลาดนี้จะเกิดขึ้นซ้ำ" + +msgid "Displacement" +msgstr "การกระจัด" + +msgid "Extrusion" +msgstr "การอัดขึ้นรูป" + +msgid "Combined" +msgstr "รวม" + +msgid "Fuzzy skin noise type" +msgstr "ประเภทเสียงผิวเลือน" + +msgid "" +"Noise type to use for fuzzy skin generation:\n" +"Classic: Classic uniform random noise.\n" +"Perlin: Perlin noise, which gives a more consistent texture.\n" +"Billow: Similar to perlin noise, but clumpier.\n" +"Ridged Multifractal: Ridged noise with sharp, jagged features. Creates " +"marble-like textures.\n" +"Voronoi: Divides the surface into voronoi cells, and displaces each one by a " +"random amount. Creates a patchwork texture.\n" +"Ripple: Uniform ripple pattern that ripples left and right of the original " +"path. Repeating pattern, woven appearance." +msgstr "ประเภทเสียงรบกวนที่ใช้สำหรับการสร้างผิวที่คลุมเครือ:\nคลาสสิก: เสียงสุ่มเครื่องแบบคลาสสิก\nPerlin: เสียง Perlin ซึ่งให้เนื้อสัมผัสที่สม่ำเสมอยิ่งขึ้น\nBillow: คล้ายกับเสียงเพอร์ลิน แต่เป็นกลุ่มมากกว่า\nRidged Multifractal: สัญญาณรบกวนที่คมชัดพร้อมคุณสมบัติหยัก สร้างพื้นผิวเหมือนหินอ่อน\nโวโรนอย: แบ่งพื้นผิวออกเป็นเซลล์โวโรนอย และแทนที่แต่ละเซลล์ด้วยจำนวนสุ่ม สร้างพื้นผิวแบบเย็บปะติดปะต่อกัน\nระลอกคลื่น: รูปแบบระลอกคลื่นสม่ำเสมอที่กระเพื่อมไปทางซ้ายและขวาของเส้นทางเดิม ลายซ้ำ ลักษณะการทอ." + +msgid "Classic" +msgstr "คลาสสิค" + +msgid "Perlin" +msgstr "เพอร์ลิน" + +msgid "Billow" +msgstr "บิลโลว์" + +msgid "Ridged Multifractal" +msgstr "Multifractal แบบสัน" + +msgid "Voronoi" +msgstr "โวโรน้อย" + +msgid "Ripple" +msgstr "ระลอกคลื่น" + +msgid "Fuzzy skin feature size" +msgstr "ขนาดลักษณะผิวฟัซซี" + +msgid "" +"The base size of the coherent noise features, in mm. Higher values will " +"result in larger features." +msgstr "ขนาดฐานของคุณสมบัติเสียงที่สอดคล้องกัน หน่วยเป็น มม. ค่าที่สูงกว่าจะส่งผลให้มีคุณลักษณะที่ใหญ่ขึ้น" + +msgid "Fuzzy Skin Noise Octaves" +msgstr "อ็อกเทฟเสียงผิวฟัซซี" + +msgid "" +"The number of octaves of coherent noise to use. Higher values increase the " +"detail of the noise, but also increase computation time." +msgstr "จำนวนอ็อกเทฟของสัญญาณรบกวนที่สอดคล้องกันที่จะใช้ ค่าที่สูงกว่าจะเพิ่มรายละเอียดของสัญญาณรบกวน แต่ยังเพิ่มเวลาในการคำนวณด้วย" + +msgid "Fuzzy skin noise persistence" +msgstr "ความคงอยู่ของเสียงผิวเลือน" + +msgid "" +"The decay rate for higher octaves of the coherent noise. Lower values will " +"result in smoother noise." +msgstr "อัตราการสลายตัวของอ็อกเทฟที่สูงขึ้นของสัญญาณรบกวนที่สอดคล้องกัน ค่าที่ต่ำกว่าจะส่งผลให้มีสัญญาณรบกวนที่นุ่มนวลขึ้น" + +msgid "Number of ripples per layer" +msgstr "จำนวนระลอกคลื่นต่อชั้น" + +msgid "Controls how many full cycles of ripples will be added per layer." +msgstr "ควบคุมจำนวนระลอกคลื่นเต็มที่จะเพิ่มต่อเลเยอร์" + +msgid "Ripple offset" +msgstr "ระลอกชดเชย" + +msgid "" +"Shifts the ripple phase forward along the print path by the specified " +"percentage of a wavelength each layer period.\n" +"- 0% keeps every layer identical.\n" +"- 50% shifts the pattern by half a wavelength, effectively inverting the " +"phase.\n" +"- 100% shifts the pattern by a full wavelength, returning to the original " +"phase.\n" +"\n" +"The shift is applied once every number of layers set by Layers between " +"ripple offset, so layers within the same group are printed identically." +msgstr "เลื่อนระยะระลอกคลื่นไปข้างหน้าตามเส้นทางการพิมพ์ตามเปอร์เซ็นต์ที่ระบุของความยาวคลื่นในแต่ละช่วงของเลเยอร์\n- 0% ทำให้ทุกชั้นเหมือนกัน\n- 50% เลื่อนรูปแบบลงครึ่งหนึ่งของความยาวคลื่น จึงสามารถกลับเฟสได้อย่างมีประสิทธิภาพ\n- 100% เลื่อนรูปแบบตามความยาวคลื่นเต็ม และกลับสู่เฟสเดิม\n\nการเปลี่ยนแปลงจะใช้ทุกๆ จำนวนเลเยอร์ที่กำหนดโดยเลเยอร์ระหว่างออฟเซ็ตระลอกคลื่น ดังนั้นเลเยอร์ภายในกลุ่มเดียวกันจึงถูกพิมพ์เหมือนกัน" + +msgid "Layers between ripple offset" +msgstr "เลเยอร์ระหว่างการชดเชยระลอกคลื่น" + +msgid "" +"Specifies how many consecutive layers share the same ripple phase before the " +"offset is applied.\n" +"For example:\n" +"- 1 = Layer 1 is printed with the base ripple pattern, then layer 2 is " +"shifted by the configured offset, then layer 3 returns to the base pattern, " +"and so on.\n" +"- 3 = Layers 1 to 3 are printed with the base ripple pattern, then layers 4 " +"to 6 are shifted by the configured offset, then layers 7 to 9 return to the " +"base pattern, etc." +msgstr "ระบุจำนวนเลเยอร์ที่ต่อเนื่องกันที่ใช้เฟสระลอกคลื่นเดียวกันก่อนที่จะใช้ออฟเซ็ต\nตัวอย่างเช่น:\n- 1 = เลเยอร์ 1 ถูกพิมพ์ด้วยรูปแบบระลอกคลื่นฐาน จากนั้นเลเยอร์ 2 จะถูกเลื่อนโดยออฟเซ็ตที่กำหนดค่าไว้ จากนั้นเลเยอร์ 3 จะกลับสู่รูปแบบฐาน และอื่นๆ\n- 3 = เลเยอร์ 1 ถึง 3 จะถูกพิมพ์ด้วยรูปแบบระลอกฐาน จากนั้นเลเยอร์ 4 ถึง 6 จะถูกเลื่อนโดยออฟเซ็ตที่กำหนดค่าไว้ จากนั้นเลเยอร์ 7 ถึง 9 จะกลับสู่รูปแบบพื้นฐาน เป็นต้น" + +msgid "Filter out tiny gaps" +msgstr "กรองช่องว่างเล็กๆ ออกไป" + +msgid "Layers and Perimeters" +msgstr "ชั้นและปริมณฑล" + +msgid "" +"Don't print gap fill with a length is smaller than the threshold specified " +"(in mm). This setting applies to top, bottom and solid infill and, if using " +"the classic perimeter generator, to wall gap fill." +msgstr "อย่าพิมพ์การเติมช่องว่างโดยมีความยาวน้อยกว่าเกณฑ์ที่ระบุ (เป็นมม.) การตั้งค่านี้ใช้กับการเติมช่องว่างด้านบน ด้านล่าง และทึบ และหากใช้เครื่องกำเนิดเส้นรอบวงแบบคลาสสิก ก็สามารถทำการเติมช่องว่างที่ผนังได้" + +msgid "" +"Speed of gap infill. Gap usually has irregular line width and should be " +"printed more slowly." +msgstr "ความเร็วของการเติมช่องว่าง Gap มักจะมีความกว้างของเส้นไม่สม่ำเสมอ และควรพิมพ์ให้ช้าลง" + +msgid "Precise Z height" +msgstr "ความสูง Z ที่แม่นยำ" + +msgid "" +"Enable this to get precise Z height of object after slicing. It will get the " +"precise object height by fine-tuning the layer heights of the last few " +"layers. Note that this is an experimental parameter." +msgstr "เปิดใช้งานสิ่งนี้เพื่อรับความสูง Z ของวัตถุที่แม่นยำหลังจากการแบ่งส่วน มันจะได้ความสูงของวัตถุที่แม่นยำโดยการปรับความสูงของเลเยอร์ของสองสามเลเยอร์สุดท้ายอย่างละเอียด โปรดทราบว่านี่เป็นพารามิเตอร์ทดลอง" + +msgid "Arc fitting" +msgstr "ข้อต่อส่วนโค้ง" + +msgid "" +"Enable this to get a G-code file which has G2 and G3 moves. The fitting " +"tolerance is same as the resolution.\n" +"\n" +"Note: For Klipper machines, this option is recommended to be disabled. " +"Klipper does not benefit from arc commands as these are split again into " +"line segments by the firmware. This results in a reduction in surface " +"quality as line segments are converted to arcs by the slicer and then back " +"to line segments by the firmware." +msgstr "เปิดใช้งานสิ่งนี้เพื่อรับไฟล์ G-code ซึ่งมีการเคลื่อนไหว G2 และ G3 ความคลาดเคลื่อนในการติดตั้งจะเหมือนกับความละเอียด\n\nหมายเหตุ: สำหรับเครื่อง Klipper แนะนำให้ปิดการใช้งานตัวเลือกนี้ Klipper ไม่ได้รับประโยชน์จากคำสั่ง arc เนื่องจากคำสั่งเหล่านี้จะถูกแบ่งออกเป็นส่วนของบรรทัดอีกครั้งโดยเฟิร์มแวร์ ซึ่งส่งผลให้คุณภาพพื้นผิวลดลง เนื่องจากส่วนของเส้นถูกแปลงเป็นส่วนโค้งโดยตัวแบ่งส่วนข้อมูล จากนั้นเฟิร์มแวร์จะแปลงกลับไปยังส่วนของเส้นตรง" + +msgid "Add line number" +msgstr "เพิ่มหมายเลขบรรทัด" + +msgid "" +"Enable this to add line number(Nx) at the beginning of each G-code line." +msgstr "เปิดใช้งานสิ่งนี้เพื่อเพิ่มหมายเลขบรรทัด (Nx) ที่จุดเริ่มต้นของบรรทัด G-code แต่ละบรรทัด" + +msgid "Scan first layer" +msgstr "สแกนชั้นแรก" + +msgid "" +"Enable this to enable the camera on printer to check the quality of first " +"layer." +msgstr "เปิดใช้งานสิ่งนี้เพื่อให้กล้องบนเครื่องพิมพ์สามารถตรวจสอบคุณภาพของเลเยอร์แรกได้" + +msgid "Power Loss Recovery" +msgstr "การกู้คืนการสูญเสียพลังงาน" + +msgid "" +"Choose how to control power loss recovery. When set to Printer " +"configuration, the slicer will not emit power loss recovery G-code and will " +"leave the printer's configuration unchanged. Applicable to Bambu Lab or " +"Marlin 2 firmware based printers." +msgstr "เลือกวิธีควบคุมการกู้คืนพลังงานที่สูญเสียไป เมื่อตั้งค่าเป็นการกำหนดค่าเครื่องพิมพ์ ตัวแบ่งส่วนข้อมูลจะไม่ปล่อย G-code การกู้คืนการสูญเสียพลังงาน และจะปล่อยให้การกำหนดค่าของเครื่องพิมพ์ไม่เปลี่ยนแปลง ใช้ได้กับเครื่องพิมพ์ที่ใช้เฟิร์มแวร์ Bambu Lab หรือ Marlin 2" + +msgid "Printer configuration" +msgstr "การกำหนดค่าเครื่องพิมพ์" + +msgid "Nozzle type" +msgstr "ชนิดหัวฉีด" + +msgid "" +"The metallic material of nozzle. This determines the abrasive resistance of " +"nozzle, and what kind of filament can be printed." +msgstr "วัสดุโลหะของหัวฉีด สิ่งนี้จะกำหนดความต้านทานต่อการขัดถูของหัวฉีด และชนิดของฟิลาเมนท์ที่สามารถพิมพ์ได้" + +msgid "Undefine" +msgstr "ไม่กำหนด" + +msgid "Hardened steel" +msgstr "เหล็กชุบแข็ง" + +msgid "Stainless steel" +msgstr "สแตนเลส" + +msgid "Tungsten carbide" +msgstr "ทังสเตนคาร์ไบด์" + +msgid "Nozzle HRC" +msgstr "หัวฉีด HRC" + +msgid "" +"The nozzle's hardness. Zero means no checking for nozzle's hardness during " +"slicing." +msgstr "ความแข็งของหัวฉีด ค่าศูนย์หมายถึงไม่ต้องตรวจสอบความแข็งของหัวฉีดระหว่างการตัด" + +msgid "HRC" +msgstr "เหล็กแผ่นรีดร้อน" + +msgid "Printer structure" +msgstr "โครงสร้างเครื่องพิมพ์" + +msgid "The physical arrangement and components of a printing device." +msgstr "การจัดเรียงทางกายภาพและส่วนประกอบของอุปกรณ์การพิมพ์" + +msgid "CoreXY" +msgstr "CoreXY" + +msgid "I3" +msgstr "I3" + +msgid "Hbot" +msgstr "ฮอทบอต" + +msgid "Delta" +msgstr "เดลต้า" + +msgid "Best object position" +msgstr "ตำแหน่งวัตถุที่ดีที่สุด" + +msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." +msgstr "ตำแหน่งการจัดเรียงอัตโนมัติที่ดีที่สุดในช่วง [0,1] w.r.t. รูปร่างฐานพิมพ์" + +msgid "" +"Enable this option if machine has auxiliary part cooling fan. G-code " +"command: M106 P2 S(0-255)." +msgstr "เปิดใช้งานตัวเลือกนี้หากเครื่องมีพัดลมระบายความร้อนชิ้นส่วนเสริม คำสั่งรหัส G: M106 P2 S(0-255)" + +msgid "" +"Start the fan this number of seconds earlier than its target start time (you " +"can use fractional seconds). It assumes infinite acceleration for this time " +"estimation, and will only take into account G1 and G0 moves (arc fitting is " +"unsupported).\n" +"It won't move fan commands from custom G-code (they act as a sort of " +"'barrier').\n" +"It won't move fan commands into the start G-code if the 'only custom start G-" +"code' is activated.\n" +"Use 0 to deactivate." +msgstr "เริ่มพัดลมตามจำนวนวินาทีนี้เร็วกว่าเวลาเริ่มต้นเป้าหมาย (คุณสามารถใช้เศษส่วนวินาทีได้) โดยจะใช้ความเร่งอนันต์สำหรับการประมาณเวลานี้ และจะพิจารณาเฉพาะการเคลื่อนที่ของ G1 และ G0 เท่านั้น (ไม่รองรับการปรับส่วนโค้ง)\nมันจะไม่ย้ายคำสั่งพัดลมจาก G-code ที่กำหนดเอง (คำสั่งเหล่านั้นทำหน้าที่เป็น 'อุปสรรค')\nมันจะไม่ย้ายคำสั่งพัดลมไปที่รหัส G เริ่มต้นหากเปิดใช้งาน 'รหัส G-รหัสเริ่มต้นแบบกำหนดเองเท่านั้น'\nใช้ 0 เพื่อปิดใช้งาน" + +msgid "Only overhangs" +msgstr "มีเพียงส่วนยื่นเท่านั้น" + +msgid "Will only take into account the delay for the cooling of overhangs." +msgstr "จะคำนึงถึงความล่าช้าในการระบายความร้อนของส่วนยื่นเท่านั้น" + +msgid "Fan kick-start time" +msgstr "เวลาเริ่มเตะพัดลม" + +msgid "" +"Emit a max fan speed command for this amount of seconds before reducing to " +"target speed to kick-start the cooling fan.\n" +"This is useful for fans where a low PWM/power may be insufficient to get the " +"fan started spinning from a stop, or to get the fan up to speed faster.\n" +"Set to 0 to deactivate." +msgstr "ปล่อยคำสั่งความเร็วพัดลมสูงสุดเป็นเวลาไม่กี่วินาทีก่อนที่จะลดความเร็วลงตามเป้าหมายเพื่อสตาร์ทพัดลมระบายความร้อน\nสิ่งนี้มีประโยชน์สำหรับพัดลมที่ความเร็ว/PWM ต่ำอาจไม่เพียงพอที่จะทำให้พัดลมเริ่มหมุนจากจุดหยุด หรือเพื่อให้พัดลมทำงานเร็วขึ้น\nตั้งค่าเป็น 0 เพื่อปิดใช้งาน" + +msgid "Minimum non-zero part cooling fan speed" +msgstr "ความเร็วพัดลมระบายความร้อนชิ้นส่วนขั้นต่ำที่ไม่เป็นศูนย์" + +msgid "" +"Some part-cooling fans cannot start spinning when commanded below a certain " +"PWM duty cycle. When set above 0, any non-zero part-cooling fan command will " +"be raised to at least this percentage so the fan reliably starts. A fan " +"command of 0 (fan off) is always honoured exactly. This clamp is applied " +"after every other fan calculation (first-layer ramp, layer-time " +"interpolation, overhang/bridge/support-interface/ironing overrides), so " +"scaling still operates within the range [this value, 100%].\n" +"If your firmware already disables the fan below a threshold (for example " +"Klipper's [fan] off_below: 0.10 shuts the fan off whenever the commanded " +"duty cycle is below 10%), this option and the firmware threshold should " +"ideally be set to the same value. Matching them (e.g. off_below: 0.10 in " +"Klipper and 10% here) guarantees the slicer never emits a non-zero value " +"that the firmware would silently drop, and the fan never receives a value " +"below the one you know it can actually spool at.\n" +"Set to 0 to deactivate." +msgstr "พัดลมระบายความร้อนบางส่วนไม่สามารถเริ่มหมุนได้เมื่อได้รับคำสั่งให้ต่ำกว่ารอบการทำงานของ PWM ที่กำหนด เมื่อตั้งค่าสูงกว่า 0 คำสั่งพัดลมระบายความร้อนที่ไม่เป็นศูนย์จะเพิ่มขึ้นเป็นเปอร์เซ็นต์เป็นอย่างน้อย เพื่อให้พัดลมเริ่มทำงานได้อย่างน่าเชื่อถือ คำสั่งพัดลมเป็น 0 (ปิดพัดลม) จะได้รับเกียรติเสมอ แคลมป์นี้จะถูกนำไปใช้หลังจากการคำนวณพัดลมอื่นๆ ทุกครั้ง (การลาดชั้นแรก การแก้ไขเลเยอร์ไทม์ ส่วนยื่น/บริดจ์/ส่วนรองรับ/การแทนที่การรีดผ้า) ดังนั้นการปรับขนาดยังคงทำงานภายในช่วง [ค่านี้ 100%]\nหากเฟิร์มแวร์ของคุณปิดใช้งานพัดลมที่ต่ำกว่าเกณฑ์อยู่แล้ว (เช่น [พัดลม] off_below ของ Klipper: 0.10 จะปิดพัดลมเมื่อใดก็ตามที่รอบการทำงานที่ได้รับคำสั่งต่ำกว่า 10%) ตัวเลือกนี้และเกณฑ์ของเฟิร์มแวร์ควรได้รับการตั้งค่าตามอุดมคติให้เป็นค่าเดียวกัน การจับคู่พวกมัน (เช่น off_below: 0.10 ใน Klipper และ 10% ที่นี่) รับประกันว่าตัวแบ่งส่วนข้อมูลจะไม่ปล่อยค่าที่ไม่ใช่ศูนย์ซึ่งเฟิร์มแวร์จะดรอปอย่างเงียบๆ และพัดลมจะไม่ได้รับค่าที่ต่ำกว่าค่าที่คุณรู้ว่าสามารถสปูลได้จริง\nตั้งค่าเป็น 0 เพื่อปิดใช้งาน" + +msgid "%" +msgstr "%" + +msgid "Time cost" +msgstr "ต้นทุนเวลา" + +msgid "The printer cost per hour." +msgstr "ต้นทุนเครื่องพิมพ์ต่อชั่วโมง" + +msgid "money/h" +msgstr "เงิน/ชม." + +msgid "Support control chamber temperature" +msgstr "รองรับการควบคุมอุณหภูมิห้องควบคุม" + +msgid "" +"This option is enabled if machine support controlling chamber temperature\n" +"G-code command: M141 S(0-255)" +msgstr "ตัวเลือกนี้จะเปิดใช้งานหากเครื่องรองรับการควบคุมอุณหภูมิห้องเพาะเลี้ยง\nคำสั่งรหัส G: M141 S(0-255)" + +msgid "Support air filtration" +msgstr "รองรับการกรองอากาศ" + +msgid "" +"Enable this if printer support air filtration\n" +"G-code command: M106 P3 S(0-255)" +msgstr "เปิดใช้งานสิ่งนี้หากเครื่องพิมพ์รองรับการกรองอากาศ\nคำสั่งรหัส G: M106 P3 S(0-255)" + +msgid "G-code flavor" +msgstr "รสจีโค้ด" + +msgid "What kind of G-code the printer is compatible with." +msgstr "เครื่องพิมพ์ G-code ชนิดใดที่เข้ากันได้กับ" + +msgid "Klipper" +msgstr "คลิปเปอร์" + +msgid "Pellet Modded Printer" +msgstr "เครื่องพิมพ์ Modded เม็ด" + +msgid "Enable this option if your printer uses pellets instead of filaments." +msgstr "เปิดใช้งานตัวเลือกนี้หากเครื่องพิมพ์ของคุณใช้เม็ดแทนเส้นพลาสติก" + +msgid "Support multi bed types" +msgstr "รองรับฐานพิมพ์หลายประเภท" + +msgid "Enable this option if you want to use multiple bed types." +msgstr "เปิดใช้งานตัวเลือกนี้หากคุณต้องการใช้ฐานพิมพ์หลายประเภท" + +msgid "Label objects" +msgstr "ติดป้ายกำกับวัตถุ" + +msgid "" +"Enable this to add comments into the G-code labeling print moves with what " +"object they belong to, which is useful for the Octoprint CancelObject plug-" +"in. This setting is NOT compatible with Single Extruder Multi Material setup " +"and Wipe into Object / Wipe into Infill." +msgstr "เปิดใช้งานสิ่งนี้เพื่อเพิ่มความคิดเห็นลงในการพิมพ์การติดฉลาก G-code ด้วยวัตถุที่อยู่ในนั้น ซึ่งมีประโยชน์สำหรับปลั๊กอิน Octoprint CancelObject การตั้งค่านี้เข้ากันไม่ได้กับการตั้งค่า Single ชุดดันเส้น Multi Material และ Wipe into Object / Wipe into ไส้ใน" + +msgid "Exclude objects" +msgstr "ไม่รวมวัตถุ" + +msgid "Enable this option to add EXCLUDE OBJECT command in G-code." +msgstr "เปิดใช้งานตัวเลือกนี้เพื่อเพิ่มคำสั่ง EXCLUDE OBJECT ใน G-code" + +msgid "Verbose G-code" +msgstr "G-code แบบละเอียด" + +msgid "" +"Enable this to get a commented G-code file, with each line explained by a " +"descriptive text. If you print from SD card, the additional weight of the " +"file could make your firmware slow down." +msgstr "เปิดใช้งานสิ่งนี้เพื่อรับไฟล์ G-code ที่มีความคิดเห็น โดยแต่ละบรรทัดจะอธิบายด้วยข้อความอธิบาย หากคุณพิมพ์จากการ์ด SD น้ำหนักที่เพิ่มขึ้นของไฟล์อาจทำให้เฟิร์มแวร์ของคุณช้าลง" + +msgid "Infill combination" +msgstr "ไส้ในชุดค่าผสม" + +msgid "" +"Automatically Combine sparse infill of several layers to print together to " +"reduce time. Wall is still printed with original layer height." +msgstr "รวมไส้ในแบบโปร่งของหลายชั้นโดยอัตโนมัติเพื่อพิมพ์เข้าด้วยกันเพื่อลดเวลา ผนังยังคงพิมพ์ด้วยความสูงชั้นเดิม" + +msgid "Infill shift step" +msgstr "ขั้นตอนไส้ในกะ" + +msgid "" +"This parameter adds a slight displacement to each layer of infill to create " +"a cross texture." +msgstr "พารามิเตอร์นี้จะเพิ่มการกระจัดเล็กน้อยในแต่ละชั้นของ ไส้ใน เพื่อสร้างพื้นผิวแบบกากบาท" + +msgid "Sparse infill rotation template" +msgstr "เทมเพลตการหมุน ไส้ใน แบบกระจัดกระจาย" + +msgid "" +"Rotate the sparse infill direction per layer using a template of angles. " +"Enter comma-separated degrees (e.g., '0,30,60,90'). Angles are applied in " +"order by layer and repeat when the list ends. Advanced syntax is supported: " +"'+5' rotates +5° every layer; '+5#5' rotates +5° every 5 layers. See the " +"Wiki for details. When a template is set, the standard infill direction " +"setting is ignored. Note: some infill patterns (e.g., Gyroid) control " +"rotation themselves; use with care." +msgstr "หมุนทิศทางไส้ในแบบโปร่งต่อเลเยอร์โดยใช้เทมเพลตมุม ป้อนองศาที่คั่นด้วยเครื่องหมายจุลภาค (เช่น '0,30,60,90') มุมจะถูกนำไปใช้ตามลำดับชั้นและทำซ้ำเมื่อรายการสิ้นสุด รองรับไวยากรณ์ขั้นสูง: '+5' หมุน +5° ทุกเลเยอร์; '+5#5' หมุน +5° ทุกๆ 5 เลเยอร์ ดูวิกิสำหรับรายละเอียด เมื่อตั้งค่าเทมเพลต การตั้งค่าทิศทางไส้ในมาตรฐานจะถูกละเว้น หมายเหตุ: รูปแบบไส้ในบางรูปแบบ (เช่น ไจรอยด์) จะควบคุมการหมุนด้วยตัวเอง ใช้ด้วยความระมัดระวัง" + +msgid "Solid infill rotation template" +msgstr "เทมเพลตการหมุน ไส้ใน ที่เป็นของแข็ง" + +msgid "" +"This parameter adds a rotation of solid infill direction to each layer " +"according to the specified template. The template is a comma-separated list " +"of angles in degrees, e.g. '0,90'. The first angle is applied to the first " +"layer, the second angle to the second layer, and so on. If there are more " +"layers than angles, the angles will be repeated. Note that not all solid " +"infill patterns support rotation." +msgstr "พารามิเตอร์นี้จะเพิ่มการหมุนของทิศทางไส้ในแบบทึบลงในแต่ละชั้นตามเทมเพลตที่ระบุ เทมเพลตคือรายการมุมในหน่วยองศาที่คั่นด้วยเครื่องหมายจุลภาค เช่น '0,90'. มุมแรกใช้กับเลเยอร์แรก มุมที่สองกับเลเยอร์ที่สอง และอื่นๆ หากมีชั้นมากกว่ามุม มุมจะเกิดซ้ำ โปรดทราบว่ารูปแบบไส้ในแบบทึบบางรูปแบบไม่รองรับการหมุน" + +msgid "Skeleton infill density" +msgstr "ความหนาแน่นของโครงกระดูก" + +msgid "" +"The remaining part of the model contour after removing a certain depth from " +"the surface is called the skeleton. This parameter is used to adjust the " +"density of this section. When two regions have the same sparse infill " +"settings but different skeleton densities, their skeleton areas will develop " +"overlapping sections. Default is as same as infill density." +msgstr "ส่วนที่เหลือของรูปร่างของแบบจำลองหลังจากลบความลึกบางส่วนออกจากพื้นผิวแล้วเรียกว่าโครงกระดูก พารามิเตอร์นี้ใช้เพื่อปรับความหนาแน่นของส่วนนี้ เมื่อสองภูมิภาคมีการตั้งค่าไส้ในแบบโปร่งเหมือนกัน แต่มีความหนาแน่นของโครงกระดูกต่างกัน พื้นที่โครงกระดูกของพวกมันจะพัฒนาส่วนที่ทับซ้อนกัน ค่าเริ่มต้นจะเหมือนกับความหนาแน่นของ ไส้ใน" + +msgid "Skin infill density" +msgstr "ไส้ในความหนาแน่นของผิวหนัง" + +msgid "" +"The portion of the model's outer surface within a certain depth range is " +"called the skin. This parameter is used to adjust the density of this " +"section. When two regions have the same sparse infill settings but different " +"skin densities, this area will not be split into two separate regions. " +"Default is as same as infill density." +msgstr "ส่วนของพื้นผิวด้านนอกของแบบจำลองภายในช่วงความลึกที่กำหนดเรียกว่าผิวหนัง พารามิเตอร์นี้ใช้เพื่อปรับความหนาแน่นของส่วนนี้ เมื่อสองภูมิภาคมีการตั้งค่าไส้ในแบบโปร่งเหมือนกัน แต่มีความหนาแน่นของผิวหนังต่างกัน พื้นที่นี้จะไม่ถูกแบ่งออกเป็นสองภูมิภาคที่แยกจากกัน ค่าเริ่มต้นจะเหมือนกับความหนาแน่นของ ไส้ใน" + +msgid "Skin infill depth" +msgstr "ไส้ในความลึกให้กับผิว" + +msgid "The parameter sets the depth of skin." +msgstr "พารามิเตอร์จะกำหนดความลึกของผิวหนัง" + +msgid "Infill lock depth" +msgstr "ไส้ในความลึกในการล็อค" + +msgid "The parameter sets the overlapping depth between the interior and skin." +msgstr "พารามิเตอร์จะตั้งค่าความลึกที่ทับซ้อนกันระหว่างภายในและผิวหนัง" + +msgid "Skin line width" +msgstr "ความกว้างของเส้นผิวหนัง" + +msgid "Adjust the line width of the selected skin paths." +msgstr "ปรับความกว้างของเส้นของเส้นทางสกินที่เลือก" + +msgid "Skeleton line width" +msgstr "ความกว้างของเส้นโครงกระดูก" + +msgid "Adjust the line width of the selected skeleton paths." +msgstr "ปรับความกว้างของเส้นของเส้นทางโครงกระดูกที่เลือก" + +msgid "Symmetric infill Y axis" +msgstr "แกน Y ไส้ในแบบสมมาตร" + +msgid "" +"If the model has two parts that are symmetric about the Y axis, and you want " +"these parts to have symmetric textures, please click this option on one of " +"the parts." +msgstr "หากแบบจำลองมีสองส่วนที่สมมาตรเกี่ยวกับแกน Y และคุณต้องการให้ส่วนเหล่านี้มีพื้นผิวที่สมมาตร โปรดคลิกตัวเลือกนี้บนส่วนใดส่วนหนึ่ง" + +msgid "Infill combination - Max layer height" +msgstr "ชุดค่าผสม ไส้ใน - ความสูงของชั้นสูงสุด" + +msgid "" +"Maximum layer height for the combined sparse infill.\n" +"\n" +"Set it to 0 or 100% to use the nozzle diameter (for maximum reduction in " +"print time) or a value of ~80% to maximize sparse infill strength.\n" +"\n" +"The number of layers over which infill is combined is derived by dividing " +"this value with the layer height and rounded down to the nearest decimal.\n" +"\n" +"Use either absolute mm values (eg. 0.32mm for a 0.4mm nozzle) or % values " +"(eg 80%). This value must not be larger than the nozzle diameter." +msgstr "ความสูงสูงสุดของชั้นสำหรับไส้ในแบบกระจายแบบรวม\n\nตั้งค่าเป็น 0 หรือ 100% เพื่อใช้เส้นผ่านศูนย์กลางหัวฉีด (เพื่อลดเวลาการพิมพ์สูงสุด) หรือค่า ~80% เพื่อเพิ่มความแข็งแรงของวัสดุไส้ในแบบโปร่งให้สูงสุด\n\nจำนวนเลเยอร์ที่รวม ไส้ใน ได้มาโดยการหารค่านี้ด้วยความสูงของเลเยอร์และปัดเศษลงให้เป็นทศนิยมที่ใกล้ที่สุด\n\nใช้ค่าสัมบูรณ์ มม. (เช่น 0.32 มม. สำหรับหัวฉีด 0.4 มม.) หรือค่า % (เช่น 80%) ค่านี้ต้องไม่ใหญ่กว่าเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Enable clumping detection" +msgstr "เปิดใช้งานการตรวจจับการจับกันเป็นก้อน" + +msgid "Clumping detection layers" +msgstr "ชั้นตรวจจับการจับกันเป็นก้อน" + +msgid "Clumping detection layers." +msgstr "ชั้นตรวจจับการจับกันเป็นก้อน" + +msgid "Probing exclude area of clumping" +msgstr "การตรวจวัดไม่รวมพื้นที่จับตัวเป็นก้อน" + +msgid "Probing exclude area of clumping." +msgstr "การตรวจวัดไม่รวมพื้นที่จับตัวเป็นก้อน" + +msgid "Filament to print internal sparse infill." +msgstr "เส้นพลาสติกสำหรับพิมพ์ ไส้ใน เบาบางภายใน" + +msgid "" +"Line width of internal sparse infill. If expressed as a %, it will be " +"computed over the nozzle diameter." +msgstr "ความกว้างของเส้นของไส้ในแบบกระจัดกระจายภายใน หากแสดงเป็น % จะคำนวณตามเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Infill/Wall overlap" +msgstr "ไส้ในซ้อนทับผนัง" + +#, no-c-format, no-boost-format +msgid "" +"Infill area is enlarged slightly to overlap with wall for better bonding. " +"The percentage value is relative to line width of sparse infill. Set this " +"value to ~10-15% to minimize potential over extrusion and accumulation of " +"material resulting in rough top surfaces." +msgstr "พื้นที่ไส้ในจะขยายใหญ่ขึ้นเล็กน้อยเพื่อให้ทับซ้อนกับผนังเพื่อการยึดเกาะที่ดีขึ้น ค่าเปอร์เซ็นต์สัมพันธ์กับความกว้างของเส้นของไส้ในแบบกระจัดกระจาย ตั้งค่านี้เป็น ~10-15% เพื่อลดโอกาสเกิดการอัดขึ้นรูปและการสะสมของวัสดุ ส่งผลให้พื้นผิวด้านบนขรุขระ" + +msgid "Top/Bottom solid infill/wall overlap" +msgstr "ด้านบน/ด้านล่างของช่องทึบ/ผนังทับซ้อนกัน" + +#, no-c-format, no-boost-format +msgid "" +"Top solid infill area is enlarged slightly to overlap with wall for better " +"bonding and to minimize the appearance of pinholes where the top infill " +"meets the walls. A value of 25-30% is a good starting point, minimizing the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill." +msgstr "พื้นที่ไส้ในของแข็งด้านบนจะถูกขยายให้ใหญ่ขึ้นเล็กน้อยเพื่อให้ทับซ้อนกับผนังเพื่อการยึดเกาะที่ดีขึ้น และเพื่อลดการเกิดรูเข็มที่ซึ่งอินฟิลด้านบนบรรจบกับผนัง ค่า 25-30% ถือเป็นจุดเริ่มต้นที่ดี โดยช่วยลดการเกิดรูเข็มให้เหลือน้อยที่สุด ค่าเปอร์เซ็นต์สัมพันธ์กับความกว้างของเส้นของไส้ในแบบกระจัดกระจาย" + +msgid "Speed of internal sparse infill." +msgstr "ความเร็วของ ไส้ใน เบาบางภายใน" + +msgid "Inherits profile" +msgstr "สืบทอดโปรไฟล์" + +msgid "Name of parent profile." +msgstr "ชื่อของโปรไฟล์ผู้ปกครอง" + +msgid "Interface shells" +msgstr "เชลล์อินเตอร์เฟส" + +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 "บังคับการสร้างเปลือกแข็งระหว่างวัสดุ/ปริมาตรที่อยู่ติดกัน มีประโยชน์สำหรับการพิมพ์แบบหลายชุดดันเส้นด้วยวัสดุโปร่งแสงหรือวัสดุรองรับที่ละลายน้ำได้ด้วยตนเอง" + +msgid "Maximum width of a segmented region" +msgstr "ความกว้างสูงสุดของขอบเขตที่แบ่งส่วน" + +msgid "Maximum width of a segmented region. Zero disables this feature." +msgstr "ความกว้างสูงสุดของขอบเขตที่แบ่งส่วน ศูนย์ปิดใช้งานคุณลักษณะนี้" + +msgid "Interlocking depth of a segmented region" +msgstr "ความลึกที่ประสานกันของภูมิภาคที่แบ่งส่วน" + +msgid "" +"Interlocking depth of a segmented region. It will be ignored if " +"\"mmu_segmented_region_max_width\" is zero or if " +"\"mmu_segmented_region_interlocking_depth\" is bigger than " +"\"mmu_segmented_region_max_width\". Zero disables this feature." +msgstr "ความลึกที่ประสานกันของภูมิภาคที่แบ่งส่วน ระบบจะไม่สนใจหาก \"mmu_segmented_region_max_width\" เป็นศูนย์ หรือหาก \"mmu_segmented_region_interlocking_detail\" ใหญ่กว่า \"mmu_segmented_region_max_width\" ศูนย์ปิดใช้งานคุณลักษณะนี้" + +msgid "Use beam interlocking" +msgstr "ใช้การประสานลำแสง" + +msgid "" +"Generate interlocking beam structure at the locations where different " +"filaments touch. This improves the adhesion between filaments, especially " +"models printed in different materials." +msgstr "สร้างโครงสร้างลำแสงที่เชื่อมต่อกันในตำแหน่งที่เส้นพลาสติกต่างๆ สัมผัสกัน ซึ่งจะช่วยปรับปรุงการยึดเกาะระหว่างเส้นพลาสติก โดยเฉพาะรุ่นที่พิมพ์ด้วยวัสดุที่แตกต่างกัน" + +msgid "Interlocking beam width" +msgstr "ความกว้างของลำแสงที่เชื่อมต่อกัน" + +msgid "The width of the interlocking structure beams." +msgstr "ความกว้างของคานโครงสร้างที่เชื่อมต่อกัน" + +msgid "Interlocking direction" +msgstr "ทิศทางที่เชื่อมต่อกัน" + +msgid "Orientation of interlock beams." +msgstr "การวางแนวของคานลูกโซ่" + +msgid "Interlocking beam layers" +msgstr "ชั้นลำแสงที่เชื่อมต่อกัน" + +msgid "" +"The height of the beams of the interlocking structure, measured in number of " +"layers. Less layers is stronger, but more prone to defects." +msgstr "ความสูงของคานของโครงสร้างที่เชื่อมต่อกัน วัดเป็นจำนวนชั้น ชั้นที่น้อยลงจะแข็งแกร่งขึ้น แต่มีแนวโน้มที่จะเกิดข้อบกพร่องมากขึ้น" + +msgid "Interlocking depth" +msgstr "ความลึกที่ประสานกัน" + +msgid "" +"The distance from the boundary between filaments to generate interlocking " +"structure, measured in cells. Too few cells will result in poor adhesion." +msgstr "ระยะห่างจากขอบเขตระหว่างเส้นพลาสติกเพื่อสร้างโครงสร้างที่เชื่อมต่อกัน วัดในเซลล์ จำนวนเซลล์ที่มากเกินไปจะทำให้การยึดเกาะไม่ดี" + +msgid "Interlocking boundary avoidance" +msgstr "การหลีกเลี่ยงขอบเขตที่ประสานกัน" + +msgid "" +"The distance from the outside of a model where interlocking structures will " +"not be generated, measured in cells." +msgstr "ระยะห่างจากด้านนอกของแบบจำลองซึ่งจะไม่สร้างโครงสร้างที่เชื่อมต่อกัน โดยวัดเป็นเซลล์" + +msgid "Ironing Type" +msgstr "ชนิดการรีดผิว" + +msgid "" +"Ironing is using small flow to print on same height of surface again to make " +"flat surface more smooth. This setting controls which layer being ironed." +msgstr "การรีดผ้าคือการใช้กระแสน้ำเล็กน้อยเพื่อพิมพ์บนพื้นผิวที่มีความสูงเท่ากันอีกครั้งเพื่อให้พื้นผิวเรียบเรียบยิ่งขึ้น การตั้งค่านี้ควบคุมว่าชั้นใดที่จะรีด" + +msgid "No ironing" +msgstr "ไม่รีดผิว" + +msgid "Top surfaces" +msgstr "ผิวด้านบน" + +msgid "Topmost surface" +msgstr "ผิวบนสุด" + +msgid "All solid layers" +msgstr "เลเยอร์ทึบทั้งหมด" + +msgid "Ironing Pattern" +msgstr "รูปแบบการรีดผ้า" + +msgid "The pattern that will be used when ironing." +msgstr "รูปแบบที่จะใช้ในการรีด" + +msgid "" +"The amount of material to extrude during ironing. Relative to flow of normal " +"layer height. Too high value results in overextrusion on the surface." +msgstr "ปริมาณวัสดุที่จะพ่นออกมาระหว่างรีดผ้า สัมพันธ์กับการไหลของความสูงของชั้นปกติ ค่าที่สูงเกินไปส่งผลให้เกิดการอัดขึ้นรูปมากเกินไปบนพื้นผิว" + +msgid "The distance between the lines of ironing." +msgstr "ระยะห่างระหว่างเส้นรีดผ้า" + +msgid "" +"The distance to keep from the edges. A value of 0 sets this to half of the " +"nozzle diameter." +msgstr "ระยะห่างที่ต้องเก็บจากขอบ ค่า 0 ตั้งค่านี้เป็นครึ่งหนึ่งของเส้นผ่านศูนย์กลางหัวฉีด" + +msgid "Print speed of ironing lines." +msgstr "ความเร็วในการพิมพ์รีดผ้า" + +msgid "Ironing angle offset" +msgstr "ชดเชยมุมรีดผ้า" + +msgid "The angle of ironing lines offset from the top surface." +msgstr "มุมของรีดผ้าจะชดเชยจากพื้นผิวด้านบน" + +msgid "Fixed ironing angle" +msgstr "มุมรีดผ้าคงที่" + +msgid "Use a fixed absolute angle for ironing." +msgstr "ใช้มุมสัมบูรณ์คงที่ในการรีดผ้า" + +msgid "Ironing expansion" +msgstr "การขยายตัวของการรีดผ้า" + +msgid "Expand or contract the ironing area." +msgstr "ขยายหรือหดพื้นที่รีดผ้า" + +msgid "Z contouring enabled" +msgstr "เปิดใช้งานเส้นขอบ Z" + +msgid "Enable Z-layer contouring (aka Z-layer anti-aliasing)." +msgstr "เปิดใช้งานคอนทัวร์เลเยอร์ Z (หรือที่เรียกว่าการป้องกันนามแฝงของเลเยอร์ Z)" + +msgid "Minimize wall height angle" +msgstr "ลดมุมความสูงของผนังให้เล็กที่สุด" + +msgid "" +"Reduce the height of top-surface perimeters to match the model edge height.\n" +"Affects perimeters with a slope less than this angle (degrees).\n" +"A reasonable value is 35. Set to 0 to disable." +msgstr "ลดความสูงของเส้นรอบวงพื้นผิวด้านบนเพื่อให้ตรงกับความสูงของขอบโมเดล\nส่งผลต่อเส้นรอบวงที่มีความชันน้อยกว่ามุมนี้ (องศา)\nค่าที่เหมาะสมคือ 35 ตั้งค่าเป็น 0 เพื่อปิดใช้งาน" + +msgid "°" +msgstr "°" + +msgid "Don't alternate fill direction" +msgstr "อย่าสลับทิศทางไส้ใน" + +msgid "Disable alternating fill direction when using Z contouring." +msgstr "ปิดใช้งานการสลับทิศทางไส้ในเมื่อใช้โครงร่าง Z" + +msgid "Minimum z height" +msgstr "ความสูงขั้นต่ำ z" + +msgid "" +"Minimum Z-layer height.\n" +"Also controls the slicing plane." +msgstr "ความสูงขั้นต่ำของชั้น Z\nควบคุมระนาบการแบ่งส่วนด้วย" + +msgid "This G-code is inserted at every layer change after the Z lift." +msgstr "G-code นี้จะถูกแทรกทุกครั้งที่เปลี่ยนเลเยอร์หลังจากการยก Z" + +msgid "Clumping detection G-code" +msgstr "G-code การตรวจจับการจับตัวเป็นก้อน" + +msgid "Supports silent mode" +msgstr "รองรับโหมดเงียบ" + +msgid "" +"Whether the machine supports silent mode in which machine use lower " +"acceleration to print." +msgstr "เครื่องรองรับโหมดเงียบซึ่งเครื่องใช้ความเร่งในการพิมพ์ต่ำกว่าหรือไม่" + +msgid "Emit limits to G-code" +msgstr "ปล่อยขีดจำกัดให้กับ G-code" + +msgid "Machine limits" +msgstr "ขีดจำกัดของเครื่อง" + +msgid "" +"If enabled, the machine limits will be emitted to G-code file.\n" +"This option will be ignored if the G-code flavor is set to Klipper." +msgstr "หากเปิดใช้งาน ขีดจำกัดของเครื่องจะถูกส่งไปยังไฟล์ G-code\nตัวเลือกนี้จะถูกละเว้นหากตั้งค่ารสชาติ G-code เป็น Klipper" + +msgid "" +"This G-code will be used as a code for the pause print. Users can insert " +"pause G-code in the G-code viewer." +msgstr "G-code นี้จะใช้เป็นรหัสสำหรับการหยุดการพิมพ์ชั่วคราว ผู้ใช้สามารถแทรก G-code หยุดชั่วคราวในโปรแกรมดู G-code" + +msgid "This G-code will be used as a custom code." +msgstr "รหัส G นี้จะใช้เป็นรหัสที่กำหนดเอง" + +msgid "Small area flow compensation (beta)" +msgstr "การชดเชยการไหลของพื้นที่ขนาดเล็ก (เบต้า)" + +msgid "Enable flow compensation for small infill areas." +msgstr "เปิดใช้งานการชดเชยการไหลสำหรับพื้นที่ไส้ในขนาดเล็ก" + +msgid "Flow Compensation Model" +msgstr "แบบจำลองการชดเชยการไหล" + +msgid "" +"Flow Compensation Model, used to adjust the flow for small infill areas. The " +"model is expressed as a comma separated pair of values for extrusion length " +"and flow correction factor. Each pair is on a separate line, followed by a " +"semicolon, in the following format: \"1.234, 5.678;\"" +msgstr "Flow Compensation Model ใช้เพื่อปรับการไหลสำหรับพื้นที่ไส้ในขนาดเล็ก แบบจำลองนี้จะแสดงเป็นคู่ของค่าที่คั่นด้วยเครื่องหมายจุลภาคสำหรับความยาวการอัดขึ้นรูปและปัจจัยการแก้ไขการไหล แต่ละคู่อยู่บนบรรทัดแยกกัน ตามด้วยอัฒภาค ในรูปแบบต่อไปนี้: \"1.234, 5.678;\"" + +msgid "Maximum speed X" +msgstr "ความเร็วสูงสุด X" + +msgid "Maximum speed Y" +msgstr "ความเร็วสูงสุด Y" + +msgid "Maximum speed Z" +msgstr "ความเร็วสูงสุด Z" + +msgid "Maximum speed E" +msgstr "ความเร็วสูงสุด E" + +msgid "Maximum X speed" +msgstr "ความเร็ว X สูงสุด" + +msgid "Maximum Y speed" +msgstr "ความเร็ว Y สูงสุด" + +msgid "Maximum Z speed" +msgstr "ความเร็ว Z สูงสุด" + +msgid "Maximum E speed" +msgstr "ความเร็ว E สูงสุด" + +msgid "Maximum acceleration X" +msgstr "อัตราเร่งสูงสุด X" + +msgid "Maximum acceleration Y" +msgstr "อัตราเร่งสูงสุด Y" + +msgid "Maximum acceleration Z" +msgstr "อัตราเร่งสูงสุด Z" + +msgid "Maximum acceleration E" +msgstr "อัตราเร่งสูงสุด E" + +msgid "Maximum acceleration of the X axis" +msgstr "ความเร่งสูงสุดของแกน X" + +msgid "Maximum acceleration of the Y axis" +msgstr "ความเร่งสูงสุดของแกน Y" + +msgid "Maximum acceleration of the Z axis" +msgstr "ความเร่งสูงสุดของแกน Z" + +msgid "Maximum acceleration of the E axis" +msgstr "ความเร่งสูงสุดของแกน E" + +msgid "Maximum jerk X" +msgstr "การกระตุกสูงสุด X" + +msgid "Maximum jerk Y" +msgstr "กระตุกสูงสุด Y" + +msgid "Maximum jerk Z" +msgstr "การกระตุกสูงสุด Z" + +msgid "Maximum jerk E" +msgstr "กระตุกสูงสุด E" + +msgid "Maximum jerk of the X axis" +msgstr "การกระตุกสูงสุดของแกน X" + +msgid "Maximum jerk of the Y axis" +msgstr "การกระตุกสูงสุดของแกน Y" + +msgid "Maximum jerk of the Z axis" +msgstr "การกระตุกสูงสุดของแกน Z" + +msgid "Maximum jerk of the E axis" +msgstr "การกระตุกสูงสุดของแกน E" + +msgid "Maximum Junction Deviation" +msgstr "ส่วนเบี่ยงเบนทางแยกสูงสุด" + +msgid "" +"Maximum junction deviation (M205 J, only apply if JD > 0 for Marlin " +"Firmware\n" +"If your Marlin 2 printer uses Classic Jerk set this value to 0.)" +msgstr "ค่าเบี่ยงเบนจุดเชื่อมต่อสูงสุด (M205 J ใช้เฉพาะเมื่อ JD > 0 สำหรับเฟิร์มแวร์ Marlin\nหากเครื่องพิมพ์ Marlin 2 ของคุณใช้ Classic Jerk ให้ตั้งค่านี้เป็น 0)" + +msgid "Minimum speed for extruding" +msgstr "ความเร็วขั้นต่ำสำหรับการอัดขึ้นรูป" + +msgid "Minimum speed for extruding (M205 S)" +msgstr "ความเร็วขั้นต่ำสำหรับการอัดรีด (M205 S)" + +msgid "Minimum travel speed" +msgstr "ความเร็วในการเดินทางขั้นต่ำ" + +msgid "Minimum travel speed (M205 T)" +msgstr "ความเร็วในการเดินทางขั้นต่ำ (M205 T)" + +msgid "Maximum acceleration for extruding" +msgstr "ความเร่งสูงสุดสำหรับการอัดขึ้นรูป" + +msgid "Maximum acceleration for extruding (M204 P)" +msgstr "ความเร่งสูงสุดในการอัดรีด (M204 P)" + +msgid "Maximum acceleration for retracting" +msgstr "ความเร่งสูงสุดสำหรับการถอยกลับ" + +msgid "Maximum acceleration for retracting (M204 R)" +msgstr "อัตราเร่งสูงสุดในการถอยกลับ (M204 R)" + +msgid "Maximum acceleration for travel" +msgstr "อัตราเร่งสูงสุดสำหรับการเดินทาง" + +msgid "Maximum acceleration for travel (M204 T), it only applies to Marlin 2." +msgstr "อัตราเร่งสูงสุดสำหรับการเดินทาง (M204 T) ใช้กับ Marlin 2 เท่านั้น" + +msgid "Resonance avoidance" +msgstr "การหลีกเลี่ยงเสียงสะท้อน" + +msgid "" +"By reducing the speed of the outer wall to avoid the resonance zone of the " +"printer, ringing on the surface of the model are avoided.\n" +"Please turn this option off when testing ringing." +msgstr "โดยการลดความเร็วของผนังด้านนอกเพื่อหลีกเลี่ยงโซนเสียงสะท้อนของเครื่องพิมพ์ หลีกเลี่ยงเสียงกริ่งบนพื้นผิวของแบบจำลอง\nโปรดปิดตัวเลือกนี้เมื่อทดสอบเสียงเรียกเข้า" + +msgid "Min" +msgstr "นาที" + +msgid "Minimum speed of resonance avoidance." +msgstr "ความเร็วขั้นต่ำของการหลีกเลี่ยงเสียงสะท้อน" + +msgid "Max" +msgstr "สูงสุด" + +msgid "Maximum speed of resonance avoidance." +msgstr "ความเร็วสูงสุดของการหลีกเลี่ยงเสียงสะท้อน" + +msgid "Emit input shaping" +msgstr "ปล่อยรูปร่างอินพุต" + +msgid "" +"Override firmware input shaping settings.\n" +"If disabled, firmware settings are used." +msgstr "แทนที่การตั้งค่าการสร้างอินพุตเฟิร์มแวร์\nหากปิดใช้งาน ระบบจะใช้การตั้งค่าเฟิร์มแวร์" + +msgid "Input shaper type" +msgstr "ประเภทเชปเปอร์อินพุต" + +msgid "" +"Choose the input shaper algorithm.\n" +"Default uses the firmware default settings.\n" +"Disable turns off input shaping in the firmware." +msgstr "เลือกอัลกอริธึมตัวจัดรูปแบบอินพุต\nค่าเริ่มต้นใช้การตั้งค่าเริ่มต้นของเฟิร์มแวร์\nปิดใช้งานจะปิดการสร้างอินพุตในเฟิร์มแวร์" + +msgid "MZV" +msgstr "เอ็มแซฟ" + +msgid "ZV" +msgstr "ซีวี" + +msgid "ZVD" +msgstr "ซีวีดี" + +msgid "ZVDD" +msgstr "ซวีดีดี" + +msgid "ZVDDD" +msgstr "ซวีดีดี" + +msgid "EI" +msgstr "อีไอ" + +msgid "EI2" +msgstr "EI2" + +msgid "2HUMP_EI" +msgstr "2HUMP_EI" + +msgid "EI3" +msgstr "EI3" + +msgid "3HUMP_EI" +msgstr "3HUMP_EI" + +msgid "DAA" +msgstr "อปท" + +msgid "X" +msgstr "X" + +msgid "" +"Resonant frequency for the X axis input shaper.\n" +"Zero will use the firmware frequency.\n" +"To disable input shaping, use the Disable type.\n" +"RRF: X and Y values are equal." +msgstr "ความถี่เรโซแนนซ์สำหรับอินพุตเชปเปอร์แกน X\nศูนย์จะใช้ความถี่เฟิร์มแวร์\nหากต้องการปิดใช้งานการสร้างอินพุต ให้ใช้ประเภทปิดใช้งาน\nRRF: ค่า X และ Y เท่ากัน" + +msgid "Y" +msgstr "Y" + +msgid "" +"Resonant frequency for the Y axis input shaper.\n" +"Zero will use the firmware frequency.\n" +"To disable input shaping, use the Disable type." +msgstr "ความถี่เรโซแนนซ์สำหรับอินพุตเชปเปอร์แกน Y\nศูนย์จะใช้ความถี่เฟิร์มแวร์\nหากต้องการปิดใช้งานการสร้างอินพุต ให้ใช้ประเภทปิดใช้งาน" + +msgid "" +"Damping ratio for the X axis input shaper.\n" +"Zero will use the firmware damping ratio.\n" +"To disable input shaping, use the Disable type.\n" +"RRF: X and Y values are equal." +msgstr "อัตราส่วนการหน่วงสำหรับอินพุตเชปเปอร์แกน X\nศูนย์จะใช้อัตราส่วนการทำให้หมาด ๆ ของเฟิร์มแวร์\nหากต้องการปิดใช้งานการสร้างอินพุต ให้ใช้ประเภทปิดใช้งาน\nRRF: ค่า X และ Y เท่ากัน" + +msgid "" +"Damping ratio for the Y axis input shaper.\n" +"Zero will use the firmware damping ratio.\n" +"To disable input shaping, use the Disable type." +msgstr "อัตราส่วนการหน่วงสำหรับอินพุตเชปเปอร์แกน Y\nศูนย์จะใช้อัตราส่วนการทำให้หมาด ๆ ของเฟิร์มแวร์\nหากต้องการปิดใช้งานการสร้างอินพุต ให้ใช้ประเภทปิดใช้งาน" + +msgid "" +"Part cooling fan speed may be increased when auto cooling is enabled. This " +"is the maximum speed for the part cooling fan." +msgstr "ความเร็วพัดลมระบายความร้อนบางส่วนอาจเพิ่มขึ้นเมื่อเปิดใช้งานการระบายความร้อนอัตโนมัติ นี่คือความเร็วสูงสุดสำหรับพัดลมระบายความร้อนของชิ้นส่วน" + +msgid "" +"The highest printable layer height for the extruder. Used to limit the " +"maximum layer height when enable adaptive layer height." +msgstr "ความสูงของชั้นสูงสุดที่สามารถพิมพ์ได้สำหรับชุดดันเส้น ใช้เพื่อจำกัดความสูงของเลเยอร์สูงสุดเมื่อเปิดใช้งานความสูงของเลเยอร์แบบปรับได้" + +msgid "Extrusion rate smoothing" +msgstr "อัตราการอัดรีดให้เรียบ" + +msgid "" +"This parameter smooths out sudden extrusion rate changes that happen when " +"the printer transitions from printing a high flow (high speed/larger width) " +"extrusion to a lower flow (lower speed/smaller width) extrusion and vice " +"versa.\n" +"\n" +"It defines the maximum rate by which the extruded volumetric flow in mm³/s " +"can change over time. Higher values mean higher extrusion rate changes are " +"allowed, resulting in faster speed transitions.\n" +"\n" +"A value of 0 disables the feature.\n" +"\n" +"For a high speed, high flow direct drive printer (like the Bambu lab or " +"Voron) this value is usually not needed. However it can provide some " +"marginal benefit in certain cases where feature speeds vary greatly. For " +"example, when there are aggressive slowdowns due to overhangs. In these " +"cases a high value of around 300-350 mm³/s² is recommended as this allows " +"for just enough smoothing to assist pressure advance achieve a smoother flow " +"transition.\n" +"\n" +"For slower printers without pressure advance, the value should be set much " +"lower. A value of 10-15 mm³/s² is a good starting point for direct drive " +"extruders and 5-10 mm³/s² for Bowden style.\n" +"\n" +"This feature is known as Pressure Equalizer in Prusa slicer.\n" +"\n" +"Note: this parameter disables arc fitting." +msgstr "พารามิเตอร์นี้จะทำให้การเปลี่ยนแปลงอัตราการอัดขึ้นรูปกะทันหันที่เกิดขึ้นเมื่อเครื่องพิมพ์เปลี่ยนจากการพิมพ์ที่มีอัตราการไหลสูง (ความเร็วสูง/ความกว้างมากขึ้น) ไปเป็นการไหลที่ต่ำกว่า (ความเร็วต่ำ/ความกว้างน้อยลง) และในทางกลับกัน\n\nโดยจะกำหนดอัตราสูงสุดที่การไหลเชิงปริมาตรที่อัดออกมาในหน่วย mm³/s สามารถเปลี่ยนแปลงได้ตลอดเวลา ค่าที่สูงกว่าหมายถึงอนุญาตให้มีการเปลี่ยนแปลงอัตราการอัดขึ้นรูปที่สูงขึ้น ส่งผลให้การเปลี่ยนความเร็วเร็วขึ้น\n\nค่า 0 จะปิดใช้งานคุณลักษณะนี้\n\nสำหรับเครื่องพิมพ์แบบขับเคลื่อนโดยตรงความเร็วสูงที่มีอัตราการไหลสูง (เช่น ห้องปฏิบัติการ Bambu หรือ Voron) โดยปกติไม่จำเป็นต้องใช้ค่านี้ อย่างไรก็ตาม มันสามารถให้ประโยชน์เล็กน้อยในบางกรณีที่ความเร็วของคุณสมบัติแตกต่างกันมาก ตัวอย่างเช่น เมื่อมีการชะลอตัวอย่างรุนแรงเนื่องจากการโอเวอร์แฮงค์ ในกรณีเหล่านี้ แนะนำให้ใช้ค่าที่สูงประมาณ 300-350 mm³/s² เนื่องจากจะทำให้มีการปรับให้เรียบเพียงพอเพื่อช่วยให้Pressure Advanceบรรลุการเปลี่ยนแปลงการไหลที่ราบรื่นยิ่งขึ้น\n\nสำหรับเครื่องพิมพ์ที่ช้ากว่าซึ่งไม่มีการดันล่วงหน้า ควรตั้งค่าให้ต่ำลงมาก ค่า 10-15 มม./วินาที² เป็นจุดเริ่มต้นที่ดีสำหรับชุดดันเส้นแบบขับเคลื่อนโดยตรง และ 5-10 มม./วินาที² สำหรับรูปแบบ Bowden\n\nคุณลักษณะนี้เรียกว่า Pressure Equalizer ในตัวแบ่งส่วนข้อมูล Prusa\n\nหมายเหตุ: พารามิเตอร์นี้ปิดใช้งานการปรับส่วนโค้ง" + +msgid "mm³/s²" +msgstr "มิลลิเมตร³/วินาที²" + +msgid "Smoothing segment length" +msgstr "ความยาวส่วนที่เรียบ" + +msgid "" +"A lower value results in smoother extrusion rate transitions. However, this " +"results in a significantly larger G-code file and more instructions for the " +"printer to process.\n" +"\n" +"Default value of 3 works well for most cases. If your printer is stuttering, " +"increase this value to reduce the number of adjustments made.\n" +"\n" +"Allowed values: 0.5-5" +msgstr "ค่าที่ต่ำกว่าส่งผลให้อัตราการอัดรีดเรียบขึ้น อย่างไรก็ตาม สิ่งนี้ส่งผลให้ไฟล์ G-code มีขนาดใหญ่ขึ้นอย่างเห็นได้ชัดและมีคำแนะนำเพิ่มไส้ในสำหรับเครื่องพิมพ์ในการประมวลผล\n\nค่าเริ่มต้นของ 3 ทำงานได้ดีในกรณีส่วนใหญ่ หากเครื่องพิมพ์ของคุณกระตุก ให้เพิ่มค่านี้เพื่อลดจำนวนการปรับเปลี่ยน\n\nค่าที่อนุญาต: 0.5-5" + +msgid "Apply only on external features" +msgstr "ใช้กับคุณสมบัติภายนอกเท่านั้น" + +msgid "" +"Applies extrusion rate smoothing only on external perimeters and overhangs. " +"This can help reduce artefacts due to sharp speed transitions on externally " +"visible overhangs without impacting the print speed of features that will " +"not be visible to the user." +msgstr "ใช้การปรับให้เรียบด้วยอัตราการอัดขึ้นรูปเฉพาะกับขอบด้านนอกและส่วนยื่นเท่านั้น วิธีนี้สามารถช่วยลดสิ่งแปลกปลอมเนื่องจากการเปลี่ยนความเร็วที่คมชัดบนส่วนยื่นซึ่งมองเห็นได้จากภายนอก โดยไม่ส่งผลกระทบต่อความเร็วในการพิมพ์ของคุณลักษณะที่ผู้ใช้จะมองไม่เห็น" + +msgid "Minimum speed for part cooling fan." +msgstr "ความเร็วขั้นต่ำสำหรับพัดลมระบายความร้อนชิ้นส่วน" + +msgid "" +"Speed of auxiliary part cooling fan. Auxiliary fan will run at this speed " +"during printing except the first several layers which is defined by no " +"cooling layers.\n" +"Please enable auxiliary_fan in printer settings to use this feature. G-code " +"command: M106 P2 S(0-255)" +msgstr "ความเร็วของพัดลมระบายความร้อนชิ้นส่วนเสริม พัดลมเสริมจะทำงานที่ความเร็วนี้ในระหว่างการพิมพ์ ยกเว้นหลายชั้นแรกซึ่งถูกกำหนดโดยไม่มีชั้นระบายความร้อน\nโปรดเปิดใช้งาน auxiliary_fan ในการตั้งค่าเครื่องพิมพ์เพื่อใช้คุณสมบัตินี้ คำสั่งรหัส G: M106 P2 S(0-255)" + +msgid "For the first" +msgstr "สำหรับครั้งแรก" + +msgid "Set special auxiliary cooling fan for the first certain layers." +msgstr "ตั้งพัดลมระบายความร้อนเสริมพิเศษสำหรับบางชั้นแรก" + +msgid "" +"Auxiliary fan speed will be ramped up linearly from layer \"For the first\" " +"to maximum at layer \"Full fan speed at layer\".\n" +"\"Full fan speed at layer\" will be ignored if lower than \"For the first\", " +"in which case the fan will run at maximum allowed speed at layer \"For the " +"first\" + 1." +msgstr "ความเร็วพัดลมเสริมจะเพิ่มขึ้นเชิงเส้นจากเลเยอร์ \"สำหรับอันแรก\" ไปจนถึงสูงสุดที่เลเยอร์ \"ความเร็วพัดลมเต็มในเลเยอร์\"\n\"ความเร็วพัดลมเต็มที่เลเยอร์\" จะถูกละเว้นหากต่ำกว่า \"สำหรับครั้งแรก\" ซึ่งในกรณีนี้ พัดลมจะทำงานที่ความเร็วสูงสุดที่อนุญาตที่เลเยอร์ \"สำหรับครั้งแรก\" + 1" + +msgid "" +"Special auxiliary cooling fan speed, effective only for the first x layers." +msgstr "ความเร็วพัดลมระบายความร้อนเสริมพิเศษ มีผลเฉพาะ x เลเยอร์แรกเท่านั้น" + +msgid "" +"The lowest printable layer height for the extruder. Used to limit the " +"minimum layer height when enable adaptive layer height." +msgstr "ความสูงของชั้นต่ำสุดที่สามารถพิมพ์ได้สำหรับชุดดันเส้น ใช้เพื่อจำกัดความสูงของเลเยอร์ขั้นต่ำเมื่อเปิดใช้งานความสูงของเลเยอร์แบบปรับได้" + +msgid "Min print speed" +msgstr "ความเร็วในการพิมพ์ขั้นต่ำ" + +msgid "" +"The minimum print speed to which the printer slows down to maintain the " +"minimum layer time defined above when the slowdown for better layer cooling " +"is enabled." +msgstr "ความเร็วการพิมพ์ขั้นต่ำที่เครื่องพิมพ์ช้าลง เพื่อรักษาเวลาเลเยอร์ขั้นต่ำที่กำหนดไว้ข้างต้น เมื่อเปิดใช้งานการชะลอตัวเพื่อการระบายความร้อนของเลเยอร์ที่ดีขึ้น" + +msgid "The diameter of nozzle." +msgstr "เส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Configuration notes" +msgstr "บันทึกการกำหนดค่า" + +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "คุณสามารถใส่บันทึกส่วนตัวของคุณได้ที่นี่ ข้อความนี้จะถูกเพิ่มลงในความคิดเห็นส่วนหัวของ G-code" + +msgid "Host Type" +msgstr "ประเภทโฮสต์" + +msgid "" +"Orca Slicer can upload G-code files to a printer host. This field must " +"contain the kind of the host." +msgstr "Orca Slicer สามารถอัปโหลดไฟล์ G-code ไปยังโฮสต์เครื่องพิมพ์ได้ ฟิลด์นี้จะต้องมีประเภทของโฮสต์" + +msgid "Nozzle volume" +msgstr "ปริมาณหัวฉีด" + +msgid "Volume of nozzle between the cutter and the end of nozzle." +msgstr "ปริมาตรของหัวฉีดระหว่างเครื่องตัดกับปลายหัวฉีด" + +msgid "Cooling tube position" +msgstr "ตำแหน่งท่อทำความเย็น" + +msgid "Distance of the center-point of the cooling tube from the extruder tip." +msgstr "ระยะห่างของจุดศูนย์กลางของท่อทำความเย็นจากปลายชุดดันเส้น" + +msgid "Cooling tube length" +msgstr "ความยาวท่อทำความเย็น" + +msgid "Length of the cooling tube to limit space for cooling moves inside it." +msgstr "ความยาวของท่อระบายความร้อนเพื่อจำกัดพื้นที่ในการระบายความร้อนภายใน" + +msgid "High extruder current on filament swap" +msgstr "กระแสไฟของชุดดันเส้นสูงในการเปลี่ยนเส้นพลาสติก" + +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 "อาจเป็นประโยชน์ในการเพิ่มกระแสมอเตอร์ของชุดดันเส้นในระหว่างลำดับการแลกเปลี่ยนเส้นพลาสติกเพื่อให้อัตราการป้อนชนอย่างรวดเร็ว และเอาชนะความต้านทานเมื่อโหลดเส้นพลาสติกด้วยปลายที่มีรูปร่างน่าเกลียด" + +msgid "Filament parking position" +msgstr "ตำแหน่งจอดฟิลาเมนต์" + +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 "ระยะห่างของปลายชุดดันเส้นจากตำแหน่งที่เส้นพลาสติกจอดอยู่เมื่อขนถ่ายออก ซึ่งควรตรงกับค่าในเฟิร์มแวร์เครื่องพิมพ์" + +msgid "Extra loading distance" +msgstr "ระยะการบรรทุกเพิ่มไส้ใน" + +msgid "" +"When set to zero, the distance the filament is moved from parking position " +"during load is exactly the same as it was moved back during unload. When " +"positive, it is loaded further, if negative, the loading move is shorter " +"than unloading." +msgstr "เมื่อตั้งค่าเป็นศูนย์ ระยะห่างที่เส้นพลาสติกถูกย้ายจากตำแหน่งจอดระหว่างการบรรทุกจะเท่ากันทุกประการกับการย้ายกลับในระหว่างการขนถ่าย เมื่อเป็นบวก จะมีการโหลดต่อไป หากเป็นลบ การเคลื่อนย้ายจะสั้นกว่าการขนถ่าย" + +msgid "Start end points" +msgstr "เริ่มต้นจุดสิ้นสุด" + +msgid "The start and end points which is from cutter area to garbage can." +msgstr "จุดเริ่มต้นและจุดสิ้นสุดตั้งแต่บริเวณเครื่องตัดถึงถังขยะ" + +msgid "Reduce infill retraction" +msgstr "ลดการหดตัวของ ไส้ใน" + +msgid "" +"Don't retract when the travel is entirely within an infill area. That means " +"the oozing can't been seen. This can reduce times of retraction for complex " +"model and save printing time, but make slicing and G-code generating slower. " +"Note that z-hop is also not performed in areas where retraction is skipped." +msgstr "อย่าถอยกลับเมื่อการเดินทางอยู่ภายในพื้นที่ที่ไส้ในเข้าไปทั้งหมด นั่นหมายความว่าไม่สามารถมองเห็นการรั่วไหลได้ วิธีนี้จะช่วยลดเวลาในการดึงกลับสำหรับโมเดลที่ซับซ้อนและประหยัดเวลาในการพิมพ์ แต่จะทำให้การแบ่งส่วนและการสร้าง G-code ช้าลง โปรดทราบว่า z-hop จะไม่ดำเนินการในพื้นที่ที่มีการข้ามการถอนกลับ" + +msgid "" +"This option will drop the temperature of the inactive extruders to prevent " +"oozing." +msgstr "ตัวเลือกนี้จะทำให้อุณหภูมิของชุดดันเส้นที่ไม่ใช้งานลดลงเพื่อป้องกันการไหลซึม" + +msgid "Filename format" +msgstr "รูปแบบชื่อไฟล์" + +msgid "Users can define the project file name when exporting." +msgstr "ผู้ใช้สามารถกำหนดชื่อไฟล์โครงการเมื่อส่งออก" + +msgid "Make overhangs printable" +msgstr "ทำให้ส่วนยื่นสามารถพิมพ์ได้" + +msgid "Modify the geometry to print overhangs without support material." +msgstr "ปรับเปลี่ยนรูปทรงเพื่อพิมพ์ส่วนยื่นโดยไม่ต้องใช้วัสดุรองรับ" + +msgid "Make overhangs printable - Maximum angle" +msgstr "ทำให้ส่วนยื่นสามารถพิมพ์ได้ - มุมสูงสุด" + +msgid "" +"Maximum angle of overhangs to allow after making more steep overhangs " +"printable.90° will not change the model at all and allow any overhang, while " +"0 will replace all overhangs with conical material." +msgstr "มุมยื่นสูงสุดของระยะยื่นที่อนุญาตหลังจากพิมพ์ระยะยื่นที่ชันมากขึ้นแล้ว 90° จะไม่เปลี่ยนโมเดลเลยและยอมให้มีระยะยื่นใดๆ ในขณะที่ 0 จะแทนที่ระยะยื่นทั้งหมดด้วยวัสดุทรงกรวย" + +msgid "Make overhangs printable - Hole area" +msgstr "ทำให้ส่วนยื่นสามารถพิมพ์ได้ - พื้นที่รู" + +msgid "" +"Maximum area of a hole in the base of the model before it's filled by " +"conical material. A value of 0 will fill all the holes in the model base." +msgstr "พื้นที่สูงสุดของรูที่ฐานของแบบจำลองก่อนที่จะไส้ในด้วยวัสดุทรงกรวย ค่า 0 จะไส้ในเต็มทุกรูในฐานโมเดล" + +msgid "Detect overhang walls" +msgstr "ตรวจจับผนังส่วนยื่น" + +#, possible-c-format, possible-boost-format +msgid "" +"Detect the overhang percentage relative to line width and use different " +"speed to print. For 100%% overhang, bridge speed is used." +msgstr "ตรวจจับเปอร์เซ็นต์ระยะยื่นที่สัมพันธ์กับความกว้างของเส้น และใช้ความเร็วที่แตกต่างกันในการพิมพ์ สำหรับระยะยื่น 100%% จะใช้ความเร็วบริดจ์" + +msgid "Filament to print walls." +msgstr "เส้นพลาสติกสำหรับพิมพ์ผนัง" + +msgid "" +"Line width of inner wall. If expressed as a %, it will be computed over the " +"nozzle diameter." +msgstr "ความกว้างของเส้นของผนังด้านใน หากแสดงเป็น % จะคำนวณตามเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Speed of inner wall." +msgstr "ความเร็วของผนังด้านใน" + +msgid "Number of walls of every layer." +msgstr "จำนวนผนังทุกชั้น" + +msgid "Alternate extra wall" +msgstr "ผนังเสริมสำรอง" + +msgid "" +"This setting adds an extra wall to every other layer. This way the infill " +"gets wedged vertically between the walls, resulting in stronger prints.\n" +"\n" +"When this option is enabled, the ensure vertical shell thickness option " +"needs to be disabled.\n" +"\n" +"Using lightning infill together with this option is not recommended as there " +"is limited infill to anchor the extra perimeters to." +msgstr "การตั้งค่านี้จะเพิ่มกำแพงพิเศษให้กับทุกเลเยอร์ วิธีนี้จะทำให้ส่วนที่ไส้ในเข้าไปติดกันในแนวตั้งระหว่างผนัง ส่งผลให้งานพิมพ์แข็งแรงขึ้น\n\nเมื่อเปิดใช้งานตัวเลือกนี้ จะต้องปิดใช้งานตัวเลือกให้แน่ใจว่าความหนาของเปลือกแนวตั้ง\n\nไม่แนะนำให้ใช้ไส้ในแบบสายฟ้าร่วมกับตัวเลือกนี้ เนื่องจากมีข้อจำกัดในไส้ในเพื่อยึดขอบเพิ่มไส้ใน" + +msgid "" +"If you want to process the output G-code through custom scripts, just list " +"their absolute paths here. Separate multiple scripts with a semicolon. " +"Scripts will be passed the absolute path to the G-code file as the first " +"argument, and they can access the Orca Slicer config settings by reading " +"environment variables." +msgstr "หากคุณต้องการประมวลผลเอาต์พุต G-code ผ่านสคริปต์ที่กำหนดเอง เพียงระบุเส้นทางสัมบูรณ์ของสคริปต์ไว้ที่นี่ แยกสคริปต์หลายรายการด้วยเครื่องหมายอัฒภาค สคริปต์จะถูกส่งผ่านเส้นทางสัมบูรณ์ไปยังไฟล์ G-code เป็นอาร์กิวเมนต์แรก และสคริปต์เหล่านี้สามารถเข้าถึงการตั้งค่าการกำหนดค่า Orca Slicer ได้โดยการอ่านตัวแปรสภาพแวดล้อม" + +msgid "Change extrusion role G-code (process)" +msgstr "เปลี่ยนบทบาทการอัดขึ้นรูป G-code (กระบวนการ)" + +msgid "" +"This G-code is inserted when the extrusion role is changed. It runs after " +"the machine and filament extrusion role G-code." +msgstr "G-code นี้จะถูกแทรกเมื่อบทบาทการอัดขึ้นรูปมีการเปลี่ยนแปลง มันทำงานหลังจากบทบาทการอัดขึ้นรูปของเครื่องจักรและการอัดขึ้นรูปเส้นพลาสติก G-code" + +msgid "Printer type" +msgstr "ประเภทเครื่องพิมพ์" + +msgid "Type of the printer." +msgstr "ประเภทของเครื่องพิมพ์" + +msgid "Printer notes" +msgstr "หมายเหตุเครื่องพิมพ์" + +msgid "You can put your notes regarding the printer here." +msgstr "คุณสามารถใส่บันทึกย่อเกี่ยวกับเครื่องพิมพ์ได้ที่นี่" + +msgid "Printer variant" +msgstr "ตัวแปรเครื่องพิมพ์" + +msgid "Raft contact Z distance" +msgstr "ระยะสัมผัสฐานรองชิ้นงาน Z" + +msgid "" +"Z gap between raft and object. If Support Top Z Distance is 0, this value is " +"ignored and the object is printed in direct contact with the raft (no gap)." +msgstr "ช่องว่าง Z ระหว่างฐานรองชิ้นงานกับวัตถุ หากระยะ Z สูงสุดที่รองรับคือ 0 ค่านี้จะถูกละเว้น และวัตถุจะถูกพิมพ์โดยสัมผัสโดยตรงกับฐานรองชิ้นงาน (ไม่มีช่องว่าง)" + +msgid "Raft expansion" +msgstr "การขยาย ฐานรองชิ้นงาน" + +msgid "Expand all raft layers in XY plane." +msgstr "ขยายชั้นฐานรองชิ้นงานทั้งหมดในระนาบ XY" + +msgid "First layer density" +msgstr "ความหนาแน่นของชั้นแรก" + +msgid "Density of the first raft or support layer." +msgstr "ความหนาแน่นของฐานรองชิ้นงานแรกหรือชั้นรองรับ" + +msgid "First layer expansion" +msgstr "การขยายชั้นแรก" + +msgid "Expand the first raft or support layer to improve bed plate adhesion." +msgstr "ขยายฐานรองชิ้นงานหรือชั้นรองรับชั้นแรกเพื่อปรับปรุงการยึดเกาะของแผ่นฐานพิมพ์" + +msgid "Raft layers" +msgstr "จำนวนชั้น ฐานรองชิ้นงาน" + +msgid "" +"Object will be raised by this number of support layers. Use this function to " +"avoid warping when printing ABS." +msgstr "วัตถุจะถูกยกขึ้นตามจำนวนชั้นรองรับนี้ ใช้ฟังก์ชันนี้เพื่อหลีกเลี่ยงการบิดงอเมื่อพิมพ์ ABS" + +msgid "" +"The G-code path is generated after simplifying the contour of models to " +"avoid too many points and G-code lines. Smaller value means higher " +"resolution and more time to slice." +msgstr "เส้นทาง G-code ถูกสร้างขึ้นหลังจากลดความซับซ้อนของรูปร่างของโมเดล เพื่อหลีกเลี่ยงจุดและเส้น G-code ที่มากเกินไป ค่าที่น้อยลงหมายถึงความละเอียดสูงขึ้นและมีเวลามากขึ้นในการตัด" + +msgid "Travel distance threshold" +msgstr "เกณฑ์ระยะทางการเดินทาง" + +msgid "" +"Only trigger retraction when the travel distance is longer than this " +"threshold." +msgstr "ทริกเกอร์การถอนกลับเมื่อระยะการเดินทางยาวกว่าเกณฑ์นี้เท่านั้น" + +msgid "Retract amount before wipe" +msgstr "ถอนจำนวนก่อนเช็ด" + +msgid "" +"The length of fast retraction before wipe, relative to retraction length." +msgstr "ความยาวของการดึงกลับอย่างรวดเร็วก่อนเช็ด สัมพันธ์กับความยาวการดึงกลับ" + +msgid "Retract when change layer" +msgstr "ถอนออกเมื่อเปลี่ยนเลเยอร์" + +msgid "Force a retraction when changes layer." +msgstr "บังคับให้ถอนกลับเมื่อเปลี่ยนเลเยอร์" + +msgid "Retraction Length" +msgstr "ระยะดึงกลับ" + +msgid "" +"Some amount of material in extruder is pulled back to avoid ooze during long " +"travel. Set zero to disable retraction." +msgstr "วัสดุบางส่วนในชุดดันเส้นถูกดึงกลับเพื่อหลีกเลี่ยงไม่ให้ซึ่มในระหว่างการเดินทางระยะไกล ตั้งค่าเป็นศูนย์เพื่อปิดใช้งานการเพิกถอน" + +msgid "Long retraction when cut (beta)" +msgstr "การถอยกลับยาวเมื่อตัด (เบต้า)" + +msgid "" +"Experimental feature: Retracting and cutting off the filament at a longer " +"distance during changes to minimize purge. While this reduces flush " +"significantly, it may also raise the risk of nozzle clogs or other printing " +"problems." +msgstr "คุณลักษณะการทดลอง: การดึงกลับและตัดเส้นพลาสติกออกในระยะไกลระหว่างการเปลี่ยนแปลงเพื่อลดการไล่เส้น แม้ว่าวิธีนี้จะช่วยลดไล่เส้นได้อย่างมาก แต่ก็อาจเพิ่มความเสี่ยงที่หัวฉีดอุดตันหรือปัญหาการพิมพ์อื่นๆ อีกด้วย" + +msgid "Retraction distance when cut" +msgstr "ระยะการดึงกลับเมื่อตัด" + +msgid "" +"Experimental feature: Retraction length before cutting off during filament " +"change." +msgstr "คุณลักษณะการทดลอง: ความยาวการดึงกลับก่อนตัดออกระหว่างการเปลี่ยนเส้นพลาสติก" + +msgid "Long retraction when extruder change" +msgstr "การถอยกลับนานเมื่อเปลี่ยนชุดดันเส้น" + +msgid "Retraction distance when extruder change" +msgstr "ระยะการดึงกลับเมื่อชุดดันเส้นเปลี่ยน" + +msgid "Z-hop height" +msgstr "ความสูงยกแกน Z" + +msgid "" +"Whenever the retraction is done, the nozzle is lifted a little to create " +"clearance between nozzle and the print. It prevents nozzle from hitting the " +"print when travel move. Using spiral lines to lift Z can prevent stringing." +msgstr "เมื่อใดก็ตามที่การดึงกลับเสร็จสิ้น หัวฉีดจะถูกยกขึ้นเล็กน้อยเพื่อสร้างระยะห่างระหว่างหัวฉีดและงานพิมพ์ ป้องกันไม่ให้หัวฉีดชนกับงานพิมพ์ขณะเคลื่อนตัว การใช้เส้นเกลียวเพื่อยก Z สามารถป้องกันการร้อยสายได้" + +msgid "Z-hop lower boundary" +msgstr "ขอบเขตล่างของ Z-hop" + +msgid "" +"Z-hop will only come into effect when Z is above this value and is below the " +"parameter: \"Z-hop upper boundary\"." +msgstr "Z-hop จะมีผลเฉพาะเมื่อ Z อยู่เหนือค่านี้และต่ำกว่าพารามิเตอร์: \"Z-hop upper boundary\"" + +msgid "Z-hop upper boundary" +msgstr "ขอบเขตบนของ Z-hop" + +msgid "" +"If this value is positive, Z-hop will only come into effect when Z is above " +"the parameter: \"Z-hop lower boundary\" and is below this value." +msgstr "หากค่านี้เป็นค่าบวก Z-hop จะมีผลเฉพาะเมื่อ Z อยู่เหนือพารามิเตอร์: \"Z-hop lower boundary\" และอยู่ต่ำกว่าค่านี้" + +msgid "Z-hop type" +msgstr "ประเภท Z-hop" + +msgid "Type of Z-hop." +msgstr "ประเภทของ Z-hop" + +msgid "Slope" +msgstr "ความลาดชัน" + +msgid "Spiral" +msgstr "เกลียว" + +msgid "Traveling angle" +msgstr "มุมการเดินทาง" + +msgid "" +"Traveling angle for Slope and Spiral Z-hop type. Setting it to 90° results " +"in Normal Lift." +msgstr "มุมการเคลื่อนที่สำหรับประเภท Slope และ Spiral Z-hop การตั้งค่าเป็น 90° จะทำให้ได้ Normal Lift" + +msgid "Only lift Z above" +msgstr "ยก Z ขึ้นด้านบนเท่านั้น" + +msgid "" +"If you set this to a positive value, Z lift will only take place above the " +"specified absolute Z." +msgstr "หากคุณตั้งค่านี้เป็นค่าบวก การยก Z จะเกิดขึ้นเหนือค่า Z สัมบูรณ์ที่ระบุเท่านั้น" + +msgid "Only lift Z below" +msgstr "ยก Z ด้านล่างเท่านั้น" + +msgid "" +"If you set this to a positive value, Z lift will only take place below the " +"specified absolute Z." +msgstr "หากคุณตั้งค่านี้เป็นค่าบวก การยก Z จะเกิดขึ้นต่ำกว่าค่า Z สัมบูรณ์ที่ระบุเท่านั้น" + +msgid "On surfaces" +msgstr "บนพื้นผิว" + +msgid "" +"Enforce Z-Hop behavior. This setting is impacted by the above settings (Only " +"lift Z above/below)." +msgstr "บังคับใช้พฤติกรรม Z-Hop การตั้งค่านี้ได้รับผลกระทบจากการตั้งค่าด้านบน (เฉพาะการยก Z ด้านบน/ล่างเท่านั้น)" + +msgid "All Surfaces" +msgstr "พื้นผิวทั้งหมด" + +msgid "Top Only" +msgstr "ด้านบนเท่านั้น" + +msgid "Bottom Only" +msgstr "ด้านล่างเท่านั้น" + +msgid "Top and Bottom" +msgstr "บนและล่าง" + +msgid "Direct Drive" +msgstr "ขับตรง" + +msgid "Bowden" +msgstr "โบว์เดน" + +msgid "Extra length on restart" +msgstr "ความยาวพิเศษเมื่อรีสตาร์ท" + +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 "เมื่อการหดตัวได้รับการชดเชยหลังการเคลื่อนที่แบบเคลื่อนที่ ชุดดันเส้นจะดันเส้นพลาสติกเพิ่มไส้ในจำนวนนี้ การตั้งค่านี้ไม่ค่อยจำเป็น" + +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "เมื่อการดึงกลับได้รับการชดเชยหลังจากเปลี่ยนเครื่องมือ ชุดดันเส้นจะดันเส้นพลาสติกเพิ่มไส้ในจำนวนนี้" + +msgid "Retraction Speed" +msgstr "ความเร็วดึงกลับ" + +msgid "Speed for retracting filament from the nozzle." +msgstr "ความเร็วในการดึงเส้นพลาสติกออกจากหัวฉีด" + +msgid "De-retraction Speed" +msgstr "ความเร็วในการถอนกลับ" + +msgid "" +"Speed for reloading filament into the nozzle. Zero means same speed of " +"retraction." +msgstr "ความเร็วในการบรรจุเส้นพลาสติกลงในหัวฉีด ศูนย์หมายถึงความเร็วการถอยกลับเท่ากัน" + +msgid "Use firmware retraction" +msgstr "ใช้การเพิกถอนเฟิร์มแวร์" + +msgid "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." +msgstr "การตั้งค่าทดลองนี้ใช้คำสั่ง G10 และ G11 เพื่อให้เฟิร์มแวร์จัดการกับการเพิกถอน สิ่งนี้รองรับใน Marlin ล่าสุดเท่านั้น" + +msgid "Show auto-calibration marks" +msgstr "แสดงเครื่องหมายปรับเทียบอัตโนมัติ" + +msgid "Disable set remaining print time" +msgstr "ปิดใช้งานการตั้งค่าเวลาการพิมพ์ที่เหลืออยู่" + +msgid "" +"Disable generating of the M73: Set remaining print time in the final G-code." +msgstr "ปิดการใช้งานการสร้าง M73: ตั้งเวลาการพิมพ์ที่เหลืออยู่ใน G-code สุดท้าย" + +msgid "Seam position" +msgstr "ตำแหน่งรอยตะเข็บ" + +msgid "The start position to print each part of outer wall." +msgstr "ตำแหน่งเริ่มต้นในการพิมพ์แต่ละส่วนของผนังด้านนอก" + +msgid "Nearest" +msgstr "ใกล้ที่สุด" + +msgid "Aligned" +msgstr "จัดตำแหน่ง" + +msgid "Aligned back" +msgstr "จัดแนวกลับ" + +msgid "Random" +msgstr "สุ่ม" + +msgid "Staggered inner seams" +msgstr "รอยตะเข็บด้านในเซ" + +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "ตัวเลือกนี้จะทำให้รอยตะเข็บด้านในเลื่อนไปข้างหลังตามความลึก ทำให้เกิดลวดลายซิกแซก" + +msgid "Seam gap" +msgstr "ช่องว่างรอยตะเข็บ" + +msgid "" +"In order to reduce the visibility of the seam in a closed loop extrusion, " +"the loop is interrupted and shortened by a specified amount.\n" +"This amount can be specified in millimeters or as a percentage of the " +"current extruder diameter. The default value for this parameter is 10%." +msgstr "เพื่อลดการมองเห็นรอยตะเข็บในการอัดขึ้นรูปแบบวงปิด วงจะถูกขัดจังหวะและทำให้สั้นลงตามจำนวนที่ระบุ\nปริมาณนี้สามารถระบุได้ในหน่วยมิลลิเมตรหรือเป็นเปอร์เซ็นต์ของเส้นผ่านศูนย์กลางของชุดดันเส้นในปัจจุบัน ค่าเริ่มต้นสำหรับพารามิเตอร์นี้คือ 10%" + +msgid "Scarf joint seam (beta)" +msgstr "รอยต่อผ้าพันคอ (เบต้า)" + +msgid "Use scarf joint to minimize seam visibility and increase seam strength." +msgstr "ใช้ข้อต่อผ้าพันคอเพื่อลดการมองเห็นรอยตะเข็บและเพิ่มความแข็งแรงของรอยตะเข็บ" + +msgid "Conditional scarf joint" +msgstr "ข้อต่อผ้าพันคอแบบมีเงื่อนไข" + +msgid "" +"Apply scarf joints only to smooth perimeters where traditional seams do not " +"conceal the seams at sharp corners effectively." +msgstr "ใช้ข้อต่อผ้าพันคอกับขอบเรียบเท่านั้น โดยที่รอยตะเข็บแบบเดิมไม่สามารถปกปิดรอยตะเข็บที่มุมแหลมคมได้อย่างมีประสิทธิภาพ" + +msgid "Conditional angle threshold" +msgstr "เกณฑ์มุมแบบมีเงื่อนไข" + +msgid "" +"This option sets the threshold angle for applying a conditional scarf joint " +"seam.\n" +"If the maximum angle within the perimeter loop exceeds this value " +"(indicating the absence of sharp corners), a scarf joint seam will be used. " +"The default value is 155°." +msgstr "ตัวเลือกนี้จะกำหนดมุมเกณฑ์สำหรับการใช้รอยตะเข็บข้อต่อผ้าพันคอแบบมีเงื่อนไข\nหากมุมสูงสุดภายในวงรอบปริมณฑลเกินค่านี้ (แสดงว่าไม่มีมุมแหลมคม) จะใช้รอยตะเข็บข้อต่อผ้าพันคอ ค่าเริ่มต้นคือ 155°" + +msgid "Conditional overhang threshold" +msgstr "เกณฑ์ระยะยื่นแบบมีเงื่อนไข" + +#, no-c-format, no-boost-format +msgid "" +"This option determines the overhang threshold for the application of scarf " +"joint seams. If the unsupported portion of the perimeter is less than this " +"threshold, scarf joint seams will be applied. The default threshold is set " +"at 40% of the external wall's width. Due to performance considerations, the " +"degree of overhang is estimated." +msgstr "ตัวเลือกนี้จะกำหนดเกณฑ์ส่วนยื่นสำหรับการใช้รอยตะเข็บข้อต่อผ้าพันคอ หากส่วนที่ไม่ได้รับส่วนรองรับของเส้นรอบวงน้อยกว่าเกณฑ์นี้ จะมีการเย็บรอยตะเข็บผ้าพันคอ เกณฑ์เริ่มต้นตั้งไว้ที่ 40% ของความกว้างของผนังภายนอก เมื่อพิจารณาถึงประสิทธิภาพแล้ว ระดับของระยะยื่นจึงถูกประมาณไว้" + +msgid "Scarf joint speed" +msgstr "ความเร็วของข้อต่อผ้าพันคอ" + +msgid "" +"This option sets the printing speed for scarf joints. It is recommended to " +"print scarf joints at a slow speed (less than 100 mm/s). It's also advisable " +"to enable 'Extrusion rate smoothing' if the set speed varies significantly " +"from the speed of the outer or inner walls. If the speed specified here is " +"higher than the speed of the outer or inner walls, the printer will default " +"to the slower of the two speeds. When specified as a percentage (e.g., 80%), " +"the speed is calculated based on the respective outer or inner wall speed. " +"The default value is set to 100%." +msgstr "ตัวเลือกนี้จะตั้งค่าความเร็วในการพิมพ์สำหรับข้อต่อผ้าพันคอ ขอแนะนำให้พิมพ์ข้อต่อผ้าพันคอด้วยความเร็วต่ำ (น้อยกว่า 100 มม./วินาที) ขอแนะนำให้เปิดใช้งาน 'การปรับอัตราการอัดรีดให้เรียบ' หากความเร็วที่ตั้งไว้แตกต่างอย่างมากจากความเร็วของผนังด้านนอกหรือด้านใน หากความเร็วที่ระบุที่นี่สูงกว่าความเร็วของผนังด้านนอกหรือด้านใน เครื่องพิมพ์จะตั้งค่าเริ่มต้นไว้ที่ความเร็วที่ช้ากว่าทั้งสอง เมื่อระบุเป็นเปอร์เซ็นต์ (เช่น 80%) ความเร็วจะคำนวณตามความเร็วผนังด้านนอกหรือด้านในตามลำดับ ค่าเริ่มต้นตั้งไว้ที่ 100%" + +msgid "Scarf joint flow ratio" +msgstr "อัตราการไหลของข้อต่อผ้าพันคอ" + +msgid "This factor affects the amount of material for scarf joints." +msgstr "ปัจจัยนี้ส่งผลต่อปริมาณวัสดุสำหรับข้อต่อผ้าพันคอ" + +msgid "Scarf start height" +msgstr "ความสูงเริ่มต้นของผ้าพันคอ" + +msgid "" +"Start height of the scarf.\n" +"This amount can be specified in millimeters or as a percentage of the " +"current layer height. The default value for this parameter is 0." +msgstr "เริ่มต้นความสูงของผ้าพันคอ\nจำนวนนี้สามารถระบุได้ในหน่วยมิลลิเมตรหรือเป็นเปอร์เซ็นต์ของความสูงของเลเยอร์ปัจจุบัน ค่าเริ่มต้นสำหรับพารามิเตอร์นี้คือ 0" + +msgid "Scarf around entire wall" +msgstr "ผ้าพันคอพันรอบผนังทั้งหมด" + +msgid "The scarf extends to the entire length of the wall." +msgstr "ผ้าพันคอยาวตลอดความยาวของผนัง" + +msgid "Scarf length" +msgstr "ความยาวผ้าพันคอ" + +msgid "" +"Length of the scarf. Setting this parameter to zero effectively disables the " +"scarf." +msgstr "ความยาวของผ้าพันคอ. การตั้งค่าพารามิเตอร์นี้เป็นศูนย์จะปิดใช้ผ้าพันคออย่างมีประสิทธิภาพ" + +msgid "Scarf steps" +msgstr "ขั้นตอนผ้าพันคอ" + +msgid "Minimum number of segments of each scarf." +msgstr "จำนวนขั้นต่ำของส่วนผ้าพันคอแต่ละอัน" + +msgid "Scarf joint for inner walls" +msgstr "ข้อต่อผ้าพันคอสำหรับผนังด้านใน" + +msgid "Use scarf joint for inner walls as well." +msgstr "ใช้ข้อต่อผ้าพันคอสำหรับผนังด้านในด้วย" + +msgid "Role base wipe speed" +msgstr "ความเร็วในการล้างฐานบทบาท" + +msgid "" +"The wipe speed is determined by the speed of the current extrusion role. " +"e.g. if a wipe action is executed immediately following an outer wall " +"extrusion, the speed of the outer wall extrusion will be utilized for the " +"wipe action." +msgstr "ความเร็วในการเช็ดถูกกำหนดโดยความเร็วของบทบาทการอัดขึ้นรูปในปัจจุบัน เช่น หากการดำเนินการเช็ดถูกดำเนินการทันทีหลังจากการอัดขึ้นรูปผนังด้านนอก ความเร็วของการอัดขึ้นรูปผนังด้านนอกจะถูกใช้สำหรับการดำเนินการเช็ด" + +msgid "Wipe on loops" +msgstr "เช็ดบนลูป" + +msgid "" +"To minimize the visibility of the seam in a closed loop extrusion, a small " +"inward movement is executed before the extruder leaves the loop." +msgstr "เพื่อลดการมองเห็นรอยต่อในการอัดรีดแบบวงปิด จะมีการเคลื่อนตัวเข้าด้านในเล็กน้อยก่อนที่ชุดดันเส้นจะออกจากวง" + +msgid "Wipe before external loop" +msgstr "เช็ดก่อนวนรอบภายนอก" + +msgid "" +"To minimize visibility of potential overextrusion at the start of an " +"external perimeter when printing with Outer/Inner or Inner/Outer/Inner wall " +"print order, the de-retraction is performed slightly on the inside from the " +"start of the external perimeter. That way any potential over extrusion is " +"hidden from the outside surface.\n" +"\n" +"This is useful when printing with Outer/Inner or Inner/Outer/Inner wall " +"print order as in these modes it is more likely an external perimeter is " +"printed immediately after a de-retraction move." +msgstr "เพื่อลดการมองเห็นการอัดขึ้นรูปมากเกินไปที่อาจเกิดขึ้นที่จุดเริ่มต้นของขอบเขตภายนอกเมื่อพิมพ์ด้วยลำดับการพิมพ์ด้านนอก/ด้านในหรือด้านใน/ด้านนอก/ด้านใน การยกเลิกการดึงกลับจะดำเนินการเล็กน้อยจากด้านในจากจุดเริ่มต้นของขอบเขตภายนอก ด้วยวิธีนี้ศักยภาพในการอัดขึ้นรูปจะถูกซ่อนจากพื้นผิวด้านนอก\n\nสิ่งนี้มีประโยชน์เมื่อพิมพ์ด้วยลำดับการพิมพ์ด้านนอก/ด้านในหรือด้านใน/ด้านนอก/ด้านใน เนื่องจากในโหมดเหล่านี้ มีแนวโน้มว่าปริมณฑลภายนอกจะถูกพิมพ์ทันทีหลังจากการยกเลิกการถอยกลับ" + +msgid "Wipe speed" +msgstr "ความเร็วเช็ดหัวฉีด" + +msgid "" +"The wipe speed is determined by the speed setting specified in this " +"configuration. If the value is expressed as a percentage (e.g. 80%), it will " +"be calculated based on the travel speed setting above. The default value for " +"this parameter is 80%." +msgstr "ความเร็วในการเช็ดถูกกำหนดโดยการตั้งค่าความเร็วที่ระบุในการกำหนดค่านี้ หากค่าแสดงเป็นเปอร์เซ็นต์ (เช่น 80%) ระบบจะคำนวณตามการตั้งค่าความเร็วการเดินทางด้านบน ค่าเริ่มต้นสำหรับพารามิเตอร์นี้คือ 80%" + +msgid "Skirt distance" +msgstr "ระยะห่างของเส้นล้อมชิ้นงาน" + +msgid "The distance from the skirt to the brim or the object." +msgstr "ระยะห่างจากเส้นล้อมชิ้นงานถึงขอบยึดชิ้นงานหรือวัตถุ" + +msgid "Skirt start point" +msgstr "จุดเริ่มต้นเส้นล้อมชิ้นงาน" + +msgid "" +"Angle from the object center to skirt start point. Zero is the most right " +"position, counter clockwise is positive angle." +msgstr "มุมจากศูนย์กลางวัตถุถึงจุดเริ่มต้นสเกิร์ต ศูนย์คือตำแหน่งที่ถูกต้องที่สุด ทวนเข็มนาฬิกาคือมุมบวก" + +msgid "Skirt height" +msgstr "ความสูงของเส้นล้อมชิ้นงาน" + +msgid "How many layers of skirt. Usually only one layer." +msgstr "เส้นล้อมชิ้นงานกี่ชั้น.. โดยปกติจะมีเพียงชั้นเดียวเท่านั้น" + +msgid "Single loop after first layer" +msgstr "วนรอบเดียวหลังจากชั้นแรก" + +msgid "" +"Limits the skirt/draft shield loops to one wall after the first layer. This " +"is useful, on occasion, to conserve filament but may cause the draft shield/" +"skirt to warp / crack." +msgstr "จำกัดห่วงสเกิร์ต/โล่ครอบไว้ที่ผนังด้านหนึ่งหลังจากชั้นแรก สิ่งนี้มีประโยชน์ในบางครั้งเพื่ออนุรักษ์เส้นพลาสติก แต่อาจทำให้โครง/เส้นล้อมชิ้นงานบิดเบี้ยว/แตกร้าวได้" + +msgid "Draft shield" +msgstr "โล่ร่าง" + +msgid "" +"A draft shield is useful to protect an ABS or ASA print from warping and " +"detaching from print bed due to wind draft. It is usually needed only with " +"open frame printers, i.e. without an enclosure.\n" +"\n" +"Enabled = skirt is as tall as the highest printed object. Otherwise 'Skirt " +"height' is used.\n" +"Note: With the draft shield active, the skirt will be printed at skirt " +"distance from the object. Therefore, if brims are active it may intersect " +"with them. To avoid this, increase the skirt distance value.\n" +msgstr "แผงครอบมีประโยชน์ในการปกป้องงานพิมพ์ ABS หรือ ASA จากการบิดงอและการหลุดออกจากฐานพิมพ์เนื่องจากกระแสลม โดยทั่วไปจำเป็นต้องใช้กับเครื่องพิมพ์แบบเปิดเฟรมเท่านั้น กล่าวคือ ไม่มีกล่องหุ้ม\n\nEnabled = เส้นล้อมชิ้นงานสูงเท่ากับวัตถุที่พิมพ์สูงสุด มิฉะนั้น จะใช้ 'ความสูงของเส้นล้อมชิ้นงาน'\nหมายเหตุ: เมื่อใช้งานดราฟชีลด์ เส้นล้อมชิ้นงานจะถูกพิมพ์ที่ระยะห่างจากเส้นล้อมชิ้นงานจากวัตถุ ดังนั้นหากขอบยึดชิ้นงานยังทำงานอยู่ ขอบยึดชิ้นงานอาจตัดกัน เพื่อหลีกเลี่ยงปัญหานี้ ให้เพิ่มค่าระยะห่างของเส้นล้อมชิ้นงาน\n" + +msgid "Enabled" +msgstr "เปิดใช้" + +msgid "Skirt type" +msgstr "ประเภทเส้นล้อมชิ้นงาน" + +msgid "" +"Combined - single skirt for all objects, Per object - individual object " +"skirt." +msgstr "รวม - เส้นล้อมชิ้นงานเดี่ยวสำหรับวัตถุทั้งหมด ต่อวัตถุ - เส้นล้อมชิ้นงานวัตถุแต่ละรายการ" + +msgid "Per object" +msgstr "ต่อวัตถุ" + +msgid "Skirt loops" +msgstr "ห่วงเส้นล้อมชิ้นงาน" + +msgid "Number of loops for the skirt. Zero means disabling skirt." +msgstr "จำนวนห่วงสำหรับเส้นล้อมชิ้นงาน ศูนย์หมายถึงปิดการใช้งานเส้นล้อมชิ้นงาน" + +msgid "Skirt speed" +msgstr "ความเร็ว เส้นล้อมชิ้นงาน" + +msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." +msgstr "ความเร็วของเส้นล้อมชิ้นงาน มีหน่วยเป็น mm/s ศูนย์หมายถึงใช้ความเร็วการอัดรีดเลเยอร์เริ่มต้น" + +msgid "Skirt minimum extrusion length" +msgstr "ความยาวการอัดรีดขั้นต่ำของเส้นล้อมชิ้นงาน" + +msgid "" +"Minimum filament extrusion length in mm when printing the skirt. Zero means " +"this feature is disabled.\n" +"\n" +"Using a non-zero value is useful if the printer is set up to print without a " +"prime line.\n" +"Final number of loops is not taking into account while arranging or " +"validating objects distance. Increase loop number in such case." +msgstr "ความยาวการอัดขึ้นรูปเส้นพลาสติกขั้นต่ำเป็นมม. เมื่อพิมพ์เส้นล้อมชิ้นงาน ศูนย์หมายความว่าคุณลักษณะนี้ถูกปิดใช้งาน\n\nการใช้ค่าที่ไม่ใช่ศูนย์จะมีประโยชน์หากเครื่องพิมพ์ได้รับการตั้งค่าให้พิมพ์โดยไม่มีเส้นสำคัญ\nจำนวนลูปสุดท้ายไม่ได้คำนึงถึงขณะจัดเรียงหรือตรวจสอบระยะห่างของวัตถุ เพิ่มจำนวนลูปในกรณีเช่นนี้" + +msgid "" +"The printing speed in exported G-code will be slowed down when the estimated " +"layer time is shorter than this value in order to get better cooling for " +"these layers." +msgstr "ความเร็วในการพิมพ์ใน G-code ที่ส่งออกจะลดลงเมื่อเวลาเลเยอร์โดยประมาณสั้นกว่าค่านี้ เพื่อให้เลเยอร์เหล่านี้เย็นลงได้ดีขึ้น" + +msgid "Minimum sparse infill threshold" +msgstr "เกณฑ์ไส้ในแบบกระจัดกระจายขั้นต่ำ" + +msgid "" +"Sparse infill areas smaller than this threshold value are replaced by " +"internal solid infill." +msgstr "พื้นที่ไส้ในแบบกระจัดกระจายที่เล็กกว่าค่าเกณฑ์นี้จะถูกแทนที่ด้วยไส้ในแบบทึบภายใน" + +msgid "Solid infill" +msgstr "ไส้ในแบบทึบ" + +msgid "Filament to print solid infill." +msgstr "ฟิลาเมนต์สำหรับพิมพ์ไส้แข็ง" + +msgid "" +"Line width of internal solid infill. If expressed as a %, it will be " +"computed over the nozzle diameter." +msgstr "ความกว้างของเส้นของ ไส้ใน ทึบภายใน หากแสดงเป็น % จะคำนวณตามเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Speed of internal solid infill, not the top and bottom surface." +msgstr "ความเร็วของไส้ในของแข็งภายใน ไม่ใช่พื้นผิวด้านบนและด้านล่าง" + +msgid "" +"Spiralize smooths out the Z moves of the outer contour. And turns a solid " +"model into a single walled print with solid bottom layers. The final " +"generated model has no seam." +msgstr "Spiralize จะทำให้การเคลื่อนที่ Z ของเส้นขอบด้านนอกเรียบเนียนขึ้น และเปลี่ยนโมเดลทึบให้เป็นภาพพิมพ์ผนังเดี่ยวพร้อมชั้นล่างสุดทึบ โมเดลที่สร้างขึ้นขั้นสุดท้ายไม่มีรอยตะเข็บ" + +msgid "Smooth Spiral" +msgstr "เกลียวเรียบ" + +msgid "" +"Smooth Spiral smooths out X and Y moves as well, resulting in no visible " +"seam at all, even in the XY directions on walls that are not vertical." +msgstr "Smooth Spiral ช่วยให้การเคลื่อนที่ของ X และ Y เป็นไปอย่างราบรื่น ส่งผลให้มองไม่เห็นรอยตะเข็บเลย แม้แต่ในทิศทาง XY บนผนังที่ไม่ใช่แนวตั้งก็ตาม" + +msgid "Max XY Smoothing" +msgstr "การปรับให้เรียบสูงสุด XY" + +#, no-c-format, no-boost-format +msgid "" +"Maximum distance to move points in XY to try to achieve a smooth spiral. If " +"expressed as a %, it will be computed over nozzle diameter." +msgstr "ระยะทางสูงสุดเพื่อย้ายจุดใน XY เพื่อพยายามให้ได้เกลียวเรียบ หากแสดงเป็น % จะคำนวณตามเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Spiral starting flow ratio" +msgstr "อัตราการไหลเริ่มต้นของเกลียว" + +#, no-c-format, no-boost-format +msgid "" +"Sets the starting flow ratio while transitioning from the last bottom layer " +"to the spiral. Normally the spiral transition scales the flow ratio from 0% " +"to 100% during the first loop which can in some cases lead to under " +"extrusion at the start of the spiral." +msgstr "ตั้งค่าอัตราส่วนการไหลเริ่มต้นขณะเปลี่ยนจากชั้นล่างสุดสุดท้ายเป็นเกลียว โดยปกติการเปลี่ยนผ่านของเกลียวจะปรับขนาดอัตราส่วนการไหลจาก 0% เป็น 100% ในระหว่างลูปแรก ซึ่งในบางกรณีอาจนำไปสู่การรีดขึ้นรูปที่จุดเริ่มต้นของเกลียว" + +msgid "Spiral finishing flow ratio" +msgstr "อัตราการไหลการตกแต่งเกลียว" + +#, no-c-format, no-boost-format +msgid "" +"Sets the finishing flow ratio while ending the spiral. Normally the spiral " +"transition scales the flow ratio from 100% to 0% during the last loop which " +"can in some cases lead to under extrusion at the end of the spiral." +msgstr "ตั้งค่าอัตราส่วนการไหลขั้นสุดท้ายขณะสิ้นสุดเกลียว โดยปกติการเปลี่ยนผ่านของเกลียวจะปรับขนาดอัตราส่วนการไหลจาก 100% เป็น 0% ในระหว่างลูปสุดท้าย ซึ่งในบางกรณีอาจนำไปสู่การรีดขึ้นรูปที่ปลายเกลียว" + +msgid "" +"If smooth or traditional mode is selected, a timelapse video will be " +"generated for each print. After each layer is printed, a snapshot is taken " +"with the chamber camera. All of these snapshots are composed into a " +"timelapse video when printing completes. If smooth mode is selected, the " +"toolhead will move to the excess chute after each layer is printed and then " +"take a snapshot. Since the melt filament may leak from the nozzle during the " +"process of taking a snapshot, a prime tower is required for smooth mode to " +"wipe nozzle." +msgstr "หากเลือกโหมดเรียบหรือโหมดดั้งเดิม วิดีโอไทม์แลปส์จะถูกสร้างขึ้นสำหรับการพิมพ์แต่ละครั้ง หลังจากพิมพ์แต่ละชั้นแล้ว กล้องจะถ่ายภาพสแนปช็อตด้วยกล้องแชมเบอร์ สแน็ปช็อตทั้งหมดนี้จะถูกประกอบเป็นวิดีโอไทม์แลปส์เมื่อการพิมพ์เสร็จสิ้น หากเลือกโหมดเรียบ หัวเครื่องมือจะย้ายไปยังรางส่วนเกินหลังจากพิมพ์แต่ละเลเยอร์แล้วจึงถ่ายภาพสแน็ปช็อต เนื่องจากเส้นพลาสติกที่หลอมละลายอาจรั่วไหลออกจากหัวฉีดในระหว่างขั้นตอนการถ่ายภาพ จึงจำเป็นต้องมีไพรม์ทาวเวอร์เพื่อให้โหมดราบรื่นในการเช็ดหัวฉีด" + +msgid "Traditional" +msgstr "แบบดั้งเดิม" + +msgid "Temperature variation" +msgstr "การเปลี่ยนแปลงของอุณหภูมิ" + +#. TRN PrintSettings : "Ooze prevention" > "Temperature variation" +msgid "" +"Temperature difference to be applied when an extruder is not active. The " +"value is not used when 'idle_temperature' in filament settings is set to non-" +"zero value." +msgstr "ความแตกต่างของอุณหภูมิที่จะใช้เมื่อชุดดันเส้นไม่ทำงาน ค่าจะไม่ถูกใช้เมื่อตั้งค่า 'idle_temperature' ในการตั้งค่าเส้นพลาสติกเป็นค่าที่ไม่ใช่ศูนย์" + +msgid "∆℃" +msgstr "∆℃" + +msgid "Preheat time" +msgstr "เวลาอุ่นเครื่อง" + +msgid "" +"To reduce the waiting time after tool change, Orca can preheat the next tool " +"while the current tool is still in use. This setting specifies the time in " +"seconds to preheat the next tool. Orca will insert a M104 command to preheat " +"the tool in advance." +msgstr "เพื่อลดเวลารอหลังจากเปลี่ยนเครื่องมือ Orca สามารถอุ่นเครื่องมือถัดไปในขณะที่เครื่องมือปัจจุบันยังคงใช้งานอยู่ การตั้งค่านี้ระบุเวลาเป็นวินาทีเพื่ออุ่นเครื่องมือถัดไป Orca จะแทรกคำสั่ง M104 เพื่ออุ่นเครื่องล่วงหน้า" + +msgid "Preheat steps" +msgstr "อุ่นเครื่องตามขั้นตอน" + +msgid "" +"Insert multiple preheat commands (e.g. M104.1). Only useful for Prusa XL. " +"For other printers, please set it to 1." +msgstr "ใส่คำสั่งอุ่นล่วงหน้าหลายคำสั่ง (เช่น M104.1) มีประโยชน์สำหรับ Prusa XL เท่านั้น สำหรับเครื่องพิมพ์อื่นๆ โปรดตั้งค่าเป็น 1" + +msgid "" +"G-code written at the very top of the output file, before any other content. " +"Useful for adding metadata that printer firmware reads from the first lines " +"of the file (e.g. estimated print time, filament usage). Supports " +"placeholders like {print_time_sec} and {used_filament_length}." +msgstr "G-code เขียนไว้ที่ด้านบนสุดของไฟล์เอาต์พุต ก่อนเนื้อหาอื่นๆ มีประโยชน์สำหรับการเพิ่มข้อมูลเมตาที่เฟิร์มแวร์เครื่องพิมพ์อ่านจากบรรทัดแรกของไฟล์ (เช่น เวลาในการพิมพ์โดยประมาณ การใช้เส้นพลาสติก) รองรับตัวยึดตำแหน่ง เช่น {print_time_sec} และ {used_filament_length}" + +msgid "Start G-code" +msgstr "เริ่ม G-code" + +msgid "Start G-code when starting the entire print." +msgstr "เริ่ม G-code เมื่อเริ่มพิมพ์ทั้งหมด" + +msgid "Start G-code when starting the printing of this filament." +msgstr "เริ่ม G-code เมื่อเริ่มพิมพ์เส้นพลาสติกนี้" + +msgid "Single Extruder Multi Material" +msgstr "ชุดดันเส้นเดี่ยวหลายวัสดุ" + +msgid "Use single nozzle to print multi filament." +msgstr "ใช้หัวฉีดเดี่ยวเพื่อพิมพ์เส้นพลาสติกหลายเส้น" + +msgid "Manual Filament Change" +msgstr "การเปลี่ยนเส้นพลาสติกด้วยตนเอง" + +msgid "" +"Enable this option to omit the custom Change filament G-code only at the " +"beginning of the print. The tool change command (e.g., T0) will be skipped " +"throughout the entire print. This is useful for manual multi-material " +"printing, where we use M600/PAUSE to trigger the manual filament change " +"action." +msgstr "เปิดใช้งานตัวเลือกนี้เพื่อละเว้น G-code เปลี่ยนฟิลาเมนต์แบบกำหนดเองเฉพาะตอนเริ่มต้นการพิมพ์เท่านั้น คำสั่งเปลี่ยนเครื่องมือ (เช่น T0) จะถูกข้ามไปตลอดการพิมพ์ทั้งหมด สิ่งนี้มีประโยชน์สำหรับการพิมพ์หลายวัสดุด้วยตนเอง โดยที่เราใช้ M600/PAUSE เพื่อกระตุ้นการดำเนินการเปลี่ยนเส้นพลาสติกด้วยตนเอง" + +msgid "Wipe tower type" +msgstr "ชนิดทาวเวอร์เช็ด" + +msgid "" +"Choose the wipe tower implementation for multi-material prints. Type 1 is " +"recommended for Bambu and Qidi printers with a filament cutter. Type 2 " +"offers better compatibility with multi-tool and MMU printers and provide " +"overall better compatibility." +msgstr "เลือกการใช้งานไวด์ทาวเวอร์สำหรับการพิมพ์แบบหลายวัสดุ แนะนำให้ใช้ประเภท 1 สำหรับเครื่องพิมพ์ Bambu และ Qidi ที่มีเครื่องตัดเส้นพลาสติก Type 2 ให้ความเข้ากันได้ที่ดีกว่ากับเครื่องพิมพ์หลายเครื่องมือและ MMU และให้ความเข้ากันได้โดยรวมดีขึ้น" + +msgid "Type 1" +msgstr "ประเภทที่ 1" + +msgid "Type 2" +msgstr "ประเภทที่ 2" + +msgid "Purge in prime tower" +msgstr "กวาดล้างในไพร์มทาวเวอร์" + +msgid "Purge remaining filament into prime tower." +msgstr "ล้างเส้นพลาสติกที่เหลือลงในไพร์มทาวเวอร์" + +msgid "Enable filament ramming" +msgstr "เปิดใช้งานการชนเส้นพลาสติก" + +msgid "Tool change on wipe tower" +msgstr "การเปลี่ยนเครื่องมือบนไวด์ทาวเวอร์" + +msgid "" +"Force the toolhead to travel to the wipe tower before issuing the tool " +"change command (Tx). Only relevant for multi-extruder (multi-toolhead) " +"printers using a Type 2 wipe tower. By default Orca skips the travel on " +"multi-toolhead machines because the firmware handles the head swap, which " +"can result in the Tx command being issued above the printed part. Enable " +"this option if you want the tool change to always be issued above the wipe " +"tower instead." +msgstr "บังคับให้หัวเครื่องมือเคลื่อนที่ไปที่หอเช็ดก่อนที่จะออกคำสั่งเปลี่ยนเครื่องมือ (Tx) เกี่ยวข้องเฉพาะกับเครื่องพิมพ์ที่มีชุดดันเส้นหลายเครื่อง (หลายหัวเครื่องมือ) ที่ใช้แผ่นเช็ดแบบ Type 2 ตามค่าเริ่มต้น Orca จะข้ามการเดินทางบนเครื่องที่มีหัวเครื่องมือหลายหัวเนื่องจากเฟิร์มแวร์จัดการการสลับหัว ซึ่งอาจส่งผลให้มีการออกคำสั่ง Tx เหนือส่วนที่พิมพ์ เปิดใช้งานตัวเลือกนี้หากคุณต้องการให้ทำการเปลี่ยนแปลงเครื่องมือเหนือหอเช็ดแทนเสมอ" + +msgid "No sparse layers (beta)" +msgstr "ไม่มีชั้นกระจัดกระจาย (เบต้า)" + +msgid "" +"If enabled, the wipe tower will not be printed on layers with no tool " +"changes. On layers with a tool change, extruder will travel downward to " +"print the wipe tower. User is responsible for ensuring there is no collision " +"with the print." +msgstr "หากเปิดใช้งาน หอเช็ดจะไม่ถูกพิมพ์บนเลเยอร์โดยไม่มีการเปลี่ยนแปลงเครื่องมือ บนเลเยอร์ที่มีการเปลี่ยนเครื่องมือ ชุดดันเส้นจะเคลื่อนลงด้านล่างเพื่อพิมพ์ไวด์ทาวเวอร์ ผู้ใช้มีหน้าที่รับผิดชอบในการตรวจสอบให้แน่ใจว่าไม่มีการชนกันกับงานพิมพ์" + +msgid "Prime all printing extruders" +msgstr "ใช้ชุดดันเส้นการพิมพ์ทั้งหมด" + +msgid "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." +msgstr "หากเปิดใช้งาน ชุดดันเส้นการพิมพ์ทั้งหมดจะถูกลงสีพื้นที่ขอบด้านหน้าของฐานพิมพ์เมื่อเริ่มต้นการพิมพ์" + +msgid "Slice gap closing radius" +msgstr "รัศมีการปิดช่องว่างของ Slice" + +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 "รอยแตกร้าวที่มีขนาดเล็กกว่า 2 เท่าของรัศมีการปิดช่องว่างจะถูกไส้ในเต็มระหว่างการตัดตาข่ายสามเหลี่ยม การดำเนินการปิดช่องว่างอาจลดความละเอียดในการพิมพ์ขั้นสุดท้าย ดังนั้นจึงแนะนำให้รักษาค่าให้ต่ำพอสมควร" + +msgid "Slicing Mode" +msgstr "โหมดการแบ่งส่วน" + +msgid "" +"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " +"close all holes in the model." +msgstr "ใช้ \"เลขคู่\" สำหรับโมเดลเครื่องบิน 3DLabPrint ใช้ \"ปิดรู\" เพื่อปิดรูทั้งหมดในโมเดล" + +msgid "Regular" +msgstr "ปกติ" + +msgid "Even-odd" +msgstr "คู่-คี่" + +msgid "Close holes" +msgstr "ปิดรู" + +msgid "Z offset" +msgstr "ออฟเซ็ต Z" + +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 " +"example, if your endstop zero actually leaves the nozzle 0.3mm far from the " +"print bed, set this to -0.3 (or fix your endstop)." +msgstr "ค่านี้จะถูกบวก (หรือลบ) จากพิกัด Z ทั้งหมดใน G-code เอาท์พุต ใช้เพื่อชดเชยตำแหน่งปลาย Z ที่ไม่ดี: ตัวอย่างเช่น หากศูนย์ปลายสุดของคุณปล่อยหัวฉีดให้ห่างจากฐานพิมพ์ 0.3 มม. ให้ตั้งค่านี้เป็น -0.3 (หรือแก้ไขจุดปลายสุดของคุณ)" + +msgid "Enable support" +msgstr "เปิดใช้ส่วนรองรับ" + +msgid "Enable support generation." +msgstr "เปิดใช้การสร้างส่วนรองรับ" + +msgid "" +"Normal (auto) and Tree (auto) are used to generate support automatically. If " +"Normal (manual) or Tree (manual) is selected, only support enforcers are " +"generated." +msgstr "ปกติ (อัตโนมัติ) และ Tree (อัตโนมัติ) ใช้เพื่อสร้างส่วนรองรับโดยอัตโนมัติ หากเลือก ปกติ (ด้วยตนเอง) หรือ ต้นไม้ (ด้วยตนเอง) จะมีการสร้างเฉพาะกำหนดส่วนรองรับเท่านั้น" + +msgid "Normal (auto)" +msgstr "ปกติ (อัตโนมัติ)" + +msgid "Tree (auto)" +msgstr "ต้นไม้ (อัตโนมัติ)" + +msgid "Normal (manual)" +msgstr "ปกติ (ด้วยตนเอง)" + +msgid "Tree (manual)" +msgstr "ต้นไม้ (คู่มือ)" + +msgid "Support/object XY distance" +msgstr "ส่วนรองรับ/วัตถุ ระยะ XY" + +msgid "XY separation between an object and its support." +msgstr "การแยก XY ระหว่างวัตถุและส่วนรองรับ" + +msgid "Support/object first layer gap" +msgstr "ส่วนรองรับ/วัตถุช่องว่างชั้นแรก" + +msgid "XY separation between an object and its support at the first layer." +msgstr "การแยก XY ระหว่างวัตถุและส่วนรองรับที่ชั้นแรก" + +msgid "Pattern angle" +msgstr "มุมรูปแบบ" + +msgid "Use this setting to rotate the support pattern on the horizontal plane." +msgstr "ใช้การตั้งค่านี้เพื่อหมุนรูปแบบการรองรับบนระนาบแนวนอน" + +msgid "On build plate only" +msgstr "บนแผ่นฐานเท่านั้น" + +msgid "Don't create support on model surface, only on build plate." +msgstr "อย่าสร้างส่วนรองรับบนพื้นผิวของโมเดล เฉพาะบนฐานรองพิมพ์เท่านั้น" + +msgid "Support critical regions only" +msgstr "รองรับภูมิภาคที่สำคัญเท่านั้น" + +msgid "" +"Only create support for critical regions including sharp tail, cantilever, " +"etc." +msgstr "สร้างการรองรับเฉพาะบริเวณที่สำคัญเท่านั้น เช่น หางแหลม คานยื่น เป็นต้น" + +msgid "Ignore small overhangs" +msgstr "ละเว้นส่วนยื่นเล็กๆ" + +msgid "Ignore small overhangs that possibly don't require support." +msgstr "ไม่ต้องสนใจส่วนยื่นเล็กๆ ที่อาจไม่จำเป็นต้องมีส่วนรองรับ" + +msgid "Top Z distance" +msgstr "ระยะทาง Z สูงสุด" + +msgid "Z gap between the support's top and object." +msgstr "ช่องว่าง Z ระหว่างด้านบนของส่วนรองรับและวัตถุ" + +msgid "Bottom Z distance" +msgstr "ระยะ Z ล่าง" + +msgid "" +"Z gap between the object and the support bottom. If Support Top Z Distance " +"is 0 and the bottom has interface layers, this value is ignored and the " +"support is printed in direct contact with the object (no gap)." +msgstr "ช่องว่าง Z ระหว่างวัตถุและฐานรองรับ หากระยะ Z สูงสุดที่รองรับคือ 0 และด้านล่างมีเลเยอร์อินเทอร์เฟซ ค่านี้จะถูกละเว้น และส่วนรองรับจะถูกพิมพ์โดยสัมผัสโดยตรงกับวัตถุ (ไม่มีช่องว่าง)" + +msgid "Support/raft base" +msgstr "ส่วนรองรับ/ฐานฐานรองชิ้นงาน" + +msgid "" +"Filament to print support base and raft. \"Default\" means no specific " +"filament for support and current filament is used." +msgstr "เส้นพลาสติกพิมพ์ฐานรองรับและฐานรองชิ้นงาน \"ค่าเริ่มต้น\" หมายถึงไม่มีการใช้เส้นพลาสติกเฉพาะเพื่อรองรับและใช้เส้นพลาสติกปัจจุบัน" + +msgid "Avoid interface filament for base" +msgstr "หลีกเลี่ยงเส้นพลาสติกอินเทอร์เฟซสำหรับฐาน" + +msgid "" +"Avoid using support interface filament to print support base if possible." +msgstr "หลีกเลี่ยงการใช้เส้นพลาสติกส่วนต่อประสานเพื่อพิมพ์ฐานรองรับหากเป็นไปได้" + +msgid "" +"Line width of support. If expressed as a %, it will be computed over the " +"nozzle diameter." +msgstr "ความกว้างของเส้นรองรับ หากแสดงเป็น % จะคำนวณตามเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Interface use loop pattern" +msgstr "รูปแบบการใช้อินเทอร์เฟซแบบวนซ้ำ" + +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "ครอบคลุมชั้นสัมผัสด้านบนของส่วนรองรับด้วยลูป ปิดใช้งานตามค่าเริ่มต้น" + +msgid "Support/raft interface" +msgstr "ส่วนต่อประสานส่วนรองรับ / ฐานรองชิ้นงาน" + +msgid "" +"Filament to print support interface. \"Default\" means no specific filament " +"for support interface and current filament is used." +msgstr "เส้นพลาสติกสำหรับพิมพ์ส่วนต่อประสานส่วนรองรับ \"ค่าเริ่มต้น\" หมายความว่าไม่มีการใช้ฟิลาเมนต์เฉพาะสำหรับอินเทอร์เฟซรองรับและมีการใช้ฟิลาเมนต์ปัจจุบัน" + +msgid "Top interface layers" +msgstr "เลเยอร์อินเทอร์เฟซบนสุด" + +msgid "Number of top interface layers." +msgstr "จำนวนเลเยอร์อินเทอร์เฟซบนสุด" + +msgid "Bottom interface layers" +msgstr "เลเยอร์อินเทอร์เฟซด้านล่าง" + +msgid "Number of bottom interface layers." +msgstr "จำนวนเลเยอร์อินเทอร์เฟซด้านล่าง" + +msgid "Same as top" +msgstr "เช่นเดียวกับด้านบน" + +msgid "Top interface spacing" +msgstr "ระยะห่างของอินเทอร์เฟซด้านบน" + +msgid "" +"Spacing of interface lines. Zero means solid interface.\n" +"Force using solid interface when support ironing is enabled." +msgstr "ระยะห่างของบรรทัดอินเทอร์เฟซ ศูนย์หมายถึงอินเทอร์เฟซที่มั่นคง\nบังคับใช้อินเทอร์เฟซแบบทึบเมื่อเปิดใช้งานการรีดผ้าที่รองรับ" + +msgid "Bottom interface spacing" +msgstr "ระยะห่างของอินเทอร์เฟซด้านล่าง" + +msgid "Spacing of bottom interface lines. Zero means solid interface." +msgstr "ระยะห่างของบรรทัดอินเทอร์เฟซด้านล่าง ศูนย์หมายถึงอินเทอร์เฟซที่มั่นคง" + +msgid "Speed of support interface." +msgstr "ความเร็วของอินเทอร์เฟซส่วนรองรับ" + +msgid "Base pattern" +msgstr "รูปแบบฐาน" + +msgid "" +"Line pattern of support.\n" +"\n" +"The Default option for Tree supports is Hollow, which means no base pattern. " +"For other support types, the Default option is the Rectilinear pattern.\n" +"\n" +"NOTE: For Organic supports, the two walls are supported only with the Hollow/" +"Default base pattern. The Lightning base pattern is supported only by Tree " +"Slim/Strong/Hybrid supports. For the other support types, the Rectilinear " +"will be used instead of Lightning." +msgstr "รูปแบบเส้นของส่วนรองรับ\n\nตัวเลือกเริ่มต้นสำหรับส่วนรองรับ Tree คือ Hollow ซึ่งหมายความว่าไม่มีรูปแบบพื้นฐาน สำหรับส่วนรองรับประเภทอื่นๆ ตัวเลือกเริ่มต้นคือรูปแบบเส้นตรง\n\nหมายเหตุ: สำหรับส่วนรองรับทั่วไป ผนังทั้งสองได้รับการรองรับเฉพาะรูปแบบฐานกลวง/ค่าเริ่มต้นเท่านั้น รูปแบบฐาน Lightning รองรับเฉพาะ Tree Slim/Strong/Hybrid เท่านั้น สำหรับส่วนรองรับประเภทอื่นๆ Rectilinear จะถูกใช้แทน Lightning" + +msgid "Rectilinear grid" +msgstr "ตารางเป็นเส้นตรง" + +msgid "Hollow" +msgstr "กลวง" + +msgid "Interface pattern" +msgstr "รูปแบบอินเทอร์เฟซ" + +msgid "" +"Line pattern of support interface. Default pattern for non-soluble support " +"interface is Rectilinear, while default pattern for soluble support " +"interface is Concentric." +msgstr "รูปแบบเส้นของอินเทอร์เฟซส่วนรองรับ รูปแบบเริ่มต้นสำหรับอินเทอร์เฟซส่วนรองรับที่ไม่ละลายน้ำคือ Rectilinear ในขณะที่รูปแบบเริ่มต้นสำหรับอินเทอร์เฟซส่วนรองรับที่ละลายน้ำได้คือ Concentric" + +msgid "Rectilinear Interlaced" +msgstr "เป็นเส้นตรงอินเทอร์เลซ" + +msgid "Base pattern spacing" +msgstr "ระยะห่างของรูปแบบฐาน" + +msgid "Spacing between support lines." +msgstr "ระยะห่างระหว่างเส้นรองรับ" + +msgid "Normal Support expansion" +msgstr "การขยายส่วนรองรับปกติ" + +msgid "Expand (+) or shrink (-) the horizontal span of normal support." +msgstr "ขยาย (+) หรือย่อ (-) ช่วงแนวนอนของแนวรับปกติ" + +msgid "Speed of support." +msgstr "ความเร็วของส่วนรองรับ" + +msgid "" +"Style and shape of the support. For normal support, projecting the supports " +"into a regular grid will create more stable supports (default), while snug " +"support towers will save material and reduce object scarring.\n" +"For tree support, slim and organic style will merge branches more " +"aggressively and save a lot of material (default organic), while hybrid " +"style will create similar structure to normal support under large flat " +"overhangs." +msgstr "สไตล์และรูปทรงของส่วนรองรับ สำหรับการรองรับตามปกติ การฉายส่วนรองรับลงในตารางปกติจะสร้างการรองรับที่มีความเสถียรมากขึ้น (ค่าเริ่มต้น) ในขณะที่เสารองรับที่สบายจะช่วยประหยัดวัสดุและลดการเกิดแผลเป็นของวัตถุ\nสำหรับการรองรับแบบต้นไม้ รูปแบบที่เพรียวบางและออร์แกนิกจะผสานกิ่งก้านเข้าด้วยกันอย่างดุดันยิ่งขึ้น และประหยัดวัสดุได้มาก (ค่าเริ่มต้นแบบออร์แกนิก) ในขณะที่รูปแบบไฮบริดจะสร้างโครงสร้างที่คล้ายกันกับการรองรับปกติภายใต้ส่วนยื่นแบนขนาดใหญ่" + +msgid "Default (Grid/Organic)" +msgstr "ค่าเริ่มต้น (กริด/ออร์แกนิก)" + +msgid "Snug" +msgstr "สบาย" + +msgid "Organic" +msgstr "ออร์แกนิก" + +msgid "Tree Slim" +msgstr "ทรี สลิม" + +msgid "Tree Strong" +msgstr "ต้นไม้แข็งแกร่ง" + +msgid "Tree Hybrid" +msgstr "ต้นไม้ไฮบริด" + +msgid "Independent support layer height" +msgstr "ความสูงของชั้นรองรับอิสระ" + +msgid "" +"Support layer uses layer height independent with object layer. This is to " +"support customizing Z-gap and save print time. This option will be invalid " +"when the prime tower is enabled." +msgstr "เลเยอร์ส่วนรองรับใช้ความสูงของเลเยอร์ที่เป็นอิสระจากเลเยอร์วัตถุ เพื่อรองรับการปรับแต่ง Z-gap และประหยัดเวลาในการพิมพ์ ตัวเลือกนี้จะไม่ถูกต้องเมื่อเปิดใช้งานไพรม์ทาวเวอร์" + +msgid "Threshold angle" +msgstr "มุมเกณฑ์" + +msgid "" +"Support will be generated for overhangs whose slope angle is below the " +"threshold. The smaller this value is, the steeper the overhang that can be " +"printed without support.\n" +"Note: If set to 0, normal supports use the Threshold overlap instead, while " +"tree supports fall back to a default value of 30." +msgstr "ส่วนรองรับจะถูกสร้างขึ้นสำหรับส่วนยื่นที่มีมุมลาดต่ำกว่าเกณฑ์ ยิ่งค่านี้น้อยลง ระยะยื่นที่สามารถพิมพ์โดยไม่ต้องรองรับก็จะยิ่งชันมากขึ้น\nหมายเหตุ: หากตั้งค่าเป็น 0 ส่วนรองรับปกติจะใช้ Threshold ทับซ้อนกันแทน ในขณะที่ส่วนรองรับแบบทรีถอยกลับไปเป็นค่าเริ่มต้นที่ 30" + +msgid "Threshold overlap" +msgstr "การทับซ้อนกันของเกณฑ์" + +msgid "" +"If threshold angle is zero, support will be generated for overhangs whose " +"overlap is below the threshold. The smaller this value is, the steeper the " +"overhang that can be printed without support." +msgstr "หากมุมเกณฑ์เป็นศูนย์ ระบบจะสร้างส่วนรองรับสำหรับส่วนยื่นที่มีการทับซ้อนกันต่ำกว่าเกณฑ์ ยิ่งค่านี้น้อยลง ระยะยื่นที่สามารถพิมพ์โดยไม่ต้องรองรับก็จะยิ่งชันมากขึ้น" + +msgid "Tree support branch angle" +msgstr "มุมกิ่งกิ่งรองรับต้นไม้" + +msgid "" +"This setting determines the maximum overhang angle that the branches of tree " +"support are allowed to make. If the angle is increased, the branches can be " +"printed more horizontally, allowing them to reach farther." +msgstr "การตั้งค่านี้จะกำหนดมุมยื่นสูงสุดที่อนุญาตให้กิ่งก้านของต้นไม้รองรับได้ หากมุมเพิ่มขึ้น กิ่งก้านสามารถพิมพ์ในแนวนอนได้มากขึ้น เพื่อให้สามารถขยายได้ไกลขึ้น" + +msgid "Preferred Branch Angle" +msgstr "มุมสาขาที่ต้องการ" + +#. TRN PrintSettings: "Organic supports" > "Preferred Branch Angle" +msgid "" +"The preferred angle of the branches, when they do not have to avoid the " +"model. Use a lower angle to make them more vertical and more stable. Use a " +"higher angle for branches to merge faster." +msgstr "มุมที่ต้องการของกิ่งก้านเมื่อไม่จำเป็นต้องหลีกเลี่ยงโมเดล ใช้มุมที่ต่ำกว่าเพื่อทำให้เป็นแนวตั้งมากขึ้นและมั่นคงยิ่งขึ้น ใช้มุมที่สูงขึ้นเพื่อให้กิ่งก้านผสานเร็วขึ้น" + +msgid "Tree support branch distance" +msgstr "ต้นไม้รองรับระยะห่างกิ่งก้าน" + +msgid "" +"This setting determines the distance between neighboring tree support nodes." +msgstr "การตั้งค่านี้กำหนดระยะห่างระหว่างโหนดส่วนรองรับทรีที่อยู่ใกล้เคียง" + +msgid "Branch Density" +msgstr "ความหนาแน่นของสาขา" + +#. TRN PrintSettings: "Organic supports" > "Branch Density" +msgid "" +"Adjusts the density of the support structure used to generate the tips of " +"the branches. A higher value results in better overhangs but the supports " +"are harder to remove, thus it is recommended to enable top support " +"interfaces instead of a high branch density value if dense interfaces are " +"needed." +msgstr "ปรับความหนาแน่นของโครงสร้างรองรับที่ใช้สร้างส่วนปลายของกิ่งก้าน ค่าที่สูงกว่าส่งผลให้มีระยะยื่นที่ดีกว่า แต่ส่วนรองรับจะถอดออกได้ยาก ดังนั้นจึงแนะนำให้เปิดใช้งานอินเทอร์เฟซส่วนรองรับด้านบนแทนค่าความหนาแน่นของสาขาที่สูง หากจำเป็นต้องใช้อินเทอร์เฟซที่หนาแน่น" + +msgid "Auto brim width" +msgstr "ความกว้างขอบยึดชิ้นงานอัตโนมัติ" + +msgid "" +"Enabling this option means the width of the brim for tree support will be " +"automatically calculated." +msgstr "การเปิดใช้งานตัวเลือกนี้หมายความว่าความกว้างของขอบเพื่อรองรับต้นไม้จะถูกคำนวณโดยอัตโนมัติ" + +msgid "Tree support brim width" +msgstr "ต้นไม้รองรับความกว้างของขอบยึดชิ้นงาน" + +msgid "Distance from tree branch to the outermost brim line." +msgstr "ระยะห่างจากกิ่งไม้ถึงแนวขอบนอกสุด" + +msgid "Tip Diameter" +msgstr "เส้นผ่านศูนย์กลางปลาย" + +#. TRN PrintSettings: "Organic supports" > "Tip Diameter" +msgid "Branch tip diameter for organic supports." +msgstr "เส้นผ่านศูนย์กลางปลายกิ่งสำหรับรองรับแบบออร์แกนิก" + +msgid "Tree support branch diameter" +msgstr "เส้นผ่านศูนย์กลางกิ่งรองรับต้นไม้" + +msgid "This setting determines the initial diameter of support nodes." +msgstr "การตั้งค่านี้จะกำหนดเส้นผ่านศูนย์กลางเริ่มต้นของโหนดรองรับ" + +#. TRN PrintSettings: #lmFIXME +msgid "Branch Diameter Angle" +msgstr "มุมเส้นผ่านศูนย์กลางสาขา" + +#. TRN PrintSettings: "Organic supports" > "Branch Diameter Angle" +msgid "" +"The angle of the branches' diameter as they gradually become thicker towards " +"the bottom. An angle of 0 will cause the branches to have uniform thickness " +"over their length. A bit of an angle can increase stability of the organic " +"support." +msgstr "มุมของเส้นผ่านศูนย์กลางกิ่งจะค่อยๆหนาขึ้นจนถึงด้านล่าง มุม 0 จะทำให้กิ่งมีความหนาสม่ำเสมอตลอดความยาว มุมเล็กน้อยสามารถเพิ่มความเสถียรของส่วนรองรับแบบออร์แกนิกได้" + +msgid "Support wall loops" +msgstr "รองรับห่วงติดผนัง" + +msgid "" +"This setting specifies the count of support walls in the range of [0,2]. 0 " +"means auto." +msgstr "การตั้งค่านี้ระบุจำนวนกำแพงรองรับในช่วง [0,2] 0 หมายถึงอัตโนมัติ" + +msgid "Tree support with infill" +msgstr "ส่วนรองรับต้นไม้พร้อมไส้ใน" + +msgid "" +"This setting specifies whether to add infill inside large hollows of tree " +"support." +msgstr "การตั้งค่านี้ระบุว่าจะเพิ่มไส้ในภายในโพรงต้นไม้ขนาดใหญ่หรือไม่" + +msgid "Ironing Support Interface" +msgstr "อินเทอร์เฟซรองรับการรีดผ้า" + +msgid "" +"Ironing is using small flow to print on same height of support interface " +"again to make it more smooth. This setting controls whether support " +"interface being ironed. When enabled, support interface will be extruded as " +"solid too." +msgstr "การรีดผ้าใช้การไหลเพียงเล็กน้อยเพื่อพิมพ์บนส่วนรองรับที่มีความสูงเท่ากันอีกครั้งเพื่อให้เรียบยิ่งขึ้น การตั้งค่านี้ควบคุมว่าจะรีดอินเทอร์เฟซส่วนรองรับหรือไม่ เมื่อเปิดใช้งาน อินเทอร์เฟซส่วนรองรับจะถูกอัดออกมาเป็นของแข็งเช่นกัน" + +msgid "Support Ironing Pattern" +msgstr "รองรับรูปแบบการรีดผ้า" + +msgid "Support Ironing flow" +msgstr "รองรับกระแสการรีด" + +msgid "" +"The amount of material to extrude during ironing. Relative to flow of normal " +"support interface layer height. Too high value results in overextrusion on " +"the surface." +msgstr "ปริมาณวัสดุที่จะพ่นออกมาระหว่างรีดผ้า สัมพันธ์กับโฟลว์ของความสูงของเลเยอร์อินเทอร์เฟซส่วนรองรับปกติ ค่าที่สูงเกินไปส่งผลให้เกิดการอัดขึ้นรูปมากเกินไปบนพื้นผิว" + +msgid "Support Ironing line spacing" +msgstr "รองรับระยะห่างระหว่างสายรีดผ้า" + +msgid "Activate temperature control" +msgstr "เปิดใช้งานการควบคุมอุณหภูมิ" + +msgid "" +"Enable this option for automated chamber temperature control. This option " +"activates the emitting of an M191 command before the " +"\"machine_start_gcode\"\n" +" which sets the chamber temperature and waits until it is reached. In " +"addition, it emits an M141 command at the end of the print to turn off the " +"chamber heater, if present.\n" +"\n" +"This option relies on the firmware supporting the M191 and M141 commands " +"either via macros or natively and is usually used when an active chamber " +"heater is installed." +msgstr "เปิดใช้งานตัวเลือกนี้สำหรับการควบคุมอุณหภูมิห้องอัตโนมัติ ตัวเลือกนี้จะเปิดใช้งานการส่งคำสั่ง M191 ก่อน \"machine_start_gcode\"\n ซึ่งจะตั้งอุณหภูมิห้องอบและรอจนกว่าจะถึงอุณหภูมิห้อง นอกจากนี้ ยังส่งคำสั่ง M141 เมื่อสิ้นสุดการพิมพ์เพื่อปิดเครื่องทำความร้อนในห้อง (หากมี)\n\nตัวเลือกนี้ขึ้นอยู่กับเฟิร์มแวร์ที่รองรับคำสั่ง M191 และ M141 ไม่ว่าจะผ่านทางมาโครหรือแบบเนทิฟ และโดยปกติจะใช้เมื่อมีการติดตั้งเครื่องทำความร้อนในห้องแบบแอคทีฟ" + +msgid "Chamber temperature" +msgstr "อุณหภูมิห้องพิมพ์" + +msgid "" +"For high-temperature materials like ABS, ASA, PC, and PA, a higher chamber " +"temperature can help suppress or reduce warping and potentially lead to " +"higher interlayer bonding strength. However, at the same time, a higher " +"chamber temperature will reduce the efficiency of air filtration for ABS and " +"ASA.\n" +"\n" +"For PLA, PETG, TPU, PVA, and other low-temperature materials, this option " +"should be disabled (set to 0) as the chamber temperature should be low to " +"avoid extruder clogging caused by material softening at the heat break.\n" +"\n" +"If enabled, this parameter also sets a G-code variable named " +"chamber_temperature, which can be used to pass the desired chamber " +"temperature to your print start macro, or a heat soak macro like this: " +"PRINT_START (other variables) CHAMBER_TEMP=[chamber_temperature]. This may " +"be useful if your printer does not support M141/M191 commands, or if you " +"desire to handle heat soaking in the print start macro if no active chamber " +"heater is installed." +msgstr "สำหรับวัสดุที่มีอุณหภูมิสูง เช่น ABS, ASA, PC และ PA อุณหภูมิห้องที่สูงขึ้นสามารถช่วยลดหรือลดการบิดงอ และอาจนำไปสู่ความแข็งแรงการยึดเกาะระหว่างชั้นที่สูงขึ้น อย่างไรก็ตาม ในเวลาเดียวกัน อุณหภูมิห้องที่สูงขึ้นจะลดประสิทธิภาพการกรองอากาศสำหรับ ABS และ ASA\n\nสำหรับ PLA, PETG, TPU, PVA และวัสดุที่มีอุณหภูมิต่ำอื่นๆ ควรปิดใช้งานตัวเลือกนี้ (ตั้งค่าเป็น 0) เนื่องจากอุณหภูมิห้องควรต่ำเพื่อหลีกเลี่ยงการอุดตันของชุดดันเส้นที่เกิดจากวัสดุอ่อนตัวเมื่อความร้อนแตก\n\nหากเปิดใช้งาน พารามิเตอร์นี้จะตั้งค่าตัวแปร G-code ชื่อ Chamber_temperature ซึ่งสามารถใช้เพื่อส่งอุณหภูมิห้องเพาะเลี้ยงที่ต้องการไปยังมาโครเริ่มการพิมพ์ของคุณ หรือมาโครความร้อนแช่เช่นนี้: PRINT_START (ตัวแปรอื่นๆ) CHAMBER_TEMP=[chamber_temperature] วิธีนี้อาจเป็นประโยชน์หากเครื่องพิมพ์ของคุณไม่รองรับคำสั่ง M141/M191 หรือหากคุณต้องการจัดการกับความร้อนที่แช่อยู่ในมาโครเริ่มการพิมพ์ หากไม่มีการติดตั้งเครื่องทำความร้อนในห้องที่ใช้งานอยู่" + +msgid "Nozzle temperature for layers after the initial one." +msgstr "อุณหภูมิหัวฉีดสำหรับชั้นหลังจากอันแรก" + +msgid "Detect thin walls" +msgstr "ตรวจจับผนังบาง" + +msgid "" +"Detect thin walls which can't contain two line widths, and use single line " +"to print. Maybe not printed very well, because it's not a closed loop." +msgstr "ตรวจจับผนังบางๆ ที่ไม่สามารถมีความกว้างสองบรรทัดได้ และใช้บรรทัดเดียวในการพิมพ์ อาจจะพิมพ์ได้ไม่ดีนักเพราะไม่ใช่วงปิด" + +msgid "" +"This G-code is inserted when filament is changed, including T commands to " +"trigger tool change." +msgstr "รหัส G นี้จะถูกแทรกเมื่อมีการเปลี่ยนเส้นพลาสติก รวมถึงคำสั่ง T เพื่อกระตุ้นการเปลี่ยนเครื่องมือ" + +msgid "This G-code is inserted when the extrusion role is changed." +msgstr "G-code นี้จะถูกแทรกเมื่อบทบาทการอัดขึ้นรูปมีการเปลี่ยนแปลง" + +msgid "Change extrusion role G-code (filament)" +msgstr "เปลี่ยนบทบาทการอัดขึ้นรูป G-code (เส้นพลาสติก)" + +msgid "" +"This G-code is inserted when the extrusion role is changed for the active " +"filament." +msgstr "รหัส G นี้จะถูกแทรกเมื่อมีการเปลี่ยนบทบาทการอัดขึ้นรูปสำหรับเส้นพลาสติกที่ใช้งานอยู่" + +msgid "" +"Line width for top surfaces. If expressed as a %, it will be computed over " +"the nozzle diameter." +msgstr "ความกว้างของเส้นสำหรับพื้นผิวด้านบน หากแสดงเป็น % จะคำนวณตามเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Speed of top surface infill which is solid." +msgstr "ความเร็วของไส้ในพื้นผิวด้านบนซึ่งเป็นของแข็ง" + +msgid "Top shell layers" +msgstr "เลเยอร์ผนังด้านบน" + +msgid "" +"This is the number of solid layers of top shell, including the top surface " +"layer. When the thickness calculated by this value is thinner than top shell " +"thickness, the top shell layers will be increased." +msgstr "นี่คือจำนวนชั้นทึบของเปลือกด้านบน รวมถึงชั้นผิวด้านบนด้วย เมื่อความหนาที่คำนวณโดยค่านี้บางกว่าความหนาของเปลือกด้านบน ชั้นเปลือกด้านบนจะเพิ่มขึ้น" + +msgid "Top solid layers" +msgstr "ชั้นแข็งด้านบน" + +msgid "Top shell thickness" +msgstr "ความหนาผนังด้านบน" + +msgid "" +"The number of top solid layers is increased when slicing if the thickness " +"calculated by top shell layers is thinner than this value. This can avoid " +"having too thin shell when layer height is small. 0 means that this setting " +"is disabled and thickness of top shell is absolutely determined by top shell " +"layers." +msgstr "จำนวนชั้นทึบด้านบนจะเพิ่มขึ้นเมื่อหั่นหากความหนาที่คำนวณโดยชั้นเปลือกด้านบนบางกว่าค่านี้ วิธีนี้สามารถหลีกเลี่ยงไม่ให้เปลือกบางเกินไปเมื่อชั้นมีความสูงน้อย 0 หมายความว่าการตั้งค่านี้ถูกปิดใช้งาน และความหนาของเปลือกด้านบนถูกกำหนดโดยชั้นเปลือกด้านบนอย่างแน่นอน" + +msgid "Top surface density" +msgstr "ความหนาแน่นผิวด้านบน" + +msgid "" +"Density of top surface layer. A value of 100% creates a fully solid, smooth " +"top layer. Reducing this value results in a textured top surface, according " +"to the chosen top surface pattern. A value of 0% will result in only the " +"walls on the top layer being created. Intended for aesthetic or functional " +"purposes, not to fix issues such as over-extrusion." +msgstr "ความหนาแน่นของชั้นผิวด้านบน ค่า 100% จะสร้างชั้นบนสุดที่เรียบและแข็งเต็มที่ การลดค่านี้ส่งผลให้พื้นผิวด้านบนมีพื้นผิวตามรูปแบบพื้นผิวด้านบนที่เลือก ค่า 0% จะส่งผลให้มีการสร้างเฉพาะผนังชั้นบนสุดเท่านั้น มีวัตถุประสงค์เพื่อความสวยงามหรือการใช้งาน ไม่ใช่เพื่อแก้ไขปัญหา เช่น การอัดขึ้นรูปมากเกินไป" + +msgid "Bottom surface density" +msgstr "ความหนาแน่นผิวด้านล่าง" + +msgid "" +"Density of the bottom surface layer. Intended for aesthetic or functional " +"purposes, not to fix issues such as over-extrusion.\n" +"WARNING: Lowering this value may negatively affect bed adhesion." +msgstr "ความหนาแน่นของชั้นผิวด้านล่าง มีวัตถุประสงค์เพื่อความสวยงามหรือการใช้งาน ไม่ใช่เพื่อแก้ไขปัญหา เช่น การอัดขึ้นรูปมากเกินไป\nคำเตือน: การลดค่านี้อาจส่งผลเสียต่อการยึดเกาะของฐานพิมพ์" + +msgid "Speed of travel which is faster and without extrusion." +msgstr "ความเร็วในการเดินทางที่เร็วกว่าและไม่มีการอัดขึ้นรูป" + +msgid "Wipe while retracting" +msgstr "เช็ดขณะดึงกลับ" + +msgid "" +"Move nozzle along the last extrusion path when retracting to clean any " +"leaked material on the nozzle. This can minimize blobs when printing a new " +"part after traveling." +msgstr "เลื่อนหัวฉีดไปตามเส้นทางการอัดขึ้นรูปสุดท้ายเมื่อถอยกลับเพื่อทำความสะอาดวัสดุที่รั่วไหลบนหัวฉีด วิธีนี้จะช่วยลดรอยหยดเมื่อพิมพ์ชิ้นส่วนใหม่หลังการเดินทาง" + +msgid "Wipe Distance" +msgstr "ระยะเช็ดหัวฉีด" + +msgid "" +"Describe how long the nozzle will move along the last path when retracting.\n" +"\n" +"Depending on how long the wipe operation lasts, how fast and long the " +"extruder/filament retraction settings are, a retraction move may be needed " +"to retract the remaining filament.\n" +"\n" +"Setting a value in the retract amount before wipe setting below will perform " +"any excess retraction before the wipe, else it will be performed after." +msgstr "อธิบายว่าหัวฉีดจะเคลื่อนที่ไปตามเส้นทางสุดท้ายเมื่อหดกลับนานแค่ไหน\n\nขึ้นอยู่กับระยะเวลาของการเช็ด การตั้งค่าการดึงกลับของเส้นพลาสติก/เส้นพลาสติกจะเร็วและนานเพียงใด อาจจำเป็นต้องดึงเส้นพลาสติกกลับเพื่อดึงเส้นพลาสติกที่เหลืออยู่\n\nการตั้งค่าในจำนวนการถอนก่อนการล้างการตั้งค่าด้านล่างจะทำการถอนส่วนที่เกินก่อนการล้าง มิฉะนั้นจะดำเนินการหลังจากนั้น" + +msgid "" +"The wiping tower can be used to clean up the residue on the nozzle and " +"stabilize the chamber pressure inside the nozzle, in order to avoid " +"appearance defects when printing objects." +msgstr "หอเช็ดสามารถใช้เพื่อทำความสะอาดสิ่งตกค้างบนหัวฉีด และทำให้แรงดันในห้องภายในหัวฉีดคงที่ เพื่อหลีกเลี่ยงข้อบกพร่องในลักษณะที่ปรากฏเมื่อพิมพ์วัตถุ" + +msgid "Internal ribs" +msgstr "ซี่โครงภายใน" + +msgid "Enable internal ribs to increase the stability of the prime tower." +msgstr "เปิดใช้งานซี่โครงภายในเพื่อเพิ่มความมั่นคงของหอคอยหลัก" + +msgid "Purging volumes" +msgstr "ปริมาตรการไล่เส้น" + +msgid "Flush multiplier" +msgstr "ตัวคูณการไล่เส้น" + +msgid "" +"The actual flushing volumes is equal to the flush multiplier multiplied by " +"the flushing volumes in the table." +msgstr "ปริมาตรการไล่เส้นตามจริงจะเท่ากับตัวคูณการไล่เส้นคูณด้วยปริมาตรการไล่เส้นในตาราง" + +msgid "Prime volume" +msgstr "ปริมาณเฉพาะ" + +msgid "The volume of material to prime extruder on tower." +msgstr "ปริมาตรของวัสดุที่จะนำไปอัดรีดชั้นดีบนทาวเวอร์" + +msgid "Width of the prime tower." +msgstr "ความกว้างของหอคอยหลัก" + +msgid "Wipe tower rotation angle" +msgstr "เช็ดมุมการหมุนของทาวเวอร์" + +msgid "Wipe tower rotation angle with respect to X axis." +msgstr "เช็ดมุมการหมุนของทาวเวอร์ตามแกน X" + +msgid "" +"Brim width of prime tower, negative number means auto calculated width based " +"on the height of prime tower." +msgstr "ความกว้างขอบของหอคอยหลัก ตัวเลขติดลบหมายถึงความกว้างที่คำนวณโดยอัตโนมัติตามความสูงของหอคอยหลัก" + +msgid "Stabilization cone apex angle" +msgstr "มุมเอเพ็กซ์ของกรวยป้องกันการสั่นไหว" + +msgid "" +"Angle at the apex of the cone that is used to stabilize the wipe tower. " +"Larger angle means wider base." +msgstr "มุมที่ปลายกรวยที่ใช้เพื่อรักษาเสถียรภาพของหอเช็ด มุมที่ใหญ่ขึ้นหมายถึงฐานที่กว้างขึ้น" + +msgid "Maximum wipe tower print speed" +msgstr "ความเร็วการพิมพ์ไวต์ทาวเวอร์สูงสุด" + +msgid "" +"The maximum print speed when purging in the wipe tower and printing the wipe " +"tower sparse layers. When purging, if the sparse infill speed or calculated " +"speed from the filament max volumetric speed is lower, the lowest will be " +"used instead.\n" +"\n" +"When printing the sparse layers, if the internal perimeter speed or " +"calculated speed from the filament max volumetric speed is lower, the lowest " +"will be used instead.\n" +"\n" +"Increasing this speed may affect the tower's stability as well as increase " +"the force with which the nozzle collides with any blobs that may have formed " +"on the wipe tower.\n" +"\n" +"Before increasing this parameter beyond the default of 90 mm/s, make sure " +"your printer can reliably bridge at the increased speeds and that ooze when " +"tool changing is well controlled.\n" +"\n" +"For the wipe tower external perimeters the internal perimeter speed is used " +"regardless of this setting." +msgstr "ความเร็วในการพิมพ์สูงสุดเมื่อทำการล้างข้อมูลใน Wipe Tower และการพิมพ์ Wipe Tower บางเลเยอร์ เมื่อทำการไล่ล้าง หากความเร็วไส้ในแบบโปร่งหรือความเร็วที่คำนวณจากความเร็วปริมาตรสูงสุดของเส้นพลาสติกต่ำกว่า ความเร็วต่ำสุดจะถูกนำมาใช้แทน\n\nเมื่อพิมพ์ชั้นเบาบาง หากความเร็วเส้นรอบวงภายในหรือความเร็วที่คำนวณจากความเร็วปริมาตรสูงสุดของเส้นพลาสติกต่ำกว่า ความเร็วต่ำสุดจะถูกนำมาใช้แทน\n\nการเพิ่มความเร็วนี้อาจส่งผลต่อเสถียรภาพของทาวเวอร์ รวมทั้งเพิ่มแรงที่หัวฉีดชนกับหยดใดๆ ที่อาจก่อตัวบนทาวเวอร์เช็ด\n\nก่อนที่จะเพิ่มพารามิเตอร์นี้เกินกว่าค่าเริ่มต้นที่ 90 มม./วินาที ตรวจสอบให้แน่ใจว่าเครื่องพิมพ์ของคุณสามารถเชื่อมต่อที่ความเร็วที่เพิ่มขึ้นได้อย่างน่าเชื่อถือ และจะมีการควบคุมอย่างดีเมื่อเปลี่ยนเครื่องมือ\n\nสำหรับปริมณฑลภายนอกของไวต์ทาวเวอร์ ความเร็วของปริมณฑลภายในจะถูกใช้โดยไม่คำนึงถึงการตั้งค่านี้" + +msgid "Wall type" +msgstr "ชนิดติดผนัง" + +msgid "" +"Wipe tower outer wall type.\n" +"1. Rectangle: The default wall type, a rectangle with fixed width and " +"height.\n" +"2. Cone: A cone with a fillet at the bottom to help stabilize the wipe " +"tower.\n" +"3. Rib: Adds four ribs to the tower wall for enhanced stability." +msgstr "เช็ดทาวเวอร์ชนิดผนังด้านนอก\n1. สี่เหลี่ยมผืนผ้า: ประเภทผนังเริ่มต้น ซึ่งเป็นสี่เหลี่ยมผืนผ้าที่มีความกว้างและความสูงคงที่\n2. กรวย: กรวยที่มีเนื้ออยู่ด้านล่างเพื่อช่วยรักษาเสถียรภาพของหอเช็ด\n3. ซี่โครง: เพิ่มสี่ซี่โครงเข้ากับผนังหอคอยเพื่อเพิ่มความมั่นคง" + +msgid "Rectangle" +msgstr "สี่เหลี่ยมผืนผ้า" + +msgid "Rib" +msgstr "ซี่โครง" + +msgid "Extra rib length" +msgstr "ความยาวซี่โครงพิเศษ" + +msgid "" +"Positive values can increase the size of the rib wall, while negative values " +"can reduce the size. However, the size of the rib wall can not be smaller " +"than that determined by the cleaning volume." +msgstr "ค่าบวกสามารถเพิ่มขนาดของผนังซี่โครงได้ ในขณะที่ค่าลบสามารถลดขนาดได้ อย่างไรก็ตาม ขนาดของผนังซี่โครงต้องไม่เล็กกว่าที่กำหนดโดยปริมาตรการทำความสะอาด" + +msgid "Rib width" +msgstr "ความกว้างของซี่โครง" + +msgid "Rib width is always less than half the prime tower side length." +msgstr "ความกว้างของซี่โครงจะน้อยกว่าครึ่งหนึ่งของความยาวด้านของไพรม์ทาวเวอร์เสมอ" + +msgid "Fillet wall" +msgstr "ผนังเนื้อ" + +msgid "The wall of prime tower will fillet." +msgstr "ผนังของไพร์มทาวเวอร์จะแล่เป็นเนื้อเดียวกัน" + +msgid "" +"The extruder to use when printing perimeter of the wipe tower. Set to 0 to " +"use the one that is available (non-soluble would be preferred)." +msgstr "ชุดดันเส้นที่จะใช้ในการพิมพ์ปริมณฑลของหอเช็ด ตั้งค่าเป็น 0 เพื่อใช้อันที่มีอยู่ (แนะนำให้ใช้แบบไม่ละลายน้ำ)" + +msgid "Purging volumes - load/unload volumes" +msgstr "การล้างไดรฟ์ข้อมูล - โหลด/ยกเลิกการโหลดไดรฟ์ข้อมูล" + +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 "เวกเตอร์นี้จะบันทึกปริมาณที่ต้องการเพื่อเปลี่ยนจาก/ไปยังแต่ละเครื่องมือที่ใช้บนไวด์ทาวเวอร์ ค่าเหล่านี้ใช้เพื่อทำให้การสร้างวอลุ่มการล้างข้อมูลทั้งหมดด้านล่างง่ายขึ้น" + +msgid "Skip points" +msgstr "ข้ามจุด" + +msgid "The wall of prime tower will skip the start points of wipe path." +msgstr "ผนังของไพร์มทาวเวอร์จะข้ามจุดเริ่มต้นของเส้นทางการเช็ด" + +msgid "Enable tower interface features" +msgstr "เปิดใช้งานคุณสมบัติอินเทอร์เฟซแบบทาวเวอร์" + +msgid "" +"Enable optimized prime tower interface behavior when different materials " +"meet." +msgstr "เปิดใช้งานพฤติกรรมอินเทอร์เฟซของไพรม์ทาวเวอร์ที่ได้รับการปรับให้เหมาะสมเมื่อวัสดุที่แตกต่างกันมาบรรจบกัน" + +msgid "Cool down from interface boost during prime tower" +msgstr "เย็นลงจากการเพิ่มอินเทอร์เฟซระหว่างหอคอยหลัก" + +msgid "" +"When interface-layer temperature boost is active, set the nozzle back to " +"print temperature at the start of the prime tower so it cools down during " +"the tower." +msgstr "เมื่อเปิดใช้งานการเพิ่มอุณหภูมิของชั้นอินเทอร์เฟซ ให้ตั้งค่าหัวฉีดกลับไปเป็นอุณหภูมิการพิมพ์ที่จุดเริ่มต้นของไพรม์ทาวเวอร์ เพื่อให้เย็นลงระหว่างทาวเวอร์" + +msgid "Infill gap" +msgstr "การเติมช่องว่าง" + +msgid "Infill gap." +msgstr "การเติมช่องว่าง." + +msgid "" +"Purging after filament change will be done inside objects' infills. This may " +"lower the amount of waste and decrease the print time. If the walls are " +"printed with transparent filament, the mixed color infill will be seen " +"outside. It will not take effect, unless the prime tower is enabled." +msgstr "การล้างหลังจากเปลี่ยนเส้นพลาสติกจะดำเนินการภายในส่วนไส้ในของวัตถุ สิ่งนี้อาจลดปริมาณขยะและลดเวลาในการพิมพ์ หากผนังพิมพ์ด้วยเส้นพลาสติกโปร่งใส จะเห็นไส้ในสีผสมไว้ด้านนอก มันจะไม่มีผลเว้นแต่จะเปิดใช้งานไพรม์ทาวเวอร์" + +msgid "" +"Purging after filament change will be done inside objects' support. This may " +"lower the amount of waste and decrease the print time. It will not take " +"effect, unless the prime tower is enabled." +msgstr "การล้างข้อมูลหลังจากเปลี่ยนเส้นพลาสติกจะดำเนินการภายในส่วนรองรับของวัตถุ สิ่งนี้อาจลดปริมาณขยะและลดเวลาในการพิมพ์ มันจะไม่มีผลเว้นแต่จะเปิดใช้งานไพรม์ทาวเวอร์" + +msgid "" +"This object will be used to purge the nozzle after a filament change to save " +"filament and decrease the print time. Colors of the objects will be mixed as " +"a result. It will not take effect unless the prime tower is enabled." +msgstr "วัตถุนี้จะใช้ในการล้างหัวฉีดหลังจากเปลี่ยนเส้นพลาสติกเพื่อประหยัดเส้นพลาสติกและลดเวลาในการพิมพ์ สีของวัตถุจะผสมกัน มันจะไม่มีผลเว้นแต่จะเปิดใช้งานไพรม์ทาวเวอร์" + +msgid "Maximal bridging distance" +msgstr "ระยะเชื่อมต่อสูงสุด" + +msgid "Maximal distance between supports on sparse infill sections." +msgstr "ระยะห่างสูงสุดระหว่างส่วนรองรับในส่วน ไส้ใน แบบกระจัดกระจาย" + +msgid "Wipe tower purge lines spacing" +msgstr "เช็ดระยะห่างบรรทัดล้างทาวเวอร์" + +msgid "Spacing of purge lines on the wipe tower." +msgstr "ระยะห่างของเส้นไล่ล้างบนหอเช็ด" + +msgid "Extra flow for purging" +msgstr "กระแสพิเศษสำหรับการล้าง" + +msgid "" +"Extra flow used for the purging lines on the wipe tower. This makes the " +"purging lines thicker or narrower than they normally would be. The spacing " +"is adjusted automatically." +msgstr "การไหลพิเศษที่ใช้สำหรับท่อไล่ล้างบนหอเช็ด ซึ่งจะทำให้เส้นการล้างหนาหรือแคบกว่าปกติ ระยะห่างจะถูกปรับโดยอัตโนมัติ" + +msgid "Idle temperature" +msgstr "อุณหภูมิว่าง" + +msgid "" +"Nozzle temperature when the tool is currently not used in multi-tool setups. " +"This is only used when 'Ooze prevention' is active in Print Settings. Set to " +"0 to disable." +msgstr "อุณหภูมิหัวฉีดเมื่อไม่ได้ใช้เครื่องมือในการตั้งค่าหลายเครื่องมือ ใช้เฉพาะเมื่อมีการเปิดใช้งาน 'การป้องกันน้ำซึม' ในการตั้งค่าการพิมพ์ ตั้งค่าเป็น 0 เพื่อปิดใช้งาน" + +msgid "X-Y hole compensation" +msgstr "การชดเชยรู X-Y" + +msgid "" +"Holes in objects will expand or contract in the XY plane by the configured " +"value. Positive values make holes bigger, negative values make holes " +"smaller. This function is used to adjust sizes slightly when the objects " +"have assembling issues." +msgstr "รูในวัตถุจะขยายหรือหดตัวในระนาบ XY ตามค่าที่กำหนดค่าไว้ ค่าบวกจะทำให้รูมีขนาดใหญ่ขึ้น ค่าลบจะทำให้รูเล็กลง ฟังก์ชันนี้ใช้เพื่อปรับขนาดเล็กน้อยเมื่อวัตถุมีปัญหาในการประกอบ" + +msgid "X-Y contour compensation" +msgstr "การชดเชยรูปร่าง X-Y" + +msgid "" +"Contours of objects will expand or contract in the XY plane by the " +"configured value. Positive values make contours bigger, negative values make " +"contours smaller. This function is used to adjust sizes slightly when the " +"objects have assembling issues." +msgstr "รูปทรงของวัตถุจะขยายหรือหดตัวในระนาบ XY ตามค่าที่กำหนดค่าไว้ ค่าบวกจะทำให้เส้นขอบมีขนาดใหญ่ขึ้น ค่าลบจะทำให้เส้นขอบมีขนาดเล็กลง ฟังก์ชันนี้ใช้เพื่อปรับขนาดเล็กน้อยเมื่อวัตถุมีปัญหาในการประกอบ" + +msgid "Convert holes to polyholes" +msgstr "แปลงรูเป็นโพลีโฮล" + +msgid "" +"Search for almost-circular holes that span more than one layer and convert " +"the geometry to polyholes. Use the nozzle size and the (biggest) diameter to " +"compute the polyhole.\n" +"See http://hydraraptor.blogspot.com/2011/02/polyholes.html" +msgstr "ค้นหารูเกือบเป็นวงกลมที่ขยายมากกว่าหนึ่งชั้น และแปลงรูปทรงเป็นโพลีโฮล ใช้ขนาดหัวฉีดและเส้นผ่านศูนย์กลาง (ใหญ่ที่สุด) เพื่อคำนวณรูโพลี\nดูhttp://hydraraptor.blogspot.com/2011/02/polyholes.html" + +msgid "Polyhole detection margin" +msgstr "ขอบการตรวจจับโพลีโฮล" + +#, no-c-format, no-boost-format +msgid "" +"Maximum defection of a point to the estimated radius of the circle.\n" +"As cylinders are often exported as triangles of varying size, points may not " +"be on the circle circumference. This setting allows you some leeway to " +"broaden the detection.\n" +"In mm or in % of the radius." +msgstr "การเบี่ยงเบนสูงสุดของจุดจนถึงรัศมีโดยประมาณของวงกลม\nเนื่องจากทรงกระบอกมักถูกส่งออกเป็นรูปสามเหลี่ยมที่มีขนาดต่างกัน จุดต่างๆ อาจไม่อยู่บนเส้นรอบวงของวงกลม การตั้งค่านี้ช่วยให้คุณมีเวลามากขึ้นในการขยายการตรวจจับ\nเป็นมิลลิเมตรหรือเป็น % ของรัศมี" + +msgid "Polyhole twist" +msgstr "บิดรูหลายรู" + +msgid "Rotate the polyhole every layer." +msgstr "หมุนโพลีโฮลทุกชั้น" + +msgid "G-code thumbnails" +msgstr "ภาพขนาดย่อ G-code" + +msgid "" +"Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " +"following format: \"XxY, XxY, ...\"" +msgstr "ขนาดรูปภาพที่จะจัดเก็บไว้ในไฟล์ .gcode และ .sl1 / .sl1s ในรูปแบบต่อไปนี้: \"XxY, XxY, ...\"" + +msgid "Format of G-code thumbnails" +msgstr "รูปแบบของภาพขนาดย่อ G-code" + +msgid "" +"Format of G-code thumbnails: PNG for best quality, JPG for smallest size, " +"QOI for low memory firmware." +msgstr "รูปแบบของภาพขนาดย่อ G-code: PNG สำหรับคุณภาพที่ดีที่สุด, JPG สำหรับขนาดที่เล็กที่สุด, QOI สำหรับเฟิร์มแวร์หน่วยความจำเหลือน้อย" + +msgid "Use relative E distances" +msgstr "ใช้ระยะห่าง E สัมพัทธ์" + +msgid "" +"Relative extrusion is recommended when using \"label_objects\" option. Some " +"extruders work better with this option unchecked (absolute extrusion mode). " +"Wipe tower is only compatible with relative mode. It is recommended on most " +"printers. Default is checked." +msgstr "แนะนำให้ใช้การอัดขึ้นรูปแบบสัมพัทธ์เมื่อใช้ตัวเลือก \"label_objects\" ชุดดันเส้นบางชนิดทำงานได้ดีกว่าหากไม่ได้เลือกตัวเลือกนี้ (โหมดการอัดขึ้นรูปสัมบูรณ์) Wipe Tower ใช้งานได้กับโหมดสัมพัทธ์เท่านั้น แนะนำให้ใช้กับเครื่องพิมพ์ส่วนใหญ่ เลือกค่าเริ่มต้นแล้ว" + +msgid "" +"Classic wall generator produces walls with constant extrusion width and for " +"very thin areas is used gap-fill. Arachne engine produces walls with " +"variable extrusion width." +msgstr "เครื่องกำเนิดผนังแบบคลาสสิกสร้างผนังที่มีความกว้างของการอัดขึ้นรูปคงที่ และสำหรับพื้นที่ที่บางมากจะใช้การเติมช่องว่าง เครื่องยนต์ Arachne สร้างผนังที่มีความกว้างของการอัดขึ้นรูปที่หลากหลาย" + +msgid "Arachne" +msgstr "อารัคเน่" + +msgid "Wall transition length" +msgstr "ความยาวการเปลี่ยนผนัง" + +msgid "" +"When transitioning between different numbers of walls as the part becomes " +"thinner, a certain amount of space is allotted to split or join the wall " +"segments. It's expressed as a percentage over nozzle diameter." +msgstr "เมื่อเปลี่ยนระหว่างผนังจำนวนต่างๆ เมื่อชิ้นส่วนบางลง จะมีการแบ่งพื้นที่จำนวนหนึ่งเพื่อแยกหรือรวมส่วนของผนัง โดยแสดงเป็นเปอร์เซ็นต์ของเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Wall transitioning filter margin" +msgstr "ขอบตัวกรองการเปลี่ยนผนัง" + +msgid "" +"Prevent transitioning back and forth between one extra wall and one less. " +"This margin extends the range of extrusion widths which follow to [Minimum " +"wall width - margin, 2 * Minimum wall width + margin]. Increasing this " +"margin reduces the number of transitions, which reduces the number of " +"extrusion starts/stops and travel time. However, large extrusion width " +"variation can lead to under- or overextrusion problems. It's expressed as a " +"percentage over nozzle diameter." +msgstr "ป้องกันการเปลี่ยนไปมาระหว่างกำแพงพิเศษหนึ่งอันและน้อยกว่าหนึ่งอัน ขอบนี้จะขยายช่วงความกว้างของการอัดขึ้นรูปซึ่งเป็นไปตาม [ความกว้างของผนังขั้นต่ำ - ขอบ 2 * ความกว้างของผนังขั้นต่ำ + ขอบ] การเพิ่มระยะขอบนี้จะลดจำนวนการเปลี่ยน ซึ่งจะลดจำนวนการเริ่ม/หยุดการอัดขึ้นรูปและเวลาการเดินทาง อย่างไรก็ตาม ความกว้างของการอัดขึ้นรูปที่หลากหลายอาจทำให้เกิดปัญหาการอัดขึ้นรูปน้อยเกินไปหรือมากเกินไปได้ โดยแสดงเป็นเปอร์เซ็นต์ของเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Wall transitioning threshold angle" +msgstr "มุมการเปลี่ยนผ่านของกำแพง" + +msgid "" +"When to create transitions between even and odd numbers of walls. A wedge " +"shape with an angle greater than this setting will not have transitions and " +"no walls will be printed in the center to fill the remaining space. Reducing " +"this setting reduces the number and length of these center walls, but may " +"leave gaps or overextrude." +msgstr "เมื่อใดควรสร้างการเปลี่ยนระหว่างกำแพงเลขคู่และเลขคี่ รูปร่างลิ่มที่มีมุมมากกว่าการตั้งค่านี้ จะไม่มีการเปลี่ยน และจะไม่มีการพิมพ์ผนังตรงกลางเพื่อไส้ในเต็มพื้นที่ที่เหลือ การลดการตั้งค่านี้จะช่วยลดจำนวนและความยาวของผนังตรงกลาง แต่อาจทำให้เกิดช่องว่างหรืออัดแน่นเกินไป" + +msgid "Wall distribution count" +msgstr "จำนวนการกระจายผนัง" + +msgid "" +"The number of walls, counted from the center, over which the variation needs " +"to be spread. Lower values mean that the outer walls don't change in width." +msgstr "จำนวนกำแพง นับจากจุดศูนย์กลาง ซึ่งต้องกระจายรูปแบบออกไป ค่าที่ต่ำกว่าหมายความว่าผนังด้านนอกไม่เปลี่ยนความกว้าง" + +msgid "Minimum feature size" +msgstr "ขนาดคุณสมบัติขั้นต่ำ" + +msgid "" +"Minimum thickness of thin features. Model features that are thinner than " +"this value will not be printed, while features thicker than than this value " +"will be widened to the minimum wall width. It's expressed as a percentage " +"over nozzle diameter." +msgstr "ความหนาขั้นต่ำของคุณสมบัติบาง คุณลักษณะของโมเดลที่บางกว่าค่านี้จะไม่ถูกพิมพ์ ในขณะที่คุณลักษณะที่หนากว่าค่านี้จะถูกขยายให้เป็นความกว้างของผนังขั้นต่ำ โดยแสดงเป็นเปอร์เซ็นต์ของเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Minimum wall length" +msgstr "ความยาวผนังขั้นต่ำ" + +msgid "" +"Adjust this value to prevent short, unclosed walls from being printed, which " +"could increase print time. Higher values remove more and longer walls.\n" +"\n" +"NOTE: Bottom and top surfaces will not be affected by this value to prevent " +"visual gaps on the outside of the model. Adjust 'One wall threshold' in the " +"Advanced settings below to adjust the sensitivity of what is considered a " +"top-surface. 'One wall threshold' is only visible if this setting is set " +"above the default value of 0.5, or if single-wall top surfaces is enabled." +msgstr "ปรับค่านี้เพื่อป้องกันการพิมพ์ผนังที่สั้นและไม่ปิด ซึ่งอาจเพิ่มเวลาในการพิมพ์ ค่าที่สูงกว่าจะลบกำแพงที่ยาวขึ้นเรื่อยๆ\n\nหมายเหตุ: พื้นผิวด้านล่างและด้านบนจะไม่ได้รับผลกระทบจากค่านี้ เพื่อป้องกันช่องว่างการมองเห็นด้านนอกของแบบจำลอง ปรับ 'เกณฑ์กำแพงด้านเดียว' ในการตั้งค่าขั้นสูงด้านล่างเพื่อปรับความไวของสิ่งที่ถือเป็นพื้นผิวด้านบน 'เกณฑ์ผนังด้านเดียว' จะมองเห็นได้ก็ต่อเมื่อการตั้งค่านี้ตั้งไว้สูงกว่าค่าเริ่มต้นที่ 0.5 หรือหากเปิดใช้งานพื้นผิวด้านบนแบบผนังเดียว" + +msgid "Maximum wall resolution" +msgstr "ความละเอียดผนังสูงสุด" + +msgid "" +"This value determines the smallest wall line segment length in mm. The " +"smaller you set this value, the more accurate and precise the walls will be." +msgstr "ค่านี้กำหนดความยาวส่วนของเส้นผนังที่เล็กที่สุดเป็นหน่วยมม. ยิ่งคุณตั้งค่านี้น้อย ผนังก็จะยิ่งแม่นยำและแม่นยำมากขึ้นเท่านั้น" + +msgid "Maximum wall deviation" +msgstr "ส่วนเบี่ยงเบนของผนังสูงสุด" + +msgid "" +"The maximum deviation allowed when reducing the resolution for the 'Maximum " +"wall resolution' setting. If you increase this, the print will be less " +"accurate, but the G-Code will be smaller. 'Maximum wall deviation' limits " +"'Maximum wall resolution', so if the two conflict, 'Maximum wall deviation' " +"takes precedence." +msgstr "ค่าเบี่ยงเบนสูงสุดที่อนุญาตเมื่อลดความละเอียดสำหรับการตั้งค่า 'ความละเอียดสูงสุดของผนัง' หากเพิ่มค่านี้ การพิมพ์จะแม่นยำน้อยลง แต่ G-Code จะน้อยลง 'ค่าเบี่ยงเบนของผนังสูงสุด' จะจำกัด 'ความละเอียดของผนังสูงสุด' ดังนั้นหากทั้งสองข้อขัดแย้งกัน 'ค่าเบี่ยงเบนของผนังสูงสุด' จะมีความสำคัญเหนือกว่า" + +msgid "First layer minimum wall width" +msgstr "ความกว้างขั้นต่ำของผนังชั้นแรก" + +msgid "" +"The minimum wall width that should be used for the first layer is " +"recommended to be set to the same size as the nozzle. This adjustment is " +"expected to enhance adhesion." +msgstr "แนะนำให้กำหนดความกว้างของผนังขั้นต่ำที่ควรใช้สำหรับชั้นแรกให้เป็นขนาดเดียวกับหัวฉีด การปรับนี้คาดว่าจะช่วยเพิ่มการยึดเกาะ" + +msgid "Minimum wall width" +msgstr "ความกว้างของผนังขั้นต่ำ" + +msgid "" +"Width of the wall that will replace thin features (according to the Minimum " +"feature size) of the model. If the Minimum wall width is thinner than the " +"thickness of the feature, the wall will become as thick as the feature " +"itself. It's expressed as a percentage over nozzle diameter." +msgstr "ความกว้างของผนังที่จะมาแทนที่คุณสมบัติบาง (ตามขนาดคุณสมบัติขั้นต่ำ) ของแบบจำลอง หากความกว้างของผนังขั้นต่ำบางกว่าความหนาของคุณสมบัติ ผนังจะหนาเท่ากับคุณสมบัตินั้นเอง โดยแสดงเป็นเปอร์เซ็นต์ของเส้นผ่านศูนย์กลางของหัวฉีด" + +msgid "Detect narrow internal solid infills" +msgstr "ตรวจจับไส้ในของแข็งภายในที่แคบ" + +msgid "" +"This option will auto-detect narrow internal solid infill areas. If enabled, " +"the concentric pattern will be used for the area to speed up printing. " +"Otherwise, the rectilinear pattern will be used by default." +msgstr "ตัวเลือกนี้จะตรวจจับพื้นที่ไส้ในของแข็งภายในที่แคบโดยอัตโนมัติ หากเปิดใช้งาน ระบบจะใช้รูปแบบศูนย์กลางสำหรับพื้นที่เพื่อเพิ่มความเร็วในการพิมพ์ มิฉะนั้น ระบบจะใช้รูปแบบเส้นตรงเป็นค่าเริ่มต้น" + +msgid "invalid value " +msgstr "ค่าไม่ถูกต้อง" + +msgid "Invalid value when spiral vase mode is enabled: " +msgstr "ค่าไม่ถูกต้องเมื่อเปิดใช้งานโหมดแจกันเกลียว:" + +msgid "too large line width " +msgstr "ความกว้างของเส้นใหญ่เกินไป" + +msgid " not in range " +msgstr "ไม่อยู่ในช่วง" + +msgid "Export 3MF" +msgstr "ส่งออก 3MF" + +msgid "Export project as 3MF." +msgstr "ส่งออกโครงการเป็น 3MF" + +msgid "Export slicing data" +msgstr "ส่งออกข้อมูลการแบ่งส่วน" + +msgid "Export slicing data to a folder." +msgstr "ส่งออกข้อมูลการแบ่งส่วนไปยังโฟลเดอร์" + +msgid "Load slicing data" +msgstr "โหลดข้อมูลการแบ่งส่วน" + +msgid "Load cached slicing data from directory." +msgstr "โหลดข้อมูลการแบ่งส่วนแคชจากไดเรกทอรี" + +msgid "Export STL" +msgstr "ส่งออก STL" + +msgid "Export the objects as single STL." +msgstr "ส่งออกวัตถุเป็น STL เดี่ยว" + +msgid "Export multiple STLs" +msgstr "ส่งออก STL หลายรายการ" + +msgid "Export the objects as multiple STLs to directory." +msgstr "ส่งออกวัตถุเป็น STL หลายรายการไปยังไดเร็กทอรี" + +msgid "Slice" +msgstr "สไลซ์" + +msgid "Slice the plates: 0-all plates, i-plate i, others-invalid" +msgstr "แบ่งเพลต: 0-เพลตทั้งหมด, i-เพลท i, อื่นๆ-ไม่ถูกต้อง" + +msgid "Show command help." +msgstr "แสดงคำสั่งช่วยเหลือ" + +msgid "UpToDate" +msgstr "เป็นเวอร์ชันล่าสุด" + +msgid "Update the config values of 3MF to latest." +msgstr "อัปเดตค่าการกำหนดค่าของ 3MF เป็นค่าล่าสุด" + +msgid "Load default filaments" +msgstr "โหลดฟิลาเมนต์เริ่มต้น" + +msgid "Load first filament as default for those not loaded." +msgstr "โหลดเส้นพลาสติกแรกเป็นค่าเริ่มต้นสำหรับผู้ที่ไม่ได้โหลด" + +msgid "Minimum save" +msgstr "ประหยัดขั้นต่ำ" + +msgid "Export 3MF with minimum size." +msgstr "ส่งออก 3MF ด้วยขนาดขั้นต่ำ" + +msgid "mtcpp" +msgstr "mtcpp" + +msgid "max triangle count per plate for slicing." +msgstr "จำนวนสามเหลี่ยมสูงสุดต่อแผ่นสำหรับการหั่น" + +msgid "mstpp" +msgstr "mstpp" + +msgid "max slicing time per plate in seconds." +msgstr "เวลาหั่นสูงสุดต่อจานในหน่วยวินาที" + +msgid "No check" +msgstr "ไม่มีเช็ค" + +msgid "Do not run any validity checks, such as G-code path conflicts check." +msgstr "อย่าทำการตรวจสอบความถูกต้องใดๆ เช่น การตรวจสอบข้อขัดแย้งของเส้นทาง G-code" + +msgid "Normative check" +msgstr "การตรวจสอบเชิงบรรทัดฐาน" + +msgid "Check the normative items." +msgstr "ตรวจสอบรายการเชิงบรรทัดฐาน" + +msgid "Output Model Info" +msgstr "ข้อมูลรุ่นเอาท์พุต" + +msgid "Output the model's information." +msgstr "ส่งออกข้อมูลของโมเดล" + +msgid "Export Settings" +msgstr "ส่งออกการตั้งค่า" + +msgid "Export settings to a file." +msgstr "ส่งออกการตั้งค่าไปยังไฟล์" + +msgid "Send progress to pipe" +msgstr "ส่งความคืบหน้าไปป์" + +msgid "Send progress to pipe." +msgstr "ส่งความคืบหน้าไปป์" + +msgid "Arrange Options" +msgstr "ตัวเลือกจัดเรียง" + +msgid "Arrange options: 0-disable, 1-enable, others-auto" +msgstr "จัดเรียงตัวเลือก: 0-ปิดใช้งาน, 1-เปิดใช้งาน, อื่นๆ-อัตโนมัติ" + +msgid "Repetition count" +msgstr "การนับซ้ำ" + +msgid "Repetition count of the whole model." +msgstr "การนับซ้ำของทั้งโมเดล" + +msgid "Ensure on bed" +msgstr "มั่นใจบนฐานพิมพ์" + +msgid "" +"Lift the object above the bed when it is partially below. Disabled by " +"default." +msgstr "ยกสิ่งของไว้เหนือฐานพิมพ์เมื่ออยู่ด้านล่างบางส่วน ปิดใช้งานตามค่าเริ่มต้น" + +msgid "" +"Arrange the supplied models in a plate and merge them in a single model in " +"order to perform actions once." +msgstr "จัดเรียงโมเดลที่ให้มาในจานและรวมเข้าด้วยกันเป็นโมเดลเดียวเพื่อดำเนินการเพียงครั้งเดียว" + +msgid "Convert Unit" +msgstr "แปลงหน่วย" + +msgid "Convert the units of model." +msgstr "แปลงหน่วยของแบบจำลอง" + +msgid "Orient Options" +msgstr "ตัวเลือกตะวันออก" + +msgid "Orient options: 0-disable, 1-enable, others-auto" +msgstr "ตัวเลือกการวางแนว: 0-ปิดการใช้งาน, 1-เปิดใช้งาน, อื่นๆ-อัตโนมัติ" + +msgid "Rotation angle around the Z axis in degrees." +msgstr "มุมการหมุนรอบแกน Z มีหน่วยเป็นองศา" + +msgid "Rotate around X" +msgstr "หมุนรอบ X" + +msgid "Rotation angle around the X axis in degrees." +msgstr "มุมการหมุนรอบแกน X มีหน่วยเป็นองศา" + +msgid "Rotate around Y" +msgstr "หมุนรอบ Y" + +msgid "Rotation angle around the Y axis in degrees." +msgstr "มุมการหมุนรอบแกน Y มีหน่วยเป็นองศา" + +msgid "Scale the model by a float factor." +msgstr "ปรับขนาดโมเดลตามปัจจัยโฟลต" + +msgid "Load General Settings" +msgstr "โหลดการตั้งค่าทั่วไป" + +msgid "Load process/machine settings from the specified file." +msgstr "โหลดการตั้งค่ากระบวนการ/เครื่องจักรจากไฟล์ที่ระบุ" + +msgid "Load Filament Settings" +msgstr "โหลดการตั้งค่าเส้นพลาสติก" + +msgid "Load filament settings from the specified file list." +msgstr "โหลดการตั้งค่าเส้นพลาสติกจากรายการไฟล์ที่ระบุ" + +msgid "Skip Objects" +msgstr "ข้ามวัตถุ" + +msgid "Skip some objects in this print." +msgstr "ข้ามวัตถุบางอย่างในงานพิมพ์นี้" + +msgid "Clone Objects" +msgstr "วัตถุโคลน" + +msgid "Clone objects in the load list." +msgstr "โคลนวัตถุในรายการโหลด" + +msgid "Load uptodate process/machine settings when using uptodate" +msgstr "โหลดการตั้งค่ากระบวนการ/เครื่อง uptodate เมื่อใช้ uptodate" + +msgid "" +"Load uptodate process/machine settings from the specified file when using " +"uptodate." +msgstr "โหลดการตั้งค่ากระบวนการ/เครื่อง uptodate จากไฟล์ที่ระบุเมื่อใช้ uptodate" + +msgid "Load uptodate filament settings when using uptodate" +msgstr "โหลดการตั้งค่าเส้นพลาสติก uptodate เมื่อใช้ uptodate" + +msgid "" +"Load uptodate filament settings from the specified file when using uptodate." +msgstr "โหลดการตั้งค่าเส้นพลาสติก uptodate จากไฟล์ที่ระบุเมื่อใช้ uptodate" + +msgid "Downward machines check" +msgstr "เช็คเครื่องลง" + +msgid "" +"If enabled, check whether current machine downward compatible with the " +"machines in the list." +msgstr "หากเปิดใช้งาน ให้ตรวจสอบว่าเครื่องปัจจุบันรุ่นล่างเข้ากันได้กับเครื่องในรายการหรือไม่" + +msgid "Downward machines settings" +msgstr "การตั้งค่าเครื่องลง" + +msgid "The machine settings list needs to do downward checking." +msgstr "รายการการตั้งค่าเครื่องจำเป็นต้องทำการตรวจสอบด้านล่าง" + +msgid "Load assemble list" +msgstr "โหลดรายการประกอบ" + +msgid "Load assemble object list from config file." +msgstr "โหลดรายการวัตถุประกอบจากไฟล์ปรับแต่ง" + +msgid "Data directory" +msgstr "ไดเร็กทอรีข้อมูล" + +msgid "" +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." +msgstr "โหลดและจัดเก็บการตั้งค่าไว้ที่ไดเร็กทอรีที่กำหนด สิ่งนี้มีประโยชน์สำหรับการรักษาโปรไฟล์ที่แตกต่างกันหรือรวมถึงการกำหนดค่าจากที่จัดเก็บข้อมูลเครือข่าย" + +msgid "Output directory" +msgstr "ไดเร็กทอรีเอาต์พุต" + +msgid "Output directory for the exported files." +msgstr "ไดเร็กทอรีเอาต์พุตสำหรับไฟล์ที่ส่งออก" + +msgid "Debug level" +msgstr "ระดับการแก้ไขข้อบกพร่อง" + +msgid "" +"Sets debug logging level. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, " +"5:trace\n" +msgstr "ตั้งค่าระดับการบันทึกการดีบัก 0: ร้ายแรง, 1: ข้อผิดพลาด, 2: คำเตือน, 3: ข้อมูล, 4: ดีบัก, 5: ติดตาม\n" + +msgid "Enable timelapse for print" +msgstr "เปิดใช้งานไทม์แลปส์สำหรับการพิมพ์" + +msgid "If enabled, this slicing will be considered using timelapse." +msgstr "หากเปิดใช้งาน การแบ่งส่วนนี้จะถือว่าใช้ไทม์แลปส์" + +msgid "Load custom G-code" +msgstr "โหลด G-code ที่กำหนดเอง" + +msgid "Load custom G-code from json." +msgstr "โหลด G-code ที่กำหนดเองจาก json" + +msgid "Load filament IDs" +msgstr "โหลดรหัสฟิลาเมนต์" + +msgid "Load filament IDs for each object." +msgstr "โหลดรหัสฟิลาเมนต์สำหรับแต่ละอ็อบเจ็กต์" + +msgid "Allow multiple colors on one plate" +msgstr "อนุญาตให้มีหลายสีในจานเดียว" + +msgid "If enabled, Arrange will allow multiple colors on one plate." +msgstr "หากเปิดใช้งาน การจัดเรียงจะอนุญาตให้มีหลายสีในจานเดียว" + +msgid "Allow rotation when arranging" +msgstr "อนุญาตให้หมุนเมื่อจัดเรียง" + +msgid "If enabled, Arrange will allow rotation when placing objects." +msgstr "หากเปิดใช้งาน การจัดเรียงจะทำให้สามารถหมุนได้เมื่อวางวัตถุ" + +msgid "Avoid extrusion calibrate region when arranging" +msgstr "หลีกเลี่ยงการปรับเทียบขอบเขตการอัดขึ้นรูปเมื่อทำการจัดเรียง" + +msgid "" +"If enabled, Arrange will avoid extrusion calibrate region when placing " +"objects." +msgstr "หากเปิดใช้งาน Arrange จะหลีกเลี่ยงขอบเขตการปรับเทียบการอัดขึ้นรูปเมื่อวางวัตถุ" + +msgid "Skip modified G-code in 3MF" +msgstr "ข้าม G-code ที่แก้ไขใน 3MF" + +msgid "Skip the modified G-code in 3MF from printer or filament presets." +msgstr "ข้าม G-code ที่แก้ไขใน 3MF จากเครื่องพิมพ์หรือฟิลาเมนต์ที่ตั้งไว้ล่วงหน้า" + +msgid "MakerLab name" +msgstr "ชื่อเมกเกอร์แล็บ" + +msgid "MakerLab name to generate this 3MF." +msgstr "ชื่อ MakerLab เพื่อสร้าง 3MF นี้" + +msgid "MakerLab version" +msgstr "เวอร์ชัน MakerLab" + +msgid "MakerLab version to generate this 3MF." +msgstr "เวอร์ชัน MakerLab เพื่อสร้าง 3MF นี้" + +msgid "Metadata name list" +msgstr "รายการชื่อข้อมูลเมตา" + +msgid "Metadata name list added into 3MF." +msgstr "เพิ่มรายชื่อเมตาดาต้าลงใน 3MF" + +msgid "Metadata value list" +msgstr "รายการค่าข้อมูลเมตา" + +msgid "Metadata value list added into 3MF." +msgstr "เพิ่มรายการค่าข้อมูลเมตาลงใน 3MF" + +msgid "Allow 3MF with newer version to be sliced" +msgstr "อนุญาตให้ 3MF ที่มีเวอร์ชันใหม่กว่าถูกแบ่งส่วน" + +msgid "Allow 3MF with newer version to be sliced." +msgstr "อนุญาตให้ 3MF ที่มีเวอร์ชันใหม่กว่าถูกแบ่งส่วน" + +msgid "Current Z-hop" +msgstr "Z-hop ปัจจุบัน" + +msgid "Contains Z-hop present at the beginning of the custom G-code block." +msgstr "มี Z-hop อยู่ที่จุดเริ่มต้นของบล็อก G-code ที่กำหนดเอง" + +msgid "" +"Position of the extruder at the beginning of the custom G-code block. If the " +"custom G-code travels somewhere else, it should write to this variable so " +"OrcaSlicer knows where it travels from when it gets control back." +msgstr "ตำแหน่งของชุดดันเส้นที่จุดเริ่มต้นของบล็อก G-code แบบกำหนดเอง หาก G-code แบบกำหนดเองเดินทางไปที่อื่น ควรเขียนลงในตัวแปรนี้เพื่อให้ OrcaSlicer รู้ว่าโค้ดเดินทางจากที่ใดเมื่อได้รับการควบคุมกลับ" + +msgid "" +"Retraction state at the beginning of the custom G-code block. If the custom " +"G-code moves the extruder axis, it should write to this variable so " +"OrcaSlicer de-retracts correctly when it gets control back." +msgstr "สถานะการเพิกถอนที่จุดเริ่มต้นของบล็อก G-code ที่กำหนดเอง หาก G-code แบบกำหนดเองย้ายแกนชุดดันเส้น ควรเขียนลงในตัวแปรนี้เพื่อให้ OrcaSlicer ยกเลิกการดึงกลับอย่างถูกต้องเมื่อได้รับการควบคุมกลับ" + +msgid "Extra de-retraction" +msgstr "การยกเลิกการเพิกถอนเพิ่มไส้ใน" + +msgid "Currently planned extra extruder priming after de-retraction." +msgstr "ขณะนี้มีการวางแผนการรองพื้นชุดดันเส้นเพิ่มไส้ในหลังจากการถอนการถอยกลับ" + +msgid "Absolute E position" +msgstr "ตำแหน่งสัมบูรณ์ E" + +msgid "" +"Current position of the extruder axis. Only used with absolute extruder " +"addressing." +msgstr "ตำแหน่งปัจจุบันของแกนชุดดันเส้น ใช้กับการกำหนดที่อยู่ของชุดดันเส้นแบบสัมบูรณ์เท่านั้น" + +msgid "Current extruder" +msgstr "ปัจจุบันชุดดันเส้น" + +msgid "Zero-based index of currently used extruder." +msgstr "ดัชนีค่าศูนย์ของชุดดันเส้นที่ใช้อยู่ในปัจจุบัน" + +msgid "Current object index" +msgstr "ดัชนีวัตถุปัจจุบัน" + +msgid "" +"Specific for sequential printing. Zero-based index of currently printed " +"object." +msgstr "เฉพาะสำหรับการพิมพ์ตามลำดับ ดัชนีแบบศูนย์ของวัตถุที่พิมพ์ในปัจจุบัน" + +msgid "Has wipe tower" +msgstr "มีหอเช็ด" + +msgid "Whether or not wipe tower is being generated in the print." +msgstr "มีการสร้างเช็ดทาวเวอร์ในการพิมพ์หรือไม่" + +msgid "Initial extruder" +msgstr "ชุดดันเส้นเริ่มต้น" + +msgid "" +"Zero-based index of the first extruder used in the print. Same as " +"initial_tool." +msgstr "ดัชนีแบบศูนย์ของชุดดันเส้นตัวแรกที่ใช้ในการพิมพ์ เช่นเดียวกับ Initial_tool" + +msgid "Initial tool" +msgstr "เครื่องมือเริ่มต้น" + +msgid "" +"Zero-based index of the first extruder used in the print. Same as " +"initial_extruder." +msgstr "ดัชนีแบบศูนย์ของชุดดันเส้นตัวแรกที่ใช้ในการพิมพ์ เช่นเดียวกับ Initial_extruder" + +msgid "Is extruder used?" +msgstr "ใช้ชุดดันเส้นหรือไม่?" + +msgid "" +"Vector of booleans stating whether a given extruder is used in the print." +msgstr "เวกเตอร์ของบูลีนที่ระบุว่ามีการใช้ชุดดันเส้นที่กำหนดในการพิมพ์หรือไม่" + +msgid "Number of extruders" +msgstr "จำนวนชุดดันเส้น" + +msgid "" +"Total number of extruders, regardless of whether they are used in the " +"current print." +msgstr "จำนวนชุดดันเส้นทั้งหมด ไม่ว่าจะใช้ในการพิมพ์ปัจจุบันหรือไม่ก็ตาม" + +msgid "Has single extruder MM priming" +msgstr "มีรองพื้น MM ของชุดดันเส้นเดี่ยว" + +msgid "Are the extra multi-material priming regions used in this print?" +msgstr "มีการใช้บริเวณรองพื้นหลายวัสดุพิเศษในการพิมพ์นี้หรือไม่" + +msgid "Volume per extruder" +msgstr "ปริมาณต่อชุดดันเส้น" + +msgid "Total filament volume extruded per extruder during the entire print." +msgstr "ปริมาตรเส้นพลาสติกรวมที่ถูกอัดต่อชุดดันเส้นระหว่างการพิมพ์ทั้งหมด" + +msgid "Total tool changes" +msgstr "การเปลี่ยนแปลงเครื่องมือทั้งหมด" + +msgid "Number of tool changes during the print." +msgstr "จำนวนการเปลี่ยนแปลงเครื่องมือระหว่างการพิมพ์" + +msgid "Total volume" +msgstr "ปริมาณรวม" + +msgid "Total volume of filament used during the entire print." +msgstr "ปริมาตรรวมของเส้นพลาสติกที่ใช้ระหว่างการพิมพ์ทั้งหมด" + +msgid "Weight per extruder" +msgstr "น้ำหนักต่อชุดดันเส้น" + +msgid "" +"Weight per extruder extruded during the entire print. Calculated from " +"filament_density value in Filament Settings." +msgstr "น้ำหนักต่อชุดดันเส้นที่อัดออกมาระหว่างการพิมพ์ทั้งหมด คำนวณจากค่า fil_density ในการตั้งค่าเส้นพลาสติก" + +msgid "Total weight" +msgstr "น้ำหนักรวม" + +msgid "" +"Total weight of the print. Calculated from filament_density value in " +"Filament Settings." +msgstr "น้ำหนักรวมของการพิมพ์ คำนวณจากค่า fil_density ในการตั้งค่าเส้นพลาสติก" + +msgid "Total layer count" +msgstr "จำนวนชั้นทั้งหมด" + +msgid "Number of layers in the entire print." +msgstr "จำนวนชั้นในการพิมพ์ทั้งหมด" + +msgid "Print time (normal mode)" +msgstr "เวลาในการพิมพ์ (โหมดปกติ)" + +msgid "" +"Estimated print time when printed in normal mode (i.e. not in silent mode). " +"Same as print_time." +msgstr "เวลาพิมพ์โดยประมาณเมื่อพิมพ์ในโหมดปกติ (เช่น ไม่อยู่ในโหมดเงียบ) เช่นเดียวกับ print_time" + +msgid "" +"Estimated print time when printed in normal mode (i.e. not in silent mode). " +"Same as normal_print_time." +msgstr "เวลาพิมพ์โดยประมาณเมื่อพิมพ์ในโหมดปกติ (เช่น ไม่อยู่ในโหมดเงียบ) เช่นเดียวกับเวลาปกติ_print_time" + +msgid "Print time (silent mode)" +msgstr "เวลาในการพิมพ์ (โหมดเงียบ)" + +msgid "Estimated print time when printed in silent mode." +msgstr "เวลาการพิมพ์โดยประมาณเมื่อพิมพ์ในโหมดเงียบ" + +msgid "" +"Total cost of all material used in the print. Calculated from filament_cost " +"value in Filament Settings." +msgstr "ต้นทุนรวมของวัสดุทั้งหมดที่ใช้ในการพิมพ์ คำนวณจากค่า fil_cost ในการตั้งค่า เส้นพลาสติก" + +msgid "Total wipe tower cost" +msgstr "ต้นทุนเช็ดทาวเวอร์ทั้งหมด" + +msgid "" +"Total cost of the material wasted on the wipe tower. Calculated from " +"filament_cost value in Filament Settings." +msgstr "ต้นทุนรวมของวัสดุที่เสียไปบนไวด์ทาวเวอร์ คำนวณจากค่า fil_cost ในการตั้งค่า เส้นพลาสติก" + +msgid "Wipe tower volume" +msgstr "เช็ดปริมาตรทาวเวอร์" + +msgid "Total filament volume extruded on the wipe tower." +msgstr "ปริมาตรเส้นพลาสติกทั้งหมดที่อัดบนไวด์ทาวเวอร์" + +msgid "Used filament" +msgstr "เส้นพลาสติกที่ใช้แล้ว" + +msgid "Total length of filament used in the print." +msgstr "ความยาวรวมของเส้นพลาสติกที่ใช้ในการพิมพ์" + +msgid "Print time (seconds)" +msgstr "เวลาในการพิมพ์ (วินาที)" + +msgid "" +"Total estimated print time in seconds. Replaced with actual value during " +"post-processing." +msgstr "เวลาพิมพ์ทั้งหมดโดยประมาณเป็นวินาที แทนที่ด้วยค่าจริงระหว่างการประมวลผลภายหลัง" + +msgid "Filament length (meters)" +msgstr "ความยาวเส้นพลาสติก (เมตร)" + +msgid "" +"Total filament length used in meters. Replaced with actual value during post-" +"processing." +msgstr "ความยาวเส้นพลาสติกทั้งหมดที่ใช้เป็นเมตร แทนที่ด้วยค่าจริงระหว่างการประมวลผลภายหลัง" + +msgid "Number of objects" +msgstr "จำนวนวัตถุ" + +msgid "Total number of objects in the print." +msgstr "จำนวนวัตถุทั้งหมดในการพิมพ์" + +msgid "Number of instances" +msgstr "จำนวนอินสแตนซ์" + +msgid "Total number of object instances in the print, summed over all objects." +msgstr "จำนวนอินสแตนซ์ออบเจ็กต์ทั้งหมดในการพิมพ์ โดยสรุปจากออบเจ็กต์ทั้งหมด" + +msgid "Scale per object" +msgstr "มาตราส่วนต่อวัตถุ" + +msgid "" +"Contains a string with the information about what scaling was applied to the " +"individual objects. Indexing of the objects is zero-based (first object has " +"index 0).\n" +"Example: 'x:100% y:50% z:100%'." +msgstr "ประกอบด้วยสตริงที่มีข้อมูลเกี่ยวกับการปรับสเกลที่ใช้กับออบเจ็กต์แต่ละรายการ การทำดัชนีของวัตถุเป็นแบบศูนย์ (วัตถุแรกมีดัชนี 0)\nตัวอย่าง: 'x:100% y:50% z:100%'" + +msgid "Input filename without extension" +msgstr "ป้อนชื่อไฟล์โดยไม่มีนามสกุล" + +msgid "Source filename of the first object, without extension." +msgstr "ชื่อไฟล์ต้นฉบับของออบเจ็กต์แรก โดยไม่มีนามสกุล" + +msgid "" +"The vector has two elements: X and Y coordinate of the point. Values in mm." +msgstr "เวกเตอร์มีสององค์ประกอบ: พิกัด X และ Y ของจุด ค่าเป็น มม." + +msgid "" +"The vector has two elements: X and Y dimension of the bounding box. Values " +"in mm." +msgstr "เวกเตอร์มีสององค์ประกอบ: มิติ X และ Y ของกรอบขอบเขต ค่าเป็น มม." + +msgid "First layer convex hull" +msgstr "ชั้นแรกเป็นตัวถังนูน" + +msgid "" +"Vector of points of the first layer convex hull. Each element has the " +"following format:'[x, y]' (x and y are floating-point numbers in mm)." +msgstr "เวกเตอร์ของจุดของตัวเรือนูนชั้นแรก แต่ละองค์ประกอบมีรูปแบบดังนี้:'[x, y]' (x และ y เป็นตัวเลขทศนิยมในหน่วย มม.)" + +msgid "Bottom-left corner of the first layer bounding box" +msgstr "มุมล่างซ้ายของกล่องขอบชั้นแรก" + +msgid "Top-right corner of the first layer bounding box" +msgstr "มุมขวาบนของกล่องขอบชั้นแรก" + +msgid "Size of the first layer bounding box" +msgstr "ขนาดของกล่องขอบชั้นแรก" + +msgid "Bottom-left corner of print bed bounding box" +msgstr "มุมซ้ายล่างของกล่องขอบฐานพิมพ์พิมพ์" + +msgid "Top-right corner of print bed bounding box" +msgstr "มุมขวาบนของกล่องขอบฐานพิมพ์พิมพ์" + +msgid "Size of the print bed bounding box" +msgstr "ขนาดของกล่องขอบฐานพิมพ์พิมพ์" + +msgid "Timestamp" +msgstr "การประทับเวลา" + +msgid "String containing current time in yyyyMMdd-hhmmss format." +msgstr "สตริงที่มีเวลาปัจจุบันในรูปแบบ yyyyMMdd-hhmmss" + +msgid "Day" +msgstr "วัน" + +msgid "Hour" +msgstr "ชั่วโมง" + +msgid "Minute" +msgstr "นาที" + +msgid "Second" +msgstr "ที่สอง" + +msgid "Print preset name" +msgstr "พิมพ์ชื่อที่ตั้งไว้ล่วงหน้า" + +msgid "Name of the print preset used for slicing." +msgstr "ชื่อของค่าที่ตั้งล่วงหน้าการพิมพ์ที่ใช้สำหรับการตัด" + +msgid "Filament preset name" +msgstr "ชื่อฟิลาเมนต์ที่ตั้งไว้ล่วงหน้า" + +msgid "" +"Names of the filament presets used for slicing. The variable is a vector " +"containing one name for each extruder." +msgstr "ชื่อของค่าที่ตั้งไว้ล่วงหน้าของฟิลาเมนท์ที่ใช้สำหรับการหั่น ตัวแปรคือเวกเตอร์ที่มีชื่อเดียวสำหรับชุดดันเส้นแต่ละเครื่อง" + +msgid "Printer preset name" +msgstr "ชื่อที่ตั้งไว้ล่วงหน้าของเครื่องพิมพ์" + +msgid "Name of the printer preset used for slicing." +msgstr "ชื่อของพรีเซ็ตเครื่องพิมพ์ที่ใช้สำหรับการตัด" + +msgid "Physical printer name" +msgstr "ชื่อเครื่องพิมพ์จริง" + +msgid "Name of the physical printer used for slicing." +msgstr "ชื่อของเครื่องพิมพ์ฟิสิคัลที่ใช้สำหรับการแบ่งส่วน" + +msgid "Layer number" +msgstr "หมายเลขเลเยอร์" + +msgid "Index of the current layer. One-based (i.e. first layer is number 1)." +msgstr "ดัชนีของเลเยอร์ปัจจุบัน แบบอิงเดียว (เช่น เลเยอร์แรกคือหมายเลข 1)" + +msgid "Layer Z" +msgstr "เลเยอร์ Z" + +msgid "" +"Height of the current layer above the print bed, measured to the top of the " +"layer." +msgstr "ความสูงของเลเยอร์ปัจจุบันเหนือฐานพิมพ์พิมพ์ วัดจนถึงด้านบนของเลเยอร์" + +msgid "Maximal layer Z" +msgstr "เลเยอร์สูงสุด Z" + +msgid "Height of the last layer above the print bed." +msgstr "ความสูงของชั้นสุดท้ายเหนือฐานพิมพ์พิมพ์" + +msgid "Filament extruder ID" +msgstr "ID ชุดดันเส้นเส้นพลาสติก" + +msgid "The current extruder ID. The same as current_extruder." +msgstr "รหัสชุดดันเส้นปัจจุบัน เช่นเดียวกับ current_extruder" + +msgid "Error in zip archive" +msgstr "เกิดข้อผิดพลาดในไฟล์ zip" + +msgid "Generating walls" +msgstr "กำลังสร้างผนัง" + +msgid "Generating infill regions" +msgstr "กำลังสร้างพื้นที่ไส้ใน" + +msgid "Generating infill toolpath" +msgstr "กำลังสร้างเส้นทางไส้ใน" + +msgid "Z contouring" +msgstr "รูปร่าง Z" + +msgid "Detect overhangs for auto-lift" +msgstr "ตรวจจับระยะยื่นสำหรับการยกอัตโนมัติ" + +msgid "Checking support necessity" +msgstr "กำลังตรวจสอบความจำเป็นของส่วนรองรับ" + +msgid "floating regions" +msgstr "ภูมิภาคลอยน้ำ" + +msgid "floating cantilever" +msgstr "คานเท้าแขนลอย" + +msgid "large overhangs" +msgstr "ส่วนยื่นขนาดใหญ่" + +#, possible-c-format, possible-boost-format +msgid "" +"It seems object %s has %s. Please re-orient the object or enable support " +"generation." +msgstr "ดูเหมือนว่าวัตถุ %s มี %s โปรดปรับทิศทางวัตถุใหม่หรือเปิดใช้งานการสร้างส่วนรองรับ" + +msgid "Generating support" +msgstr "กำลังสร้างส่วนรองรับ" + +msgid "Optimizing toolpath" +msgstr "กำลังปรับเส้นทางพิมพ์ให้เหมาะสม" + +msgid "Slicing mesh" +msgstr "กำลังสไลซ์เมช" + +msgid "" +"No layers were detected. You might want to repair your STL file(s) or check " +"their size or thickness and retry.\n" +msgstr "ไม่พบเลเยอร์ คุณอาจต้องการซ่อมแซมไฟล์ STL ของคุณ หรือตรวจสอบขนาดหรือความหนาแล้วลองอีกครั้ง\n" + +msgid "" +"An object's XY size compensation will not be used because it is also color-" +"painted.\n" +"XY Size compensation cannot be combined with color-painting." +msgstr "การชดเชยขนาด XY ของวัตถุจะไม่ถูกนำมาใช้เนื่องจากวัตถุนั้นถูกลงสีด้วย\nการชดเชยขนาด XY ไม่สามารถใช้ร่วมกับการวาดภาพสีได้" + +msgid "" +"An object has enabled XY Size compensation which will not be used because it " +"is also fuzzy skin painted.\n" +"XY Size compensation cannot be combined with fuzzy skin painting." +msgstr "วัตถุได้เปิดใช้งานการชดเชยขนาด XY ซึ่งจะไม่ถูกใช้เนื่องจากเป็นสีที่ไม่ชัดเจนเช่นกัน\nการชดเชยขนาด XY ไม่สามารถใช้ร่วมกับการลงสีผิวแบบคลุมเครือได้" + +msgid "Object name" +msgstr "ชื่อออบเจ็กต์" + +msgid "Support: generate contact points" +msgstr "ส่วนรองรับ: สร้างจุดติดต่อ" + +msgid "Loading of a model file failed." +msgstr "การโหลดไฟล์โมเดลล้มเหลว" + +msgid "Meshing of a model file failed or no valid shape." +msgstr "การประสานไฟล์โมเดลล้มเหลวหรือไม่มีรูปร่างที่ถูกต้อง" + +msgid "The supplied file couldn't be read because it's empty" +msgstr "ไม่สามารถอ่านไฟล์ที่ให้มาได้เนื่องจากไฟล์ว่างเปล่า" + +msgid "" +"Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension." +msgstr "รูปแบบไฟล์ที่ไม่รู้จัก ไฟล์อินพุตต้องมีนามสกุล .stl, .obj, .amf(.xml)" + +msgid "Unknown file format. Input file must have .3mf or .zip.amf extension." +msgstr "รูปแบบไฟล์ที่ไม่รู้จัก ไฟล์อินพุตต้องมีนามสกุล .3mf หรือ .zip.amf" + +msgid "load_obj: failed to parse" +msgstr "load_obj: ไม่สามารถแยกวิเคราะห์ได้" + +msgid "load mtl in obj: failed to parse" +msgstr "โหลด mtl ใน obj: ไม่สามารถแยกวิเคราะห์ได้" + +msgid "The file contains polygons with more than 4 vertices." +msgstr "ไฟล์นี้มีรูปหลายเหลี่ยมที่มีจุดยอดมากกว่า 4 จุด" + +msgid "The file contains polygons with less than 2 vertices." +msgstr "ไฟล์นี้มีรูปหลายเหลี่ยมที่มีจุดยอดน้อยกว่า 2 อัน" + +msgid "The file contains invalid vertex index." +msgstr "ไฟล์นี้มีดัชนีจุดยอดที่ไม่ถูกต้อง" + +msgid "This OBJ file couldn't be read because it's empty." +msgstr "ไฟล์ OBJ นี้ไม่สามารถอ่านได้เนื่องจากไฟล์ว่างเปล่า" + +msgid "Max Volumetric Speed Calibration" +msgstr "ปรับเทียบความเร็วปริมาตรสูงสุด" + +msgid "Manage Result" +msgstr "จัดการผลลัพธ์" + +msgid "Manual Calibration" +msgstr "การปรับเทียบกำหนดเอง" + +msgid "Result can be read by human eyes." +msgstr "ผลลัพธ์สามารถอ่านได้ด้วยตามนุษย์" + +msgid "Auto-Calibration" +msgstr "การสอบเทียบอัตโนมัติ" + +msgid "We would use Lidar to read the calibration result" +msgstr "เราจะใช้ Lidar เพื่ออ่านผลการสอบเทียบ" + +msgid "Prev" +msgstr "ก่อนหน้า" + +msgid "Recalibration" +msgstr "การปรับเทียบใหม่" + +msgid "Calibrate" +msgstr "ปรับเทียบ" + +msgid "Finish" +msgstr "เสร็จ" + +msgid "How to use calibration result?" +msgstr "จะใช้ผลการสอบเทียบได้อย่างไร?" + +msgid "" +"You could change the Flow Dynamics Calibration Factor in material editing" +msgstr "คุณสามารถเปลี่ยน Flow Dynamics Calibration Factor ในการแก้ไขวัสดุได้" + +msgid "" +"The current firmware version of the printer does not support calibration.\n" +"Please upgrade the printer firmware." +msgstr "เวอร์ชันเฟิร์มแวร์ปัจจุบันของเครื่องพิมพ์ไม่รองรับการปรับเทียบ\nกรุณาอัพเกรดเฟิร์มแวร์เครื่องพิมพ์" + +msgid "Calibration not supported" +msgstr "ไม่รองรับการปรับเทียบ" + +msgid "Error desc" +msgstr "คำอธิบายข้อผิดพลาด" + +msgid "Extra info" +msgstr "ข้อมูลเพิ่มเติม" + +msgid "Flow Dynamics" +msgstr "ไดนามิกการไหล" + +msgid "Max Volumetric Speed" +msgstr "ความเร็วปริมาตรสูงสุด" + +#, possible-c-format, possible-boost-format +msgid "" +"Please input valid values:\n" +"Start value: >= %.1f\n" +"End value: <= %.1f\n" +"End value: > Start value\n" +"Value step: >= %.3f" +msgstr "กรุณากรอกค่าที่ถูกต้อง:\nค่าเริ่มต้น: >= %.1f\nค่าสิ้นสุด: <= %.1f\nมูลค่าสิ้นสุด: > ค่าเริ่มต้น\nขั้นตอนมูลค่า: >= %.3f" + +msgid "The name cannot be empty." +msgstr "ชื่อไม่สามารถเว้นว่างได้" + +#, possible-c-format, possible-boost-format +msgid "The selected preset: %s was not found." +msgstr "ค่าที่ตั้งล่วงหน้าที่เลือก: ไม่พบ %s" + +msgid "The name cannot be the same as the system preset name." +msgstr "ชื่อต้องไม่เหมือนกับชื่อที่ตั้งไว้ล่วงหน้าของระบบ" + +msgid "The name is the same as another existing preset name" +msgstr "ชื่อเหมือนกับชื่อที่ตั้งไว้ล่วงหน้าอื่นที่มีอยู่" + +msgid "create new preset failed." +msgstr "สร้างค่าที่ตั้งล่วงหน้าใหม่ล้มเหลว" + +#, possible-c-format, possible-boost-format +msgid "Could not find parameter: %s." +msgstr "ไม่พบพารามิเตอร์: %s" + +msgid "" +"Are you sure to cancel the current calibration and return to the home page?" +msgstr "คุณแน่ใจหรือไม่ว่าจะยกเลิกการสอบเทียบปัจจุบันและกลับสู่หน้าแรก" + +msgid "No Printer Connected!" +msgstr "ยังไม่ได้เชื่อมต่อเครื่องพิมพ์!" + +msgid "Printer is not connected yet." +msgstr "ยังไม่ได้เชื่อมต่อเครื่องพิมพ์" + +msgid "Please select filament to calibrate." +msgstr "โปรดเลือกเส้นพลาสติกเพื่อปรับเทียบ" + +msgid "The input value size must be 3." +msgstr "ขนาดค่าอินพุตต้องเป็น 3" + +msgid "" +"This machine type can only hold 16 history results per nozzle. You can " +"delete the existing historical results and then start calibration. Or you " +"can continue the calibration, but you cannot create new calibration " +"historical results.\n" +"Do you still want to continue the calibration?" +msgstr "เครื่องประเภทนี้สามารถเก็บผลลัพธ์ประวัติได้ 16 รายการต่อหัวฉีดเท่านั้น คุณสามารถลบผลลัพธ์ในอดีตที่มีอยู่แล้วเริ่มการสอบเทียบได้ หรือคุณสามารถดำเนินการสอบเทียบต่อไปได้ แต่คุณไม่สามารถสร้างผลลัพธ์ในอดีตของการสอบเทียบใหม่ได้\nคุณยังต้องการทำการสอบเทียบต่อไปหรือไม่" + +#, possible-c-format, possible-boost-format +msgid "" +"Only one of the results with the same name: %s will be saved. Are you sure " +"you want to override the other results?" +msgstr "มีเพียงผลลัพธ์เดียวเท่านั้นที่มีชื่อเดียวกัน: %s จะถูกบันทึก คุณแน่ใจหรือไม่ว่าต้องการแทนที่ผลลัพธ์อื่นๆ" + +#, possible-c-format, possible-boost-format +msgid "" +"There is already a historical calibration result with the same name: %s. " +"Only one of the results with the same name is saved. Are you sure you want " +"to override the historical result?" +msgstr "มีผลการสอบเทียบในอดีตที่มีชื่อเดียวกันอยู่แล้ว: %s บันทึกผลลัพธ์ที่มีชื่อเดียวกันเพียงรายการเดียวเท่านั้น คุณแน่ใจหรือไม่ว่าต้องการแทนที่ผลลัพธ์ในอดีต" + +#, possible-c-format, possible-boost-format +msgid "" +"Within the same extruder, the name(%s) must be unique when the filament " +"type, nozzle diameter, and nozzle flow are the same.\n" +"Are you sure you want to override the historical result?" +msgstr "ภายในชุดดันเส้นเดียวกัน ชื่อ(%s) จะต้องไม่ซ้ำกันเมื่อประเภทเส้นพลาสติก เส้นผ่านศูนย์กลางของหัวฉีด และการไหลของหัวฉีดเหมือนกัน\nคุณแน่ใจหรือไม่ว่าต้องการแทนที่ผลลัพธ์ในอดีต" + +#, possible-c-format, possible-boost-format +msgid "" +"This machine type can only hold %d history results per nozzle. This result " +"will not be saved." +msgstr "ประเภทเครื่องนี้สามารถเก็บผลลัพธ์ประวัติได้เพียง %d รายการต่อหัวฉีด ผลลัพธ์นี้จะไม่ถูกบันทึก" + +msgid "Connecting to printer..." +msgstr "กำลังเชื่อมต่อกับเครื่องพิมพ์..." + +msgid "The failed test result has been dropped." +msgstr "ผลการทดสอบที่ล้มเหลวถูกยกเลิก" + +msgid "Flow Dynamics Calibration result has been saved to the printer." +msgstr "ผลการสอบเทียบ Flow Dynamics ได้รับการบันทึกลงในเครื่องพิมพ์แล้ว" + +msgid "Internal Error" +msgstr "ข้อผิดพลาดภายใน" + +msgid "Please select at least one filament for calibration" +msgstr "โปรดเลือกอย่างน้อยหนึ่งเส้นพลาสติกสำหรับการสอบเทียบ" + +msgid "Flow rate calibration result has been saved to preset." +msgstr "บันทึกผลการสอบเทียบอัตราการไหลไปยังค่าที่ตั้งไว้ล่วงหน้าแล้ว" + +msgid "Max volumetric speed calibration result has been saved to preset." +msgstr "บันทึกผลการสอบเทียบความเร็วตามปริมาตรสูงสุดไว้ในการตั้งค่าล่วงหน้าแล้ว" + +msgid "When do you need Flow Dynamics Calibration" +msgstr "เมื่อใดที่คุณต้องการ Flow Dynamics Calibration" + +msgid "" +"We now have added the auto-calibration for different filaments, which is " +"fully automated and the result will be saved into the printer for future " +"use. You only need to do the calibration in the following limited cases:\n" +"1. If you introduce a new filament of different brands/models or the " +"filament is damp;\n" +"2. If the nozzle is worn out or replaced with a new one;\n" +"3. If the max volumetric speed or print temperature is changed in the " +"filament setting." +msgstr "ตอนนี้เราได้เพิ่มการปรับเทียบอัตโนมัติสำหรับเส้นพลาสติกต่างๆ ซึ่งเป็นระบบอัตโนมัติเต็มรูปแบบ และผลลัพธ์จะถูกบันทึกไว้ในเครื่องพิมพ์เพื่อใช้ในอนาคต คุณจะต้องทำการสอบเทียบเฉพาะในกรณีที่จำกัดต่อไปนี้เท่านั้น:\n1. หากคุณแนะนำเส้นพลาสติกใหม่ของยี่ห้อ/รุ่นที่แตกต่างกัน หรือเส้นพลาสติกชื้น\n2. หากหัวฉีดชำรุดหรือเปลี่ยนหัวฉีดใหม่\n3. หากความเร็วปริมาตรสูงสุดหรืออุณหภูมิการพิมพ์เปลี่ยนแปลงในการตั้งค่าเส้นพลาสติก" + +msgid "About this calibration" +msgstr "เกี่ยวกับการสอบเทียบนี้" + +msgid "" +"Please find the details of Flow Dynamics Calibration from our wiki.\n" +"\n" +"Usually the calibration is unnecessary. When you start a single color/" +"material print, with the \"flow dynamics calibration\" option checked in the " +"print start menu, the printer will follow the old way, calibrate the " +"filament before the print; When you start a multi color/material print, the " +"printer will use the default compensation parameter for the filament during " +"every filament switch which will have a good result in most cases.\n" +"\n" +"Please note that there are a few cases that can make the calibration results " +"unreliable, such as insufficient adhesion on the build plate. Improving " +"adhesion can be achieved by washing the build plate or applying glue. For " +"more information on this topic, please refer to our Wiki.\n" +"\n" +"The calibration results have about 10 percent jitter in our test, which may " +"cause the result not exactly the same in each calibration. We are still " +"investigating the root cause to do improvements with new updates." +msgstr "โปรดดูรายละเอียดของ Flow Dynamics Calibration จากวิกิของเรา\n\nโดยปกติแล้วการปรับเทียบจะไม่จำเป็น เมื่อคุณเริ่มพิมพ์สี/วัสดุเดียว โดยเลือกตัวเลือก \"flow dynamics calibration\" ในเมนูเริ่มการพิมพ์ เครื่องพิมพ์จะปฏิบัติตามวิธีเก่า ปรับเทียบเส้นพลาสติกก่อนพิมพ์ เมื่อคุณเริ่มการพิมพ์หลายสี/วัสดุ เครื่องพิมพ์จะใช้พารามิเตอร์การชดเชยเริ่มต้นสำหรับเส้นพลาสติกในระหว่างการเปลี่ยนเส้นพลาสติกทุกครั้ง ซึ่งจะให้ผลลัพธ์ที่ดีในกรณีส่วนใหญ่\n\nโปรดทราบว่ามีบางกรณีที่อาจทำให้ผลการสอบเทียบไม่น่าเชื่อถือ เช่น การยึดเกาะบนฐานรองพิมพ์ไม่เพียงพอ การปรับปรุงการยึดเกาะสามารถทำได้โดยการล้างแผ่นฐานรองพิมพ์หรือใช้กาว สำหรับข้อมูลเพิ่มไส้ในเกี่ยวกับหัวข้อนี้ โปรดดูที่ Wiki ของเรา\n\nผลการสอบเทียบมีความกระวนกระวายใจประมาณ 10 เปอร์เซ็นต์ในการทดสอบของเรา ซึ่งอาจทำให้ผลลัพธ์ไม่เหมือนกันทุกประการในการสอบเทียบแต่ละครั้ง เรายังคงตรวจสอบสาเหตุที่แท้จริงเพื่อทำการปรับปรุงด้วยการอัปเดตใหม่" + +msgid "When to use Flow Rate Calibration" +msgstr "เมื่อใดจึงจะใช้การปรับเทียบอัตราการไหล" + +msgid "" +"After using Flow Dynamics Calibration, there might still be some extrusion " +"issues, such as:\n" +"1. Over-Extrusion: Excess material on your printed object, forming blobs or " +"zits, or the layers seem thicker than expected and not uniform\n" +"2. Under-Extrusion: Very thin layers, weak infill strength, or gaps in the " +"top layer of the model, even when printing slowly\n" +"3. Poor Surface Quality: The surface of your prints seems rough or uneven\n" +"4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as " +"they should be" +msgstr "หลังจากใช้ Flow Dynamics Calibration แล้ว อาจยังมีปัญหาการอัดขึ้นรูปอยู่บ้าง เช่น:\n1. การอัดขึ้นรูปมากเกินไป: วัสดุส่วนเกินบนวัตถุที่พิมพ์ของคุณ ก่อตัวเป็นหยดหรือสิว หรือชั้นต่างๆ ดูหนากว่าที่คาดไว้และไม่สม่ำเสมอ\n2. Under-Extrusion: ชั้นที่บางมาก ความแข็งแรงในไส้ในที่อ่อนแอ หรือมีช่องว่างในชั้นบนสุดของแบบจำลอง แม้ว่าจะพิมพ์ช้าก็ตาม\n3. คุณภาพพื้นผิวไม่ดี: พื้นผิวงานพิมพ์ของคุณดูหยาบหรือไม่สม่ำเสมอ\n4. ความสมบูรณ์ของโครงสร้างที่อ่อนแอ: งานพิมพ์แตกหักง่ายหรือดูไม่แข็งแรงเท่าที่ควร" + +msgid "" +"In addition, Flow Rate Calibration is crucial for foaming materials like LW-" +"PLA used in RC planes. These materials expand greatly when heated, and " +"calibration provides a useful reference flow rate." +msgstr "นอกจากนี้ การสอบเทียบอัตราการไหลยังเป็นสิ่งสำคัญสำหรับวัสดุที่เกิดฟอง เช่น LW-PLA ที่ใช้ในเครื่องบิน RC วัสดุเหล่านี้จะขยายตัวอย่างมากเมื่อถูกความร้อน และการสอบเทียบจะให้อัตราการไหลอ้างอิงที่เป็นประโยชน์" + +msgid "" +"Flow Rate Calibration measures the ratio of expected to actual extrusion " +"volumes. The default setting works well in Bambu Lab printers and official " +"filaments as they were pre-calibrated and fine-tuned. For a regular " +"filament, you usually won't need to perform a Flow Rate Calibration unless " +"you still see the listed defects after you have done other calibrations. For " +"more details, please check out the wiki article." +msgstr "การสอบเทียบอัตราการไหลจะวัดอัตราส่วนของปริมาณที่คาดหวังต่อปริมาณการอัดขึ้นรูปจริง การตั้งค่าเริ่มต้นทำงานได้ดีในเครื่องพิมพ์ Bambu Lab และเส้นพลาสติกอย่างเป็นทางการ เนื่องจากมีการสอบเทียบล่วงหน้าและปรับแต่งอย่างละเอียด สำหรับเส้นพลาสติกทั่วไป โดยปกติแล้วคุณไม่จำเป็นต้องทำการสอบเทียบอัตราการไหล เว้นแต่คุณยังคงเห็นข้อบกพร่องที่ระบุไว้หลังจากคุณทำการสอบเทียบอื่นๆ แล้ว สำหรับรายละเอียดเพิ่มไส้ใน โปรดดูบทความวิกิ" + +msgid "" +"Auto Flow Rate Calibration utilizes Bambu Lab's Micro-Lidar technology, " +"directly measuring the calibration patterns. However, please be advised that " +"the efficacy and accuracy of this method may be compromised with specific " +"types of materials. Particularly, filaments that are transparent or semi-" +"transparent, sparkling-particled, or have a high-reflective finish may not " +"be suitable for this calibration and can produce less-than-desirable " +"results.\n" +"\n" +"The calibration results may vary between each calibration or filament. We " +"are still improving the accuracy and compatibility of this calibration " +"through firmware updates over time.\n" +"\n" +"Caution: Flow Rate Calibration is an advanced process, to be attempted only " +"by those who fully understand its purpose and implications. Incorrect usage " +"can lead to sub-par prints or printer damage. Please make sure to carefully " +"read and understand the process before doing it." +msgstr "การสอบเทียบอัตราการไหลอัตโนมัติใช้เทคโนโลยี Micro-Lidar ของ Bambu Lab ซึ่งวัดรูปแบบการสอบเทียบโดยตรง อย่างไรก็ตาม โปรดทราบว่าประสิทธิภาพและความแม่นยำของวิธีการนี้อาจลดลงกับวัสดุบางประเภท โดยเฉพาะอย่างยิ่ง เส้นพลาสติกที่โปร่งใสหรือกึ่งโปร่งใส มีอนุภาคเป็นประกาย หรือมีพื้นผิวที่มีการสะท้อนแสงสูง อาจไม่เหมาะสำหรับการสอบเทียบนี้ และให้ผลลัพธ์ที่ได้น้อยกว่าที่ต้องการ\n\nผลการสอบเทียบอาจแตกต่างกันไปในแต่ละการสอบเทียบหรือเส้นพลาสติก เรายังคงปรับปรุงความแม่นยำและความเข้ากันได้ของการสอบเทียบนี้ผ่านการอัพเดตเฟิร์มแวร์เมื่อเวลาผ่านไป\n\nข้อควรระวัง: การสอบเทียบอัตราการไหลเป็นกระบวนการขั้นสูงที่จะดำเนินการได้เฉพาะผู้ที่เข้าใจวัตถุประสงค์และความหมายของกระบวนการเท่านั้น การใช้งานที่ไม่ถูกต้องอาจทำให้งานพิมพ์ด้อยคุณภาพหรือเครื่องพิมพ์เสียหายได้ โปรดอ่านและทำความเข้าใจกระบวนการอย่างละเอียดก่อนดำเนินการ" + +msgid "When you need Max Volumetric Speed Calibration" +msgstr "เมื่อคุณต้องการการสอบเทียบความเร็วตามปริมาตรสูงสุด" + +msgid "Over-extrusion or under extrusion" +msgstr "การอัดขึ้นรูปมากเกินไปหรือภายใต้การอัดขึ้นรูป" + +msgid "Max Volumetric Speed calibration is recommended when you print with:" +msgstr "แนะนำให้ใช้การปรับเทียบความเร็วตามปริมาตรสูงสุดเมื่อคุณพิมพ์ด้วย:" + +msgid "material with significant thermal shrinkage/expansion, such as..." +msgstr "วัสดุที่มีการหดตัว/การขยายตัวเนื่องจากความร้อนอย่างมีนัยสำคัญ เช่น..." + +msgid "materials with inaccurate filament diameter" +msgstr "วัสดุที่มีเส้นผ่านศูนย์กลางเส้นพลาสติกไม่ถูกต้อง" + +msgid "We found the best Flow Dynamics Calibration Factor" +msgstr "เราพบปัจจัยการปรับเทียบ Flow Dynamics ที่ดีที่สุด" + +msgid "" +"Part of the calibration failed! You may clean the plate and retry. The " +"failed test result would be dropped." +msgstr "การสอบเทียบบางส่วนล้มเหลว! คุณสามารถทำความสะอาดจานแล้วลองอีกครั้ง ผลการทดสอบที่ล้มเหลวจะถูกยกเลิก" + +msgid "" +"*We recommend you to add brand, materia, type, and even humidity level in " +"the Name" +msgstr "*เราขอแนะนำให้คุณเพิ่มแบรนด์ วัสดุ ประเภท และแม้แต่ระดับความชื้นในชื่อ" + +msgid "Please enter the name you want to save to printer." +msgstr "กรุณากรอกชื่อที่คุณต้องการบันทึกลงในเครื่องพิมพ์" + +msgid "The name cannot exceed 40 characters." +msgstr "ชื่อต้องมีความยาวไม่เกิน 40 ตัวอักษร" + +msgid "Please find the best line on your plate" +msgstr "โปรดค้นหาเส้นที่ดีที่สุดบนจานของคุณ" + +msgid "Please find the corner with the perfect degree of extrusion" +msgstr "โปรดค้นหามุมที่มีการอัดขึ้นรูปที่สมบูรณ์แบบ" + +msgid "Input Value" +msgstr "ค่าอินพุต" + +msgid "Save to Filament Preset" +msgstr "บันทึกไปยัง เส้นพลาสติก Preset" + +msgid "Record Factor" +msgstr "ปัจจัยการบันทึก" + +msgid "We found the best flow ratio for you" +msgstr "เราพบอัตราส่วนการไหลที่ดีที่สุดสำหรับคุณ" + +msgid "Flow Ratio" +msgstr "อัตราส่วนการไหล" + +msgid "Please input a valid value (0.0 < flow ratio < 2.0)" +msgstr "โปรดป้อนค่าที่ถูกต้อง (0.0 < อัตราการไหล < 2.0)" + +msgid "Please enter the name of the preset you want to save." +msgstr "กรุณากรอกชื่อพรีเซ็ตที่คุณต้องการบันทึก" + +msgid "Calibration1" +msgstr "การสอบเทียบ1" + +msgid "Calibration2" +msgstr "การสอบเทียบ2" + +msgid "Please find the best object on your plate" +msgstr "โปรดค้นหาวัตถุที่ดีที่สุดบนจานของคุณ" + +msgid "Fill in the value above the block with smoothest top surface" +msgstr "ไส้ในค่าเหนือบล็อกด้วยพื้นผิวด้านบนเรียบที่สุด" + +msgid "Skip Calibration2" +msgstr "ข้ามการปรับเทียบ2" + +#, possible-c-format, possible-boost-format +msgid "flow ratio : %s " +msgstr "อัตราการไหล : %s" + +msgid "Please choose a block with smoothest top surface." +msgstr "โปรดเลือกบล็อกที่มีพื้นผิวด้านบนเรียบที่สุด" + +msgid "Please input a valid value (0 <= Max Volumetric Speed <= 60)" +msgstr "โปรดป้อนค่าที่ถูกต้อง (0 <= ความเร็วปริมาตรสูงสุด <= 60)" + +msgid "Calibration Type" +msgstr "ประเภทการสอบเทียบ" + +msgid "Complete Calibration" +msgstr "การสอบเทียบเสร็จสมบูรณ์" + +msgid "Fine Calibration based on flow ratio" +msgstr "การสอบเทียบแบบละเอียดตามอัตราส่วนการไหล" + +msgid "Title" +msgstr "ชื่อเรื่อง" + +msgid "" +"A test model will be printed. Please clear the build plate and place it back " +"to the hot bed before calibration." +msgstr "แบบจำลองทดสอบจะถูกพิมพ์ โปรดเคลียร์เพลตฐานพิมพ์และวางกลับไว้บนฐานพิมพ์ร้อนก่อนทำการสอบเทียบ" + +msgid "Printing Parameters" +msgstr "พารามิเตอร์การพิมพ์" + +msgid "- ℃" +msgstr "- ℃" + +msgid "Synchronize nozzle and AMS information" +msgstr "ประสานข้อมูลหัวฉีดและ AMS" + +msgid "Please connect the printer first before synchronizing." +msgstr "โปรดเชื่อมต่อเครื่องพิมพ์ก่อนที่จะซิงโครไนซ์" + +#, possible-c-format, possible-boost-format +msgid "" +"Printer %s nozzle information has not been set. Please configure it before " +"proceeding with the calibration." +msgstr "ข้อมูลหัวฉีดของเครื่องพิมพ์ %s ไม่ได้ถูกตั้งค่า โปรดกำหนดค่าก่อนดำเนินการสอบเทียบต่อ" + +msgid "AMS and nozzle information are synced" +msgstr "ข้อมูล AMS และหัวฉีดจะซิงค์กัน" + +msgid "Nozzle Flow" +msgstr "การไหลของหัวฉีด" + +msgid "Nozzle Info" +msgstr "ข้อมูลหัวฉีด" + +msgid "Plate Type" +msgstr "ชนิดฐานพิมพ์" + +msgid "Filament position" +msgstr "ตำแหน่งเส้นพลาสติก" + +msgid "Filament For Calibration" +msgstr "เส้นพลาสติกสำหรับการสอบเทียบ" + +msgid "" +"Tips for calibration material:\n" +"- Materials that can share same hot bed temperature\n" +"- Different filament brand and family (Brand = Bambu, Family = Basic, Matte)" +msgstr "คำแนะนำในการสอบเทียบวัสดุ:\n- วัสดุที่สามารถใช้อุณหภูมิฐานพิมพ์ร้อนร่วมกันได้\n- เส้นพลาสติกแต่ละยี่ห้อและตระกูลต่างๆ (ยี่ห้อ = Bambu, Family = Basic, Matte)" + +msgid "Pattern" +msgstr "ลวดลาย" + +msgid "Method" +msgstr "วิธี" + +#, possible-c-format, possible-boost-format +msgid "%s is not compatible with %s" +msgstr "%s เข้ากันไม่ได้กับ %s" + +msgid "TPU is not supported for Flow Dynamics Auto-Calibration." +msgstr "ไม่รองรับ TPU สำหรับการปรับเทียบอัตโนมัติของ Flow Dynamics" + +msgid "" +"Selected nozzle temperatures are incompatible. For multi-material printing, " +"each filament's nozzle temperature must be within the recommended nozzle " +"temperature range of the other filaments. Otherwise, nozzle clogging or " +"printer damage may occur." +msgstr "อุณหภูมิหัวฉีดที่เลือกเข้ากันไม่ได้ สำหรับการพิมพ์หลายวัสดุ อุณหภูมิหัวฉีดของเส้นพลาสติกแต่ละเส้นจะต้องอยู่ในช่วงอุณหภูมิหัวฉีดที่แนะนำของเส้นพลาสติกอื่นๆ มิฉะนั้นอาจเกิดการอุดตันของหัวฉีดหรือเครื่องพิมพ์เสียหายได้" + +msgid "Sync AMS and nozzle information" +msgstr "ซิงค์ข้อมูล AMS และหัวฉีด" + +msgid "" +"Calibration only supports cases where the left and right nozzle diameters " +"are identical." +msgstr "การสอบเทียบรองรับเฉพาะกรณีที่เส้นผ่านศูนย์กลางหัวฉีดซ้ายและขวาเท่ากัน" + +msgid "From k Value" +msgstr "จากค่า k" + +msgid "To k Value" +msgstr "ถึงค่าเค" + +msgid "Step value" +msgstr "ค่าขั้นตอน" + +msgid "The nozzle diameter has been synchronized from the printer Settings" +msgstr "เส้นผ่านศูนย์กลางของหัวฉีดได้รับการซิงโครไนซ์จากการตั้งค่าเครื่องพิมพ์" + +msgid "From Volumetric Speed" +msgstr "จากความเร็วตามปริมาตร" + +msgid "To Volumetric Speed" +msgstr "สู่ความเร็วเชิงปริมาตร" + +msgid "Are you sure you want to cancel this print?" +msgstr "คุณแน่ใจหรือไม่ว่าต้องการยกเลิกงานพิมพ์นี้" + +msgid "Flow Dynamics Calibration Result" +msgstr "ผลการสอบเทียบโฟลว์ไดนามิกส์" + +msgid "New" +msgstr "ใหม่" + +msgid "No History Result" +msgstr "ไม่มีผลลัพธ์ประวัติ" + +msgid "Success to get history result" +msgstr "ประสบความสำเร็จในการรับผลประวัติ" + +msgid "Refreshing the historical Flow Dynamics Calibration records" +msgstr "การรีเฟรชบันทึกการปรับเทียบ Flow Dynamics ในอดีต" + +msgid "Action" +msgstr "การทำงาน" + +#, possible-c-format, possible-boost-format +msgid "This machine type can only hold %d history results per nozzle." +msgstr "ประเภทเครื่องนี้สามารถเก็บผลลัพธ์ประวัติได้เพียง %d รายการต่อหัวฉีด" + +msgid "Edit Flow Dynamics Calibration" +msgstr "แก้ไขปรับเทียบไดนามิกการไหล" + +#, possible-c-format, possible-boost-format +msgid "" +"Within the same extruder, the name '%s' must be unique when the filament " +"type, nozzle diameter, and nozzle flow are identical. Please choose a " +"different name." +msgstr "ภายในชุดดันเส้นเดียวกัน ชื่อ '%s' จะต้องไม่ซ้ำกันเมื่อประเภทเส้นพลาสติก เส้นผ่านศูนย์กลางของหัวฉีด และการไหลของหัวฉีดเหมือนกัน โปรดเลือกชื่ออื่น" + +msgid "New Flow Dynamic Calibration" +msgstr "การสอบเทียบแบบไดนามิกของ Flow ใหม่" + +msgid "The filament must be selected." +msgstr "ต้องเลือกเส้นพลาสติก" + +msgid "The extruder must be selected." +msgstr "ต้องเลือกชุดดันเส้น" + +msgid "The nozzle must be selected." +msgstr "ต้องเลือกหัวฉีด" + +msgid "Network lookup" +msgstr "การค้นหาเครือข่าย" + +msgid "Address" +msgstr "ที่อยู่" + +msgid "Hostname" +msgstr "ชื่อโฮสต์" + +msgid "Service name" +msgstr "ชื่อบริการ" + +msgid "OctoPrint version" +msgstr "เวอร์ชัน OctoPrint" + +msgid "Searching for devices" +msgstr "กำลังค้นหาอุปกรณ์" + +msgid "Finished" +msgstr "ที่เสร็จเรียบร้อย" + +msgid "Multiple resolved IP addresses" +msgstr "ที่อยู่ IP ที่ได้รับการแก้ปัญหาหลายรายการ" + +#, possible-boost-format +msgid "" +"There are several IP addresses resolving to hostname %1%.\n" +"Please select one that should be used." +msgstr "มีที่อยู่ IP หลายแห่งที่ใช้ชื่อโฮสต์ %1%\nโปรดเลือกอันที่ควรใช้" + +msgid "PA Calibration" +msgstr "ปรับเทียบ PA" + +msgid "Extruder type" +msgstr "ประเภทชุดดันเส้น" + +msgid "DDE" +msgstr "ดีดีอี" + +msgid "PA Tower" +msgstr "พีเอ ทาวเวอร์" + +msgid "PA Line" +msgstr "สายพีเอ" + +msgid "PA Pattern" +msgstr "รูปแบบ PA" + +msgid "Start PA: " +msgstr "เริ่ม PA:" + +msgid "End PA: " +msgstr "สิ้นสุด PA:" + +msgid "PA step: " +msgstr "ขั้นตอน PA:" + +msgid "Accelerations: " +msgstr "การเร่งความเร็ว:" + +msgid "Speeds: " +msgstr "ความเร็ว:" + +msgid "Print numbers" +msgstr "พิมพ์ตัวเลข" + +msgid "Comma-separated list of printing accelerations" +msgstr "รายการความเร่งในการพิมพ์ที่คั่นด้วยเครื่องหมายจุลภาค" + +msgid "Comma-separated list of printing speeds" +msgstr "รายการความเร็วในการพิมพ์ที่คั่นด้วยเครื่องหมายจุลภาค" + +msgid "" +"Please input valid values:\n" +"Start PA: >= 0.0\n" +"End PA: > Start PA\n" +"PA step: >= 0.001" +msgstr "กรุณากรอกค่าที่ถูกต้อง:\nเริ่มต้น PA: >= 0.0\nสิ้นสุด PA: > เริ่ม PA\nขั้นตอน PA: >= 0.001" + +msgid "" +"Acceleration values must be greater than speed values.\n" +"Please verify the inputs." +msgstr "ค่าความเร่งต้องมากกว่าค่าความเร็ว\nโปรดตรวจสอบอินพุต" + +msgid "Temperature calibration" +msgstr "การปรับเทียบอุณหภูมิ" + +msgid "Filament type" +msgstr "ชนิดเส้นพลาสติก" + +msgid "PLA" +msgstr "ปลา" + +msgid "ABS/ASA" +msgstr "เอบีเอส/เอเอสเอ" + +msgid "PETG" +msgstr "PETG" + +msgid "PCTG" +msgstr "พีซีทีจี" + +msgid "TPU" +msgstr "ทีพียู" + +msgid "PA-CF" +msgstr "PA-CF" + +msgid "PET-CF" +msgstr "PET-CF" + +msgid "Start temp: " +msgstr "อุณหภูมิเริ่มต้น:" + +msgid "End temp: " +msgstr "อุณหภูมิสิ้นสุด:" + +msgid "Temp step: " +msgstr "ขั้นตอนชั่วคราว:" + +msgid "" +"Please input valid values:\n" +"Start temp: <= 500\n" +"End temp: >= 155\n" +"Start temp >= End temp + 5" +msgstr "กรุณากรอกค่าที่ถูกต้อง:\nอุณหภูมิเริ่มต้น: <= 500\nอุณหภูมิสิ้นสุด: >= 155\nอุณหภูมิเริ่มต้น >= อุณหภูมิสิ้นสุด + 5" + +msgid "Max volumetric speed test" +msgstr "การทดสอบความเร็วปริมาตรสูงสุด" + +msgid "Start volumetric speed: " +msgstr "เริ่มต้นความเร็วตามปริมาตร:" + +msgid "End volumetric speed: " +msgstr "ความเร็วสิ้นสุดตามปริมาตร:" + +msgid "" +"Please input valid values:\n" +"start > 0\n" +"step >= 0\n" +"end > start + step" +msgstr "กรุณากรอกค่าที่ถูกต้อง:\nเริ่มต้น > 0\nขั้นตอน >= 0\nสิ้นสุด> เริ่มต้น + ขั้นตอน" + +msgid "VFA test" +msgstr "การทดสอบวีเอฟเอ" + +msgid "Start speed: " +msgstr "ความเร็วเริ่มต้น:" + +msgid "End speed: " +msgstr "ความเร็วสิ้นสุด:" + +msgid "" +"Please input valid values:\n" +"start > 10\n" +"step >= 0\n" +"end > start + step" +msgstr "กรุณากรอกค่าที่ถูกต้อง:\nเริ่มต้น > 10\nขั้นตอน >= 0\nสิ้นสุด> เริ่มต้น + ขั้นตอน" + +msgid "Start retraction length: " +msgstr "เริ่มต้นความยาวการดึงกลับ:" + +msgid "End retraction length: " +msgstr "ความยาวการดึงกลับสุดท้าย:" + +msgid "Input shaping Frequency test" +msgstr "การทดสอบความถี่การสร้างอินพุต" + +msgid "Test model" +msgstr "แบบทดสอบ" + +msgid "Ringing Tower" +msgstr "ริงกิ้งทาวเวอร์" + +msgid "Fast Tower" +msgstr "ฟาสท์ ทาวเวอร์" + +msgid "" +"Please ensure the selected type is compatible with your firmware version." +msgstr "โปรดตรวจสอบให้แน่ใจว่าประเภทที่เลือกเข้ากันได้กับเวอร์ชันเฟิร์มแวร์ของคุณ" + +msgid "" +"Marlin version => 2.1.2\n" +"Fixed-Time motion not yet implemented." +msgstr "เวอร์ชันมาร์ลิน => 2.1.2\nยังไม่มีการใช้การเคลื่อนไหวแบบกำหนดเวลา" + +msgid "Klipper version => 0.9.0" +msgstr "คลิปเปอร์เวอร์ชัน => 0.9.0" + +msgid "" +"RepRap firmware version => 3.4.0\n" +"Check your firmware documentation for supported shaper types." +msgstr "เฟิร์มแวร์ RepRap เวอร์ชัน => 3.4.0\nตรวจสอบเอกสารประกอบเฟิร์มแวร์ของคุณสำหรับประเภทเชปเปอร์ที่รองรับ" + +msgid "Frequency (Start / End): " +msgstr "ความถี่ (เริ่ม / สิ้นสุด):" + +msgid "Start / End" +msgstr "เริ่ม / สิ้นสุด" + +msgid "Frequency settings" +msgstr "การตั้งค่าความถี่" + +msgid "Hz" +msgstr "Hz" + +msgid "RepRap firmware uses the same frequency range for both axes." +msgstr "เฟิร์มแวร์ RepRap ใช้ช่วงความถี่เดียวกันสำหรับทั้งสองแกน" + +msgid "Damp: " +msgstr "ชื้น:" + +msgid "" +"Recommended: Set Damp to 0.\n" +"This will use the printer's default or saved value." +msgstr "แนะนำ: ตั้งค่าความชื้นเป็น 0\nซึ่งจะใช้ค่าเริ่มต้นหรือค่าที่บันทึกไว้ของเครื่องพิมพ์" + +msgid "" +"Please input valid values:\n" +"(0 < FreqStart < FreqEnd < 500)" +msgstr "กรุณากรอกค่าที่ถูกต้อง:\n(0 < ความถี่เริ่มต้น < ความถี่สิ้นสุด < 500)" + +msgid "Please input a valid damping factor (0 < Damping/zeta factor <= 1)" +msgstr "โปรดป้อนปัจจัยการหน่วงที่ถูกต้อง (0 < ปัจจัยการหน่วง/ซีต้า <= 1)" + +msgid "Input shaping Damp test" +msgstr "การทดสอบการสร้างรูปร่างอินพุต" + +msgid "Check firmware compatibility." +msgstr "ตรวจสอบความเข้ากันได้ของเฟิร์มแวร์" + +msgid "Frequency: " +msgstr "ความถี่:" + +msgid "Damp" +msgstr "ชื้น" + +msgid "RepRap firmware uses the same frequency for both axes." +msgstr "เฟิร์มแวร์ RepRap ใช้ความถี่เดียวกันสำหรับทั้งสองแกน" + +msgid "Note: Use previously calculated frequencies." +msgstr "หมายเหตุ: ใช้ความถี่ที่คำนวณไว้ก่อนหน้านี้" + +msgid "" +"Please input valid values:\n" +"(0 < Freq < 500)" +msgstr "กรุณากรอกค่าที่ถูกต้อง:\n(0 < ความถี่ < 500)" + +msgid "" +"Please input a valid damping factor (0 <= DampingStart < DampingEnd <= 1)" +msgstr "โปรดป้อนปัจจัยการหน่วงที่ถูกต้อง (0 <= DampingStart < DampingEnd <= 1)" + +msgid "Cornering test" +msgstr "การทดสอบการเข้าโค้ง" + +msgid "SCV-V2" +msgstr "SCV-V2" + +msgid "Start: " +msgstr "เริ่ม:" + +msgid "End: " +msgstr "จบ:" + +msgid "Cornering settings" +msgstr "การตั้งค่าการเข้าโค้ง" + +msgid "Note: Lower values = sharper corners but slower speeds." +msgstr "หมายเหตุ: ค่าที่ต่ำกว่า = มุมที่คมชัดขึ้นแต่ความเร็วที่ช้าลง" + +msgid "" +"Marlin 2 Junction Deviation detected:\n" +"To test Classic Jerk, set 'Maximum Junction Deviation' in Motion ability to " +"0." +msgstr "ตรวจพบส่วนเบี่ยงเบนทางแยก Marlin 2:\nหากต้องการทดสอบ Classic Jerk ให้ตั้งค่า 'Maximum Junction Deviation' ในความสามารถในการเคลื่อนไหวเป็น 0" + +msgid "" +"Marlin 2 Classic Jerk detected:\n" +"To test Junction Deviation, set 'Maximum Junction Deviation' in Motion " +"ability to a value > 0." +msgstr "ตรวจพบ Marlin 2 Classic Jerk:\nในการทดสอบค่าเบี่ยงเบนของทางแยก ให้ตั้งค่า 'ค่าเบี่ยงเบนทางแยกสูงสุด' ในความสามารถในการเคลื่อนที่เป็นค่า > 0" + +msgid "" +"RepRap detected: Jerk in mm/s.\n" +"OrcaSlicer will convert the values to mm/min when necessary." +msgstr "ตรวจพบ RepRap: การกระตุกในหน่วย mm/s\nOrcaSlicer จะแปลงค่าเป็น mm/min เมื่อจำเป็น" + +#, possible-c-format, possible-boost-format +msgid "" +"Please input valid values:\n" +"(0 <= Cornering <= %s)" +msgstr "กรุณากรอกค่าที่ถูกต้อง:\n(0 <= การเข้าโค้ง <= %s)" + +#, possible-c-format, possible-boost-format +msgid "NOTE: High values may cause Layer shift (>%s)" +msgstr "หมายเหตุ: ค่าที่สูงอาจทำให้เกิดการเลื่อนเลเยอร์ (>%s)" + +msgid "Flow Ratio Calibration" +msgstr "การปรับเทียบอัตราส่วนการไหล" + +msgid "Calibration Test Type" +msgstr "ประเภทการทดสอบการสอบเทียบ" + +msgid "Pass 1 (Coarse)" +msgstr "ผ่าน 1 (หยาบ)" + +msgid "Pass 2 (Fine)" +msgstr "ผ่าน 2 (ดี)" + +msgid "YOLO (Recommended)" +msgstr "โยโล (แนะนำ)" + +msgid "YOLO (Perfectionist)" +msgstr "YOLO (ผู้สมบูรณ์แบบ)" + +msgid "Top Surface Pattern" +msgstr "รูปแบบพื้นผิวด้านบน" + +msgid "Send G-code to printer host" +msgstr "ส่ง G-code ไปยังโฮสต์เครื่องพิมพ์" + +msgid "Upload to Printer Host with the following filename:" +msgstr "อัปโหลดไปยังโฮสต์เครื่องพิมพ์ด้วยชื่อไฟล์ต่อไปนี้:" + +msgid "Use forward slashes ( / ) as a directory separator if needed." +msgstr "ใช้เครื่องหมายทับ ( / ) เป็นตัวคั่นไดเรกทอรีหากจำเป็น" + +msgid "Upload to storage" +msgstr "อัปโหลดไปยังที่เก็บข้อมูล" + +msgid "Switch to Device tab after upload." +msgstr "สลับไปที่แท็บอุปกรณ์หลังจากอัปโหลด" + +#, possible-c-format, possible-boost-format +msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" +msgstr "ชื่อไฟล์อัพโหลดไม่ได้ลงท้ายด้วย \"%s\" คุณต้องการดำเนินการต่อหรือไม่?" + +msgid "Upload" +msgstr "อัปโหลด" + +msgid "Print host upload queue" +msgstr "คิวการอัพโหลดโฮสต์การพิมพ์" + +msgid "ID" +msgstr "บัตรประจำตัวประชาชน" + +msgid "Progress" +msgstr "ความคืบหน้า" + +msgid "Host" +msgstr "เจ้าภาพ" +msgctxt "OfFile" + +msgid "Size" +msgstr "ขนาด" + +msgid "Filename" +msgstr "ชื่อไฟล์" + +msgid "Cancel selected" +msgstr "ยกเลิกการเลือก" + +msgid "Show error message" +msgstr "แสดงข้อความแสดงข้อผิดพลาด" + +msgid "Queued" +msgstr "เข้าคิว" + +msgid "Uploading" +msgstr "กำลังอัปโหลด" + +msgid "Canceling" +msgstr "กำลังยกเลิก" + +msgid "Error uploading to print host" +msgstr "เกิดข้อผิดพลาดในการอัปโหลดไปยังโฮสต์การพิมพ์" + +msgid "" +"The selected bed type does not match the file. Please confirm before " +"starting the print." +msgstr "ประเภทฐานพิมพ์ที่เลือกไม่ตรงกับไฟล์ โปรดยืนยันก่อนเริ่มพิมพ์" + +msgid "Time-lapse" +msgstr "ไทม์แลปส์" + +msgid "Heated Bed Leveling" +msgstr "การปรับระดับฐานพิมพ์อุ่น" + +msgid "Textured Build Plate (Side A)" +msgstr "ฐานพิมพ์พื้นผิว (ด้าน A)" + +msgid "Smooth Build Plate (Side B)" +msgstr "แผ่นเรียบ (ด้าน B)" + +msgid "Unable to perform boolean operation on selected parts" +msgstr "ไม่สามารถดำเนินการบูลีนกับส่วนที่เลือกได้" + +msgid "Mesh Boolean" +msgstr "บูลีนแบบตาข่าย" + +msgid "Union" +msgstr "ยูเนี่ยน" + +msgid "Difference" +msgstr "ความแตกต่าง" + +msgid "Intersection" +msgstr "จุดตัด" + +msgid "Source Volume" +msgstr "ปริมาณแหล่งที่มา" + +msgid "Tool Volume" +msgstr "ปริมาณเครื่องมือ" + +msgid "Subtract from" +msgstr "ลบออกจาก" + +msgid "Subtract with" +msgstr "ลบด้วย" + +msgid "selected" +msgstr "เลือกแล้ว" + +msgid "Part 1" +msgstr "ส่วนที่ 1" + +msgid "Part 2" +msgstr "ส่วนที่ 2" + +msgid "Delete input" +msgstr "ลบอินพุต" + +msgid "Network Test" +msgstr "ทดสอบเครือข่าย" + +msgid "Start Test Multi-Thread" +msgstr "เริ่มการทดสอบแบบมัลติเธรด" + +msgid "Start Test Single-Thread" +msgstr "เริ่มทดสอบเธรดเดี่ยว" + +msgid "Export Log" +msgstr "บันทึกการส่งออก" + +msgid "OrcaSlicer Version:" +msgstr "เวอร์ชัน OrcaSlicer:" + +msgid "System Version:" +msgstr "เวอร์ชันของระบบ:" + +msgid "DNS Server:" +msgstr "เซิร์ฟเวอร์ DNS:" + +msgid "Test OrcaSlicer (GitHub)" +msgstr "ทดสอบ OrcaSlicer (GitHub)" + +msgid "Test OrcaSlicer (GitHub):" +msgstr "ทดสอบ OrcaSlicer (GitHub):" + +msgid "Test bing.com" +msgstr "ทดสอบ bing.com" + +msgid "Test bing.com:" +msgstr "ทดสอบ bing.com:" + +msgid "Log Info" +msgstr "ข้อมูลเข้าสู่ระบบ" + +msgid "Select filament preset" +msgstr "เลือกค่าฟิลาเมนต์ที่ตั้งไว้ล่วงหน้า" + +msgid "Create Filament" +msgstr "สร้างเส้นพลาสติก" + +msgid "Create Based on Current Filament" +msgstr "สร้างตามเส้นพลาสติกปัจจุบัน" + +msgid "Copy Current Filament Preset " +msgstr "คัดลอกค่าที่ตั้งไว้ล่วงหน้าของฟิลาเมนต์ปัจจุบัน" + +msgid "Basic Information" +msgstr "ข้อมูลพื้นฐาน" + +msgid "Add Filament Preset under this filament" +msgstr "เพิ่ม เส้นพลาสติก Preset ไว้ข้างใต้เส้นพลาสติกนี้" + +msgid "We could create the filament presets for your following printer:" +msgstr "เราสามารถสร้างค่าที่ตั้งล่วงหน้าของเส้นพลาสติกสำหรับเครื่องพิมพ์ต่อไปนี้ของคุณ:" + +msgid "Select Vendor" +msgstr "เลือกผู้จัดจำหน่าย" + +msgid "Input Custom Vendor" +msgstr "ป้อนผู้ขายที่กำหนดเอง" + +msgid "Can't find vendor I want" +msgstr "ไม่พบผู้ขายที่ฉันต้องการ" + +msgid "Select Type" +msgstr "เลือกชนิด" + +msgid "Select Filament Preset" +msgstr "เลือกพรีเซ็ตเส้นพลาสติก" + +msgid "Serial" +msgstr "อนุกรม" + +msgid "e.g. Basic, Matte, Silk, Marble" +msgstr "เช่น พื้นฐาน, เนื้อด้าน, ไหม, หินอ่อน" + +msgid "Filament Preset" +msgstr "พรีเซ็ตเส้นพลาสติก" + +msgid "Create" +msgstr "สร้าง" + +msgid "Vendor is not selected, please reselect vendor." +msgstr "ไม่ได้เลือกผู้ขาย โปรดเลือกผู้ขายอีกครั้ง" + +msgid "Custom vendor is missing, please input custom vendor." +msgstr "ผู้ขายที่กำหนดเองหายไป โปรดป้อนผู้ขายที่กำหนดเอง" + +msgid "" +"\"Bambu\" or \"Generic\" cannot be used as a Vendor for custom filaments." +msgstr "ไม่สามารถใช้ \"Bambu\" หรือ \"Generic\" เป็นผู้จำหน่ายเส้นพลาสติกสั่งทำพิเศษได้" + +msgid "Filament type is not selected, please reselect type." +msgstr "ไม่ได้เลือกประเภทเส้นพลาสติก โปรดเลือกประเภทอีกครั้ง" + +msgid "Filament serial is not entered, please enter serial." +msgstr "ไม่ได้ป้อนซีเรียลของฟิลาเมนต์ โปรดป้อนซีเรียล" + +msgid "" +"There may be escape characters in the vendor or serial input of filament. " +"Please delete and re-enter." +msgstr "อาจมีอักขระหลีกในผู้ขายหรืออินพุตแบบอนุกรมของเส้นพลาสติก กรุณาลบและป้อนใหม่" + +msgid "All inputs in the custom vendor or serial are spaces. Please re-enter." +msgstr "อินพุตทั้งหมดในผู้จำหน่ายแบบกำหนดเองหรือซีเรียลเป็นช่องว่าง กรุณาเข้าใหม่อีกครั้ง" + +msgid "The vendor cannot be a number. Please re-enter." +msgstr "ผู้จัดจำหน่ายไม่สามารถเป็นตัวเลขได้ กรุณาเข้าใหม่อีกครั้ง" + +msgid "" +"You have not selected a printer or preset yet. Please select at least one." +msgstr "คุณยังไม่ได้เลือกเครื่องพิมพ์หรือค่าที่ตั้งไว้ล่วงหน้า โปรดเลือกอย่างน้อยหนึ่งรายการ" + +#, possible-c-format, possible-boost-format +msgid "" +"The Filament name %s you created already exists.\n" +"If you continue, the preset created will be displayed with its full name. Do " +"you want to continue?" +msgstr "ชื่อเส้นพลาสติก %s ที่คุณสร้างมีอยู่แล้ว\nหากคุณดำเนินการต่อ ค่าที่ตั้งไว้ล่วงหน้าที่สร้างขึ้นจะแสดงพร้อมชื่อเต็ม คุณต้องการดำเนินการต่อหรือไม่?" + +msgid "Some existing presets have failed to be created, as follows:\n" +msgstr "ไม่สามารถสร้างค่าที่ตั้งไว้ล่วงหน้าบางค่าได้ ดังนี้:\n" + +msgid "" +"\n" +"Do you want to rewrite it?" +msgstr "\nคุณต้องการเขียนใหม่หรือไม่?" + +msgid "" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\".\n" +"To add preset for more printers, please go to printer selection" +msgstr "เราจะเปลี่ยนชื่อค่าที่ตั้งล่วงหน้าเป็น \"Vendor Type Serial @printer ที่คุณเลือก\"\nหากต้องการเพิ่มพรีเซ็ตสำหรับเครื่องพิมพ์เพิ่มไส้ใน โปรดไปที่การเลือกเครื่องพิมพ์" + +msgid "Create Printer/Nozzle" +msgstr "สร้างเครื่องพิมพ์/หัวฉีด" + +msgid "Create Printer" +msgstr "สร้างเครื่องพิมพ์" + +msgid "Create Nozzle for Existing Printer" +msgstr "สร้างหัวฉีดสำหรับเครื่องพิมพ์ที่มีอยู่" + +msgid "Create from Template" +msgstr "สร้างจากเทมเพลต" + +msgid "Create Based on Current Printer" +msgstr "สร้างตามเครื่องพิมพ์ปัจจุบัน" + +msgid "Import Preset" +msgstr "นำเข้าพรีเซ็ต" + +msgid "Create Type" +msgstr "สร้างชนิด" + +msgid "The model was not found, please reselect vendor." +msgstr "ไม่พบแบบจำลอง โปรดเลือกผู้จำหน่ายอีกครั้ง" + +msgid "Select Printer" +msgstr "เลือกเครื่องพิมพ์" + +msgid "Select Model" +msgstr "เลือกโมเดล" + +msgid "Input Custom Model" +msgstr "ป้อนโมเดลที่กำหนดเอง" + +msgid "Can't find my printer model" +msgstr "ไม่พบรุ่นเครื่องพิมพ์ของฉัน" + +msgid "Input Custom Nozzle Diameter" +msgstr "ป้อนเส้นผ่านศูนย์กลางหัวฉีดแบบกำหนดเอง" + +msgid "Can't find my nozzle diameter" +msgstr "ไม่พบเส้นผ่านศูนย์กลางหัวฉีดของฉัน" + +msgid "Printable Space" +msgstr "พื้นที่ที่สามารถพิมพ์ได้" + +msgid "Hot Bed STL" +msgstr "ฐานพิมพ์ร้อน STL" + +msgid "Hot Bed SVG" +msgstr "ฐานพิมพ์ร้อน SVG" + +msgid "Max Print Height" +msgstr "ความสูงการพิมพ์สูงสุด" + +#, possible-c-format, possible-boost-format +msgid "The file exceeds %d MB, please import again." +msgstr "ไฟล์มีขนาดเกิน %d MB โปรดนำเข้าอีกครั้ง" + +msgid "Exception in obtaining file size, please import again." +msgstr "ข้อยกเว้นในการรับขนาดไฟล์ โปรดนำเข้าอีกครั้ง" + +msgid "Preset path was not found, please reselect vendor." +msgstr "ไม่พบเส้นทางที่กำหนดไว้ล่วงหน้า โปรดเลือกผู้ขายอีกครั้ง" + +msgid "The printer model was not found, please reselect." +msgstr "ไม่พบรุ่นเครื่องพิมพ์ โปรดเลือกใหม่" + +msgid "The nozzle diameter was not found, please reselect." +msgstr "ไม่พบเส้นผ่านศูนย์กลางของหัวฉีด โปรดเลือกใหม่" + +msgid "The printer preset was not found, please reselect." +msgstr "ไม่พบค่าที่ตั้งไว้ล่วงหน้าของเครื่องพิมพ์ โปรดเลือกใหม่" + +msgid "Printer Preset" +msgstr "พรีเซ็ตเครื่องพิมพ์" + +msgid "Filament Preset Template" +msgstr "เทมเพลตที่ตั้งไว้ล่วงหน้าของเส้นพลาสติก" + +msgid "Deselect All" +msgstr "ยกเลิกการเลือกทั้งหมด" + +msgid "Process Preset Template" +msgstr "ประมวลผลเทมเพลตที่กำหนดไว้ล่วงหน้า" + +msgid "" +"You have not yet chosen which printer preset to create based on. Please " +"choose the vendor and model of the printer" +msgstr "คุณยังไม่ได้เลือกพรีเซ็ตเครื่องพิมพ์ที่จะใช้สร้าง โปรดเลือกผู้จำหน่ายและรุ่นของเครื่องพิมพ์" + +msgid "" +"You have entered an illegal input in the printable area section on the first " +"page. Please check before creating it." +msgstr "คุณได้ป้อนข้อมูลที่ไม่ถูกต้องในส่วนพื้นที่ที่สามารถพิมพ์ได้ในหน้าแรก โปรดตรวจสอบก่อนที่จะสร้างมัน" + +msgid "" +"The printer preset you created already has a preset with the same name. Do " +"you want to overwrite it?\n" +"\tYes: Overwrite the printer preset with the same name, and filament and " +"process presets with the same preset name will be recreated \n" +"and filament and process presets without the same preset name will be " +"reserve.\n" +"\tCancel: Do not create a preset, return to the creation interface." +msgstr "ค่าที่ตั้งไว้ล่วงหน้าของเครื่องพิมพ์ที่คุณสร้างมีการตั้งค่าล่วงหน้าที่มีชื่อเดียวกันอยู่แล้ว คุณต้องการเขียนทับมันหรือไม่?\n\tใช่: เขียนทับพรีเซ็ตเครื่องพิมพ์ด้วยชื่อเดียวกัน จากนั้นฟิลาเมนต์และพรีเซ็ตกระบวนการที่มีชื่อพรีเซ็ตเดียวกันจะถูกสร้างขึ้นใหม่ \nและค่าที่ตั้งล่วงหน้าของเส้นพลาสติกและกระบวนการที่ไม่มีชื่อที่ตั้งไว้ล่วงหน้าเหมือนกันจะถูกสงวนไว้\n\tยกเลิก: อย่าสร้างค่าที่ตั้งล่วงหน้า กลับไปที่อินเทอร์เฟซการสร้าง" + +msgid "You need to select at least one filament preset." +msgstr "คุณต้องเลือกค่าฟิลาเมนต์ที่ตั้งไว้ล่วงหน้าอย่างน้อยหนึ่งรายการ" + +msgid "You need to select at least one process preset." +msgstr "คุณต้องเลือกการตั้งค่าล่วงหน้าของกระบวนการอย่างน้อยหนึ่งรายการ" + +msgid "Create filament presets failed. As follows:\n" +msgstr "การสร้างค่าที่ตั้งไว้ล่วงหน้าของเส้นพลาสติกล้มเหลว ดังนี้:\n" + +msgid "Create process presets failed. As follows:\n" +msgstr "สร้างการตั้งค่าล่วงหน้าของกระบวนการล้มเหลว ดังนี้:\n" + +msgid "Vendor was not found, please reselect." +msgstr "ไม่พบผู้ขาย โปรดเลือกใหม่" + +msgid "Current vendor has no models, please reselect." +msgstr "ผู้จำหน่ายปัจจุบันไม่มีรุ่น โปรดเลือกใหม่" + +msgid "" +"You have not selected the vendor and model or entered the custom vendor and " +"model." +msgstr "คุณยังไม่ได้เลือกผู้จำหน่ายและรุ่น หรือป้อนผู้จำหน่ายและรุ่นที่กำหนดเอง" + +msgid "" +"There may be escape characters in the custom printer vendor or model. Please " +"delete and re-enter." +msgstr "อาจมีอักขระหลีกในผู้จำหน่ายเครื่องพิมพ์แบบกำหนดเองหรือรุ่น กรุณาลบและป้อนใหม่" + +msgid "" +"All inputs in the custom printer vendor or model are spaces. Please re-enter." +msgstr "อินพุตทั้งหมดในผู้จำหน่ายเครื่องพิมพ์แบบกำหนดเองหรือรุ่นคือช่องว่าง กรุณาเข้าใหม่อีกครั้ง" + +msgid "Please check bed printable shape and origin input." +msgstr "โปรดตรวจสอบรูปร่างที่สามารถพิมพ์ฐานพิมพ์ได้และอินพุตจุดเริ่มต้น" + +msgid "" +"You have not yet selected the printer to replace the nozzle, please choose." +msgstr "คุณยังไม่ได้เลือกเครื่องพิมพ์ที่จะเปลี่ยนหัวฉีด โปรดเลือก" + +msgid "The entered nozzle diameter is invalid, please re-enter:\n" +msgstr "เส้นผ่านศูนย์กลางหัวฉีดที่ป้อนไม่ถูกต้อง โปรดป้อนใหม่:\n" + +msgid "" +"The system preset does not allow creation. \n" +"Please re-enter the printer model or nozzle diameter." +msgstr "ระบบที่ตั้งไว้ล่วงหน้าไม่อนุญาตให้สร้าง \nกรุณากรอกรุ่นเครื่องพิมพ์หรือเส้นผ่านศูนย์กลางหัวฉีดอีกครั้ง" + +msgid "" +"\n" +"\n" +"Available nozzle profiles for this printer:" +msgstr "\nโปรไฟล์หัวฉีดที่ใช้ได้สำหรับเครื่องพิมพ์นี้:" + +msgid "" +"\n" +"\n" +"Choose YES to switch existing preset:" +msgstr "\nเลือก YES เพื่อสลับค่าที่ตั้งไว้ล่วงหน้าที่มีอยู่:" + +msgid "Printer Created Successfully" +msgstr "สร้างเครื่องพิมพ์สำเร็จแล้ว" + +msgid "Filament Created Successfully" +msgstr "สร้างเส้นพลาสติกสำเร็จแล้ว" + +msgid "Printer Created" +msgstr "สร้างเครื่องพิมพ์แล้ว" + +msgid "Please go to printer settings to edit your presets" +msgstr "โปรดไปที่การตั้งค่าเครื่องพิมพ์เพื่อแก้ไขค่าที่ตั้งล่วงหน้าของคุณ" + +msgid "Filament Created" +msgstr "สร้างเส้นพลาสติกแล้ว" + +msgid "" +"Please go to filament setting to edit your presets if you need.\n" +"Please note that nozzle temperature, hot bed temperature, and maximum " +"volumetric speed has a significant impact on printing quality. Please set " +"them carefully." +msgstr "โปรดไปที่การตั้งค่าฟิลาเมนต์เพื่อแก้ไขค่าที่ตั้งล่วงหน้าของคุณหากคุณต้องการ\nโปรดทราบว่าอุณหภูมิหัวฉีด อุณหภูมิฐานพิมพ์ร้อน และความเร็วปริมาตรสูงสุดมีผลกระทบอย่างมากต่อคุณภาพการพิมพ์ โปรดตั้งค่าอย่างระมัดระวัง" + +msgid "" +"\n" +"\n" +"Orca has detected that your user presets synchronization function is not " +"enabled, which may result in unsuccessful Filament settings on the Device " +"page.\n" +"Click \"Sync user presets\" to enable the synchronization function." +msgstr "\nOrca ตรวจพบว่าไม่ได้เปิดใช้งานฟังก์ชันการซิงโครไนซ์ที่ตั้งไว้ล่วงหน้าของผู้ใช้ของคุณ ซึ่งอาจส่งผลให้การตั้งค่า เส้นพลาสติก บนหน้าอุปกรณ์ไม่สำเร็จ\nคลิก \"ซิงค์การตั้งค่าล่วงหน้าของผู้ใช้\" เพื่อเปิดใช้งานฟังก์ชันการซิงโครไนซ์" + +msgid "Printer Setting" +msgstr "การตั้งค่าเครื่องพิมพ์" + +msgid "Printer config bundle(.orca_printer)" +msgstr "ชุดกำหนดค่าเครื่องพิมพ์ (.orca_printer)" + +msgid "Filament bundle(.orca_filament)" +msgstr "มัดเส้นพลาสติก(.orca_filament)" + +msgid "Printer presets(.zip)" +msgstr "ค่าที่ตั้งล่วงหน้าของเครื่องพิมพ์ (.zip)" + +msgid "Filament presets(.zip)" +msgstr "การตั้งค่าฟิลาเมนต์ล่วงหน้า (.zip)" + +msgid "Process presets(.zip)" +msgstr "กระบวนการที่ตั้งไว้ล่วงหน้า (.zip)" + +msgid "initialize fail" +msgstr "การเริ่มต้นล้มเหลว" + +msgid "add file fail" +msgstr "เพิ่มไฟล์ล้มเหลว" + +msgid "add bundle structure file fail" +msgstr "เพิ่มไฟล์โครงสร้างบันเดิลล้มเหลว" + +msgid "finalize fail" +msgstr "จบความล้มเหลว" + +msgid "open zip written fail" +msgstr "การเขียน zip แบบเปิดล้มเหลว" + +msgid "Export successful" +msgstr "ส่งออกสำเร็จ" + +#, possible-c-format, possible-boost-format +msgid "" +"The '%s' folder already exists in the current directory. Do you want to " +"clear it and rebuild it.\n" +"If not, a time suffix will be added, and you can modify the name after " +"creation." +msgstr "โฟลเดอร์ '%s' มีอยู่แล้วในไดเร็กทอรีปัจจุบัน คุณต้องการล้างมันและสร้างใหม่หรือไม่\nหากไม่เป็นเช่นนั้น ระบบจะเพิ่มส่วนต่อท้ายเวลา และคุณสามารถแก้ไขชื่อได้หลังการสร้าง" + +#, possible-c-format, possible-boost-format +msgid "" +"The file: %s\n" +"may have been opened by another program.\n" +"Please close it and try again." +msgstr "ไฟล์: %s\nอาจถูกเปิดโดยโปรแกรมอื่น\nกรุณาปิดและลองอีกครั้ง" + +msgid "" +"Printer and all the filament and process presets that belongs to the " +"printer.\n" +"Can be shared with others." +msgstr "เครื่องพิมพ์และเส้นพลาสติกและค่าที่ตั้งล่วงหน้ากระบวนการทั้งหมดที่เป็นของเครื่องพิมพ์\nสามารถแบ่งปันกับผู้อื่นได้" + +msgid "" +"User's filament preset set.\n" +"Can be shared with others." +msgstr "ชุดพรีเซ็ตเส้นพลาสติกของผู้ใช้\nสามารถแบ่งปันกับผู้อื่นได้" + +msgid "" +"Only display printer names with changes to printer, filament, and process " +"presets." +msgstr "แสดงเฉพาะชื่อเครื่องพิมพ์ที่มีการเปลี่ยนแปลงเครื่องพิมพ์ เส้นพลาสติก และการตั้งค่าล่วงหน้าของกระบวนการ" + +msgid "Only display the filament names with changes to filament presets." +msgstr "แสดงเฉพาะชื่อเส้นพลาสติกที่มีการเปลี่ยนแปลงการตั้งค่าล่วงหน้าของเส้นพลาสติก" + +msgid "" +"Only printer names with user printer presets will be displayed, and each " +"preset you choose will be exported as a zip." +msgstr "เฉพาะชื่อเครื่องพิมพ์ที่มีการตั้งค่าเครื่องพิมพ์ล่วงหน้าของผู้ใช้เท่านั้นที่จะแสดง และการตั้งค่าล่วงหน้าแต่ละรายการที่คุณเลือกจะถูกส่งออกเป็นไฟล์ ZIP" + +msgid "" +"Only the filament names with user filament presets will be displayed, \n" +"and all user filament presets in each filament name you select will be " +"exported as a zip." +msgstr "เฉพาะชื่อเส้นพลาสติกที่มีการตั้งค่าล่วงหน้าของเส้นพลาสติกผู้ใช้เท่านั้นที่จะถูกแสดง \nและค่าฟิลาเมนต์ของผู้ใช้ทั้งหมดที่กำหนดไว้ล่วงหน้าในแต่ละชื่อฟิลาเมนต์ที่คุณเลือกจะถูกส่งออกเป็นไฟล์ ZIP" + +msgid "" +"Only printer names with changed process presets will be displayed, \n" +"and all user process presets in each printer name you select will be " +"exported as a zip." +msgstr "เฉพาะชื่อเครื่องพิมพ์ที่มีการตั้งค่าล่วงหน้าของกระบวนการที่เปลี่ยนแปลงเท่านั้นที่จะปรากฏขึ้น \nและกระบวนการของผู้ใช้ที่ตั้งไว้ล่วงหน้าในชื่อเครื่องพิมพ์แต่ละเครื่องที่คุณเลือกจะถูกส่งออกเป็นไฟล์ ZIP" + +msgid "Please select at least one printer or filament." +msgstr "โปรดเลือกเครื่องพิมพ์หรือเส้นพลาสติกอย่างน้อยหนึ่งรายการ" + +msgid "Please select a type you want to export" +msgstr "โปรดเลือกประเภทที่คุณต้องการส่งออก" + +msgid "Failed to create temporary folder, please try Export Configs again." +msgstr "ไม่สามารถสร้างโฟลเดอร์ชั่วคราวได้ โปรดลองส่งออกการกำหนดค่าอีกครั้ง" + +msgid "Edit Filament" +msgstr "แก้ไขเส้นพลาสติก" + +msgid "Filament presets under this filament" +msgstr "เส้นพลาสติกที่ตั้งไว้ล่วงหน้าภายใต้เส้นพลาสติกนี้" + +msgid "" +"Note: If the only preset under this filament is deleted, the filament will " +"be deleted after exiting the dialog." +msgstr "หมายเหตุ: หากลบค่าที่กำหนดไว้ล่วงหน้าภายใต้เส้นพลาสติกนี้ เส้นพลาสติกจะถูกลบหลังจากออกจากกล่องโต้ตอบ" + +msgid "Presets inherited by other presets cannot be deleted" +msgstr "ค่าที่ตั้งล่วงหน้าที่สืบทอดมาจากค่าที่ตั้งล่วงหน้าอื่นไม่สามารถลบได้" + +msgid "The following presets inherits this preset." +msgid_plural "The following preset inherits this preset." +msgstr[0] "พรีเซ็ตต่อไปนี้สืบทอดจากพรีเซ็ตนี้" + +msgid "Delete Preset" +msgstr "ลบพรีเซ็ต" + +msgid "Are you sure to delete the selected preset?" +msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบค่าที่ตั้งล่วงหน้าที่เลือกไว้" + +msgid "Delete preset" +msgstr "พรีเซ็ตลบ" + +msgid "+ Add Preset" +msgstr "+ เพิ่มพรีเซ็ต" + +msgid "" +"All the filament presets belong to this filament would be deleted.\n" +"If you are using this filament on your printer, please reset the filament " +"information for that slot." +msgstr "ค่าที่ตั้งไว้ล่วงหน้าของเส้นพลาสติกทั้งหมดที่เป็นของเส้นพลาสติกนี้จะถูกลบ\nหากคุณใช้เส้นพลาสติกนี้กับเครื่องพิมพ์ของคุณ โปรดรีเซ็ตข้อมูลเส้นพลาสติกสำหรับช่องนั้น" + +msgid "Delete filament" +msgstr "ลบเส้นพลาสติก" + +msgid "Add Preset" +msgstr "เพิ่มพรีเซ็ต" + +msgid "Add preset for new printer" +msgstr "เพิ่มค่าที่ตั้งล่วงหน้าสำหรับเครื่องพิมพ์ใหม่" + +msgid "Copy preset from filament" +msgstr "คัดลอกพรีเซ็ตจากฟิลาเมนต์" + +msgid "The filament choice not find filament preset, please reselect it" +msgstr "ตัวเลือกเส้นพลาสติกไม่พบการตั้งค่าเส้นพลาสติกล่วงหน้า โปรดเลือกอีกครั้ง" + +msgid "[Delete Required]" +msgstr "[จำเป็นต้องลบ]" + +msgid "Edit Preset" +msgstr "แก้ไขพรีเซ็ต" + +msgid "For more information, please check out Wiki" +msgstr "สำหรับข้อมูลเพิ่มเติม โปรดดูที่ วิกิ" + +msgid "Wiki" +msgstr "วิกิ" + +msgid "Collapse" +msgstr "ทรุด" + +msgid "Daily Tips" +msgstr "เคล็ดลับรายวัน" + +msgid "" +"The printer nozzle information has not been set.\n" +"Please configure it before proceeding with the calibration." +msgstr "ยังไม่ได้ตั้งค่าข้อมูลหัวฉีดของเครื่องพิมพ์\nโปรดกำหนดค่าก่อนดำเนินการสอบเทียบต่อ" + +msgid "" +"The nozzle type does not match the actual printer nozzle type.\n" +"Please click the Sync button above and restart the calibration." +msgstr "ประเภทหัวฉีดไม่ตรงกับประเภทหัวฉีดของเครื่องพิมพ์จริง\nโปรดคลิกปุ่มซิงค์ด้านบนแล้วเริ่มการปรับเทียบใหม่" + +#, possible-c-format, possible-boost-format +msgid "Printing %1s material with %2s nozzle may cause nozzle damage." +msgstr "การพิมพ์วัสดุ %1s ด้วยหัวฉีด %2s อาจทำให้หัวฉีดเสียหายได้" + +msgid "Need select printer" +msgstr "ต้องการเครื่องพิมพ์ที่เลือก" + +msgid "The start, end or step is not valid value." +msgstr "จุดเริ่มต้น สิ้นสุด หรือขั้นตอนไม่ใช่ค่าที่ถูกต้อง" + +msgid "" +"The number of printer extruders and the printer selected for calibration " +"does not match." +msgstr "จำนวนชุดดันเส้นของเครื่องพิมพ์และเครื่องพิมพ์ที่เลือกสำหรับการสอบเทียบไม่ตรงกัน" + +#, possible-c-format, possible-boost-format +msgid "" +"The nozzle diameter of %s extruder is 0.2mm which does not support automatic " +"Flow Dynamics calibration." +msgstr "เส้นผ่านศูนย์กลางหัวฉีดของชุดดันเส้น %s คือ 0.2 มม. ซึ่งไม่รองรับการสอบเทียบ Flow Dynamics อัตโนมัติ" + +#, possible-c-format, possible-boost-format +msgid "" +"The currently selected nozzle diameter of %s extruder does not match the " +"actual nozzle diameter.\n" +"Please click the Sync button above and restart the calibration." +msgstr "เส้นผ่านศูนย์กลางหัวฉีดที่เลือกในปัจจุบันของชุดดันเส้น %s ไม่ตรงกับเส้นผ่านศูนย์กลางหัวฉีดจริง\nโปรดคลิกปุ่มซิงค์ด้านบนแล้วเริ่มการปรับเทียบใหม่" + +msgid "" +"The nozzle diameter does not match the actual printer nozzle diameter.\n" +"Please click the Sync button above and restart the calibration." +msgstr "เส้นผ่านศูนย์กลางหัวฉีดไม่ตรงกับเส้นผ่านศูนย์กลางหัวฉีดของเครื่องพิมพ์จริง\nโปรดคลิกปุ่มซิงค์ด้านบนแล้วเริ่มการปรับเทียบใหม่" + +#, possible-c-format, possible-boost-format +msgid "" +"The currently selected nozzle type of %s extruder does not match the actual " +"printer nozzle type.\n" +"Please click the Sync button above and restart the calibration." +msgstr "ประเภทหัวฉีดที่เลือกในปัจจุบันของชุดดันเส้น %s ไม่ตรงกับประเภทหัวฉีดของเครื่องพิมพ์จริง\nโปรดคลิกปุ่มซิงค์ด้านบนแล้วเริ่มการปรับเทียบใหม่" + +msgid "" +"Unable to calibrate: maybe because the set calibration value range is too " +"large, or the step is too small" +msgstr "ไม่สามารถสอบเทียบ: อาจเป็นเพราะช่วงค่าการสอบเทียบที่ตั้งไว้ใหญ่เกินไป หรือขั้นตอนเล็กเกินไป" + +msgid "Physical Printer" +msgstr "เครื่องพิมพ์ทางกายภาพ" + +msgid "Print Host upload" +msgstr "อัพโหลดโฮสต์การพิมพ์" + +msgid "" +"Select the network agent implementation for printer communication. Available " +"agents are registered at startup." +msgstr "เลือกการใช้งานตัวแทนเครือข่ายสำหรับการสื่อสารของเครื่องพิมพ์ ตัวแทนที่มีอยู่จะได้รับการลงทะเบียนเมื่อเริ่มต้น" + +msgid "Could not get a valid Printer Host reference" +msgstr "ไม่สามารถรับข้อมูลอ้างอิงโฮสต์เครื่องพิมพ์ที่ถูกต้อง" + +msgid "Success!" +msgstr "สำเร็จ!" + +msgid "Are you sure to log out?" +msgstr "คุณแน่ใจหรือว่าจะออกจากระบบ?" + +msgid "View print host webui in Device tab" +msgstr "ดู webui โฮสต์การพิมพ์ในแท็บอุปกรณ์" + +msgid "Replace the BambuLab's device tab with print host webui" +msgstr "แทนที่แท็บอุปกรณ์ของ BambuLab ด้วย webui โฮสต์การพิมพ์" + +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "ไฟล์ HTTPS CA เป็นทางเลือก จำเป็นเฉพาะเมื่อคุณใช้ HTTPS กับใบรับรองที่ลงนามด้วยตนเอง" + +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "ไฟล์ใบรับรอง (*.crt, *.pem)|*.crt;*.pem|ไฟล์ทั้งหมด|*.*" + +msgid "Open CA certificate file" +msgstr "เปิดไฟล์ใบรับรอง CA" + +#, possible-c-format, possible-boost-format +msgid "" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." +msgstr "บนระบบนี้ %s ใช้ใบรับรอง HTTPS จากระบบที่จัดเก็บใบรับรองหรือพวงกุญแจ" + +msgid "" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." +msgstr "หากต้องการใช้ไฟล์ CA ที่กำหนดเอง โปรดนำเข้าไฟล์ CA ของคุณไปที่ Certificate Store / Keychain" + +msgid "Login/Test" +msgstr "เข้าสู่ระบบ/ทดสอบ" + +msgid "Connection to printers connected via the print host failed." +msgstr "การเชื่อมต่อกับเครื่องพิมพ์ที่เชื่อมต่อผ่านโฮสต์การพิมพ์ล้มเหลว" + +#, possible-c-format, possible-boost-format +msgid "Mismatched type of print host: %s" +msgstr "ประเภทของโฮสต์การพิมพ์ไม่ตรงกัน: %s" + +msgid "Connection to AstroBox is working correctly." +msgstr "การเชื่อมต่อกับ AstroBox ทำงานอย่างถูกต้อง" + +msgid "Could not connect to AstroBox" +msgstr "ไม่สามารถเชื่อมต่อกับ AstroBox" + +msgid "Note: AstroBox version 1.1.0 or higher is required." +msgstr "หมายเหตุ: ต้องใช้ AstroBox เวอร์ชัน 1.1.0 หรือสูงกว่า" + +msgid "Connection to Duet is working correctly." +msgstr "การเชื่อมต่อกับ Duet ทำงานอย่างถูกต้อง" + +msgid "Could not connect to Duet" +msgstr "ไม่สามารถเชื่อมต่อกับ Duet ได้" + +msgid "Unknown error occurred" +msgstr "เกิดข้อผิดพลาดที่ไม่รู้จัก" + +msgid "Wrong password" +msgstr "รหัสผ่านผิด" + +msgid "Could not get resources to create a new connection" +msgstr "ไม่สามารถรับทรัพยากรเพื่อสร้างการเชื่อมต่อใหม่" + +msgid "Upload not enabled on FlashAir card." +msgstr "ไม่ได้เปิดใช้งานการอัปโหลดบนการ์ด FlashAir" + +msgid "Connection to FlashAir is working correctly and upload is enabled." +msgstr "การเชื่อมต่อกับ FlashAir ทำงานอย่างถูกต้อง และเปิดใช้งานการอัปโหลดแล้ว" + +msgid "Could not connect to FlashAir" +msgstr "ไม่สามารถเชื่อมต่อกับ FlashAir ได้" + +msgid "" +"Note: FlashAir with firmware 2.00.02 or newer and activated upload function " +"is required." +msgstr "หมายเหตุ: จำเป็นต้องมี FlashAir ที่มีเฟิร์มแวร์ 2.00.02 หรือใหม่กว่า และเปิดใช้งานฟังก์ชันอัพโหลดแล้ว" + +msgid "Connection to MKS is working correctly." +msgstr "การเชื่อมต่อกับ MKS ทำงานอย่างถูกต้อง" + +msgid "Could not connect to MKS" +msgstr "ไม่สามารถเชื่อมต่อกับ MKS" + +msgid "Connection to OctoPrint is working correctly." +msgstr "การเชื่อมต่อกับ OctoPrint ทำงานอย่างถูกต้อง" + +msgid "Could not connect to OctoPrint" +msgstr "ไม่สามารถเชื่อมต่อกับ OctoPrint" + +msgid "Note: OctoPrint version 1.1.0 or higher is required." +msgstr "หมายเหตุ: ต้องใช้ OctoPrint เวอร์ชัน 1.1.0 หรือสูงกว่า" + +msgid "Connection to Prusa SL1 / SL1S is working correctly." +msgstr "การเชื่อมต่อกับ Prusa SL1 / SL1S ทำงานอย่างถูกต้อง" + +msgid "Could not connect to Prusa SLA" +msgstr "ไม่สามารถเชื่อมต่อกับ Prusa SLA" + +msgid "Connection to PrusaLink is working correctly." +msgstr "การเชื่อมต่อกับ PrusaLink ทำงานอย่างถูกต้อง" + +msgid "Could not connect to PrusaLink" +msgstr "ไม่สามารถเชื่อมต่อกับ PrusaLink ได้" + +msgid "Storages found" +msgstr "พบที่เก็บข้อมูล" + +#. TRN %1% = storage path +#, possible-boost-format +msgid "%1% : read only" +msgstr "%1% : อ่านอย่างเดียว" + +#. TRN %1% = storage path +#, possible-boost-format +msgid "%1% : no free space" +msgstr "%1% : ไม่มีพื้นที่ว่าง" + +#. TRN %1% = host +#, possible-boost-format +msgid "Upload has failed. There is no suitable storage found at %1%." +msgstr "การอัปโหลดล้มเหลว ไม่พบที่เก็บข้อมูลที่เหมาะสมที่ %1%" + +msgid "Connection to Prusa Connect is working correctly." +msgstr "การเชื่อมต่อกับ Prusa Connect ทำงานอย่างถูกต้อง" + +msgid "Could not connect to Prusa Connect" +msgstr "ไม่สามารถเชื่อมต่อกับ Prusa Connect" + +msgid "Connection to Repetier is working correctly." +msgstr "การเชื่อมต่อกับ Repetier ทำงานอย่างถูกต้อง" + +msgid "Could not connect to Repetier" +msgstr "ไม่สามารถเชื่อมต่อกับ Repetier ได้" + +msgid "Note: Repetier version 0.90.0 or higher is required." +msgstr "หมายเหตุ: ต้องใช้ Repetier เวอร์ชัน 0.90.0 หรือสูงกว่า" + +#, possible-boost-format +msgid "" +"HTTP status: %1%\n" +"Message body: \"%2%\"" +msgstr "สถานะ HTTP: %1%\nเนื้อหาข้อความ: \"%2%\"" + +#, possible-boost-format +msgid "" +"Parsing of host response failed.\n" +"Message body: \"%1%\"\n" +"Error: \"%2%\"" +msgstr "การแยกวิเคราะห์การตอบสนองของโฮสต์ล้มเหลว\nเนื้อหาข้อความ: \"%1%\"\nข้อผิดพลาด: \"%2%\"" + +#, possible-boost-format +msgid "" +"Enumeration of host printers failed.\n" +"Message body: \"%1%\"\n" +"Error: \"%2%\"" +msgstr "การแจงนับเครื่องพิมพ์โฮสต์ล้มเหลว\nเนื้อหาข้อความ: \"%1%\"\nข้อผิดพลาด: \"%2%\"" + +msgid "" +"It has a small layer height. This results in almost negligible layer lines " +"and high print quality. It is suitable for most printing cases." +msgstr "มีความสูงของชั้นเล็ก ๆ ส่งผลให้เส้นชั้นแทบไม่มีความสำคัญและคุณภาพการพิมพ์สูง เหมาะสำหรับกรณีการพิมพ์ส่วนใหญ่" + +msgid "" +"Compared with the default profile of a 0.2 mm nozzle, it has lower speeds " +"and acceleration, and the sparse infill pattern is Gyroid. This results in " +"much higher print quality but a much longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.2 มม. จะมีความเร็วและความเร่งที่ต่ำกว่า และรูปแบบไส้ในแบบโปร่งคือ Gyroid ส่งผลให้คุณภาพการพิมพ์สูงขึ้นมาก แต่ใช้เวลาพิมพ์นานกว่ามาก" + +msgid "" +"Compared with the default profile of a 0.2 mm nozzle, it has a slightly " +"bigger layer height. This results in almost negligible layer lines and " +"slightly shorter print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.2 มม. จะมีความสูงของชั้นที่ใหญ่กว่าเล็กน้อย ส่งผลให้เส้นเลเยอร์แทบไม่มีนัยสำคัญและใช้เวลาพิมพ์สั้นลงเล็กน้อย" + +msgid "" +"Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " +"height. This results in slightly visible layer lines but shorter print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.2 มม. จะมีความสูงของชั้นที่ใหญ่กว่า ส่งผลให้มองเห็นเส้นเลเยอร์ได้เล็กน้อยแต่ใช้เวลาพิมพ์สั้นลง" + +msgid "" +"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " +"height. This results in almost invisible layer lines and higher print " +"quality but longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.2 มม. จะมีความสูงของชั้นที่เล็กกว่า ส่งผลให้มีเส้นชั้นที่แทบจะมองไม่เห็นและคุณภาพการพิมพ์ที่สูงขึ้นแต่ใช้เวลาพิมพ์นานขึ้น" + +msgid "" +"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " +"lines, lower speeds and acceleration, and the sparse infill pattern is " +"Gyroid. This results in almost invisible layer lines and much higher print " +"quality but much longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.2 มม. จะมีเส้นชั้นที่เล็กกว่า ความเร็วและความเร่งที่ต่ำกว่า และรูปแบบไส้ในแบบโปร่งคือ Gyroid ส่งผลให้มีเส้นชั้นที่แทบจะมองไม่เห็นและคุณภาพการพิมพ์ที่สูงขึ้นมาก แต่ใช้เวลาพิมพ์นานกว่ามาก" + +msgid "" +"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " +"height. This results in minimal layer lines and higher print quality but " +"longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.2 มม. จะมีความสูงของชั้นที่เล็กกว่า ส่งผลให้มีเส้นชั้นน้อยที่สุดและคุณภาพการพิมพ์สูงขึ้นแต่ใช้เวลาพิมพ์นานขึ้น" + +msgid "" +"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " +"lines, lower speeds and acceleration, and the sparse infill pattern is " +"Gyroid. This results in minimal layer lines and much higher print quality " +"but much longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.2 มม. จะมีเส้นชั้นที่เล็กกว่า ความเร็วและความเร่งที่ต่ำกว่า และรูปแบบไส้ในแบบโปร่งคือ Gyroid ส่งผลให้มีเส้นชั้นน้อยที่สุดและคุณภาพการพิมพ์สูงขึ้นมาก แต่ใช้เวลาพิมพ์นานกว่ามาก" + +msgid "" +"It has a normal layer height. This results in average layer lines and print " +"quality. It is suitable for most printing cases." +msgstr "มีความสูงของชั้นปกติ ซึ่งส่งผลให้ได้เส้นชั้นเฉลี่ยและคุณภาพการพิมพ์ เหมาะสำหรับกรณีการพิมพ์ส่วนใหญ่" + +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " +"and a higher sparse infill density. This results in higher print strength " +"but more filament consumption and longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.4 มม. จะมีห่วงติดผนังมากกว่าและมีความหนาแน่นของช่องไส้ในที่เบากว่า ส่งผลให้มีความแข็งแรงในการพิมพ์สูงขึ้นแต่ใช้เส้นพลาสติกมากขึ้นและใช้เวลาพิมพ์นานขึ้น" + +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " +"height. This results in more apparent layer lines and lower print quality, " +"but slightly shorter print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.4 มม. จะมีความสูงของชั้นที่ใหญ่กว่า ส่งผลให้มีเส้นชั้นที่ชัดเจนมากขึ้นและคุณภาพการพิมพ์ลดลง แต่ใช้เวลาพิมพ์สั้นลงเล็กน้อย" + +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " +"height. This results in more apparent layer lines and lower print quality, " +"but shorter print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.4 มม. จะมีความสูงของชั้นที่ใหญ่กว่า ส่งผลให้มีเส้นชั้นที่ชัดเจนมากขึ้นและคุณภาพการพิมพ์ลดลง แต่ใช้เวลาพิมพ์สั้นลง" + +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " +"height. This results in less apparent layer lines and higher print quality " +"but longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.4 มม. จะมีความสูงของชั้นที่เล็กกว่า ส่งผลให้มีเส้นชั้นที่ชัดเจนน้อยลงและคุณภาพการพิมพ์สูงขึ้นแต่ใช้เวลาพิมพ์นานขึ้น" + +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " +"height, lower speeds and acceleration, and the sparse infill pattern is " +"Gyroid. This results in less apparent layer lines and much higher print " +"quality but much longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.4 มม. จะมีความสูงของชั้นที่เล็กกว่า ความเร็วและความเร่งที่ต่ำกว่า และรูปแบบไส้ในแบบโปร่งคือ Gyroid ส่งผลให้เส้นเลเยอร์ปรากฏน้อยลงและคุณภาพการพิมพ์สูงขึ้นมาก แต่ใช้เวลาพิมพ์นานกว่ามาก" + +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " +"height. This results in almost negligible layer lines and higher print " +"quality but longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.4 มม. จะมีความสูงของชั้นที่เล็กกว่า ส่งผลให้เส้นเลเยอร์แทบไม่มีความสำคัญและคุณภาพการพิมพ์สูงขึ้นแต่ใช้เวลาพิมพ์นานขึ้น" + +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " +"height, lower speeds and acceleration, and the sparse infill pattern is " +"Gyroid. This results in almost negligible layer lines and much higher print " +"quality but much longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.4 มม. จะมีความสูงของชั้นที่เล็กกว่า ความเร็วและความเร่งที่ต่ำกว่า และรูปแบบไส้ในแบบโปร่งคือ Gyroid ส่งผลให้เส้นเลเยอร์แทบไม่มีความสำคัญและคุณภาพการพิมพ์สูงขึ้นมาก แต่ใช้เวลาพิมพ์นานกว่ามาก" + +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " +"height. This results in almost negligible layer lines and longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.4 มม. จะมีความสูงของชั้นที่เล็กกว่า ส่งผลให้เส้นชั้นแทบไม่มีนัยสำคัญและใช้เวลาพิมพ์นานขึ้น" + +msgid "" +"It has a big layer height. This results in apparent layer lines and ordinary " +"print quality and print time." +msgstr "มีความสูงของชั้นใหญ่ ส่งผลให้ได้เส้นชั้นที่ชัดเจนและคุณภาพการพิมพ์และเวลาในการพิมพ์ตามปกติ" + +msgid "" +"Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " +"and a higher sparse infill density. This results in higher print strength " +"but more filament consumption and longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.6 มม. จะมีห่วงติดผนังมากกว่าและมีความหนาแน่นของช่องไส้ในที่เบากว่า ส่งผลให้มีความแข็งแรงในการพิมพ์สูงขึ้นแต่ใช้เส้นพลาสติกมากขึ้นและใช้เวลาพิมพ์นานขึ้น" + +msgid "" +"Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " +"height. This results in more apparent layer lines and lower print quality, " +"but shorter print time in some cases." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.6 มม. จะมีความสูงของชั้นที่ใหญ่กว่า ซึ่งส่งผลให้มีเส้นชั้นที่ชัดเจนมากขึ้นและคุณภาพการพิมพ์ลดลง แต่เวลาในการพิมพ์สั้นลงในบางกรณี" + +msgid "" +"Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " +"height. This results in much more apparent layer lines and much lower print " +"quality, but shorter print time in some cases." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.6 มม. จะมีความสูงของชั้นที่ใหญ่กว่า ซึ่งส่งผลให้มีเส้นชั้นที่ชัดเจนมากขึ้นและคุณภาพการพิมพ์ลดลงมาก แต่ในบางกรณีใช้เวลาพิมพ์สั้นลง" + +msgid "" +"Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " +"height. This results in less apparent layer lines and slight higher print " +"quality but longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.6 มม. จะมีความสูงของชั้นที่เล็กกว่า ส่งผลให้มีเส้นชั้นที่ชัดเจนน้อยลงและคุณภาพการพิมพ์สูงขึ้นเล็กน้อยแต่ใช้เวลาพิมพ์นานขึ้น" + +msgid "" +"Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " +"height. This results in less apparent layer lines and higher print quality " +"but longer print time." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.6 มม. จะมีความสูงของชั้นที่เล็กกว่า ส่งผลให้มีเส้นชั้นที่ชัดเจนน้อยลงและคุณภาพการพิมพ์สูงขึ้นแต่ใช้เวลาพิมพ์นานขึ้น" + +msgid "" +"It has a very big layer height. This results in very apparent layer lines, " +"low print quality and shorter print time." +msgstr "มีความสูงของชั้นที่ใหญ่มาก ส่งผลให้มีเส้นชั้นที่ชัดเจน คุณภาพการพิมพ์ต่ำ และใช้เวลาพิมพ์สั้นลง" + +msgid "" +"Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " +"height. This results in very apparent layer lines and much lower print " +"quality, but shorter print time in some cases." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.8 มม. จะมีความสูงของชั้นที่ใหญ่กว่า ซึ่งส่งผลให้มีเส้นชั้นที่ชัดเจนและคุณภาพการพิมพ์ลดลงมาก แต่ในบางกรณีใช้เวลาพิมพ์สั้นลง" + +msgid "" +"Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " +"layer height. This results in extremely apparent layer lines and much lower " +"print quality, but much shorter print time in some cases." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.8 มม. จะมีความสูงของชั้นที่ใหญ่กว่ามาก ซึ่งส่งผลให้มีเส้นชั้นที่ชัดเจนมากและคุณภาพการพิมพ์ต่ำลงมาก แต่ในบางกรณีใช้เวลาพิมพ์สั้นลงมาก" + +msgid "" +"Compared with the default profile of a 0.8 mm nozzle, it has a slightly " +"smaller layer height. This results in slightly less but still apparent layer " +"lines and slightly higher print quality but longer print time in some cases." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.8 มม. จะมีความสูงของชั้นที่เล็กกว่าเล็กน้อย ซึ่งส่งผลให้มีเส้นเลเยอร์น้อยลงเล็กน้อยแต่ยังคงปรากฏชัดเจน และคุณภาพการพิมพ์สูงขึ้นเล็กน้อย แต่ใช้เวลาพิมพ์นานขึ้นในบางกรณี" + +msgid "" +"Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " +"height. This results in less but still apparent layer lines and slightly " +"higher print quality but longer print time in some cases." +msgstr "เมื่อเปรียบเทียบกับโปรไฟล์เริ่มต้นของหัวฉีดขนาด 0.8 มม. จะมีความสูงของชั้นที่เล็กกว่า ซึ่งส่งผลให้มีเส้นเลเยอร์น้อยลงแต่ยังคงปรากฏชัดเจน และคุณภาพการพิมพ์สูงขึ้นเล็กน้อย แต่ใช้เวลาพิมพ์นานขึ้นในบางกรณี" + +msgid "" +"This is neither a commonly used filament, nor one of Bambu filaments, and it " +"varies a lot from brand to brand. So, it's highly recommended to ask its " +"vendor for suitable profile before printing and adjust some parameters " +"according to its performances." +msgstr "นี่ไม่ใช่เส้นพลาสติกที่ใช้กันทั่วไปหรือไม่ใช่เส้นพลาสติก Bambu เส้นใดเส้นหนึ่ง และมีความแตกต่างกันมากในแต่ละยี่ห้อ ดังนั้นจึงขอแนะนำอย่างยิ่งให้สอบถามผู้จำหน่ายเกี่ยวกับโปรไฟล์ที่เหมาะสมก่อนพิมพ์ และปรับพารามิเตอร์บางอย่างตามประสิทธิภาพ" + +msgid "" +"When printing this filament, there's a risk of warping and low layer " +"adhesion strength. To get better results, please refer to this wiki: " +"Printing Tips for High Temp / Engineering materials." +msgstr "เมื่อพิมพ์ฟิลาเมนต์นี้ มีความเสี่ยงที่จะเกิดการบิดงอและมีการยึดเกาะต่ำ เพื่อให้ได้ผลลัพธ์ที่ดีขึ้น โปรดดูที่วิกินี้: เคล็ดลับการพิมพ์สำหรับวัสดุอุณหภูมิสูง / วิศวกรรม" + +msgid "" +"When printing this filament, there's a risk of nozzle clogging, oozing, " +"warping and low layer adhesion strength. To get better results, please refer " +"to this wiki: Printing Tips for High Temp / Engineering materials." +msgstr "เมื่อพิมพ์ฟิลาเมนต์นี้ มีความเสี่ยงที่หัวฉีดจะอุดตัน ไหลซึม บิดเบี้ยว และมีความแข็งแรงในการยึดเกาะต่ำ เพื่อให้ได้ผลลัพธ์ที่ดีขึ้น โปรดดูที่วิกินี้: เคล็ดลับการพิมพ์สำหรับวัสดุอุณหภูมิสูง / วิศวกรรม" + +msgid "" +"To get better transparent or translucent results with the corresponding " +"filament, please refer to this wiki: Printing tips for transparent PETG." +msgstr "หากต้องการผลลัพธ์ที่โปร่งใสหรือโปร่งแสงดีขึ้นด้วยเส้นพลาสติกที่เกี่ยวข้อง โปรดดูที่วิกินี้: เคล็ดลับการพิมพ์สำหรับ PETG แบบโปร่งใส" + +msgid "" +"To make the prints get higher gloss, please dry the filament before use, and " +"set the outer wall speed to be 40 to 60 mm/s when slicing." +msgstr "เพื่อให้งานพิมพ์มีความมันวาวมากขึ้น โปรดทำให้เส้นพลาสติกแห้งก่อนใช้งาน และตั้งค่าความเร็วผนังด้านนอกเป็น 40 ถึง 60 มม./วินาที เมื่อหั่น" + +msgid "" +"This filament is only used to print models with a low density usually, and " +"some special parameters are required. To get better printing quality, please " +"refer to this wiki: Instructions for printing RC model with foaming PLA (PLA " +"Aero)." +msgstr "เส้นพลาสติกนี้ใช้สำหรับพิมพ์แบบจำลองที่มีความหนาแน่นต่ำเท่านั้น และจำเป็นต้องมีพารามิเตอร์พิเศษบางอย่าง หากต้องการคุณภาพการพิมพ์ที่ดีขึ้น โปรดดูที่วิกินี้: คำแนะนำสำหรับการพิมพ์รุ่น RC ด้วยฟอง PLA (PLA Aero)" + +msgid "" +"This filament is only used to print models with a low density usually, and " +"some special parameters are required. To get better printing quality, please " +"refer to this wiki: ASA Aero Printing Guide." +msgstr "เส้นพลาสติกนี้ใช้สำหรับพิมพ์แบบจำลองที่มีความหนาแน่นต่ำเท่านั้น และจำเป็นต้องมีพารามิเตอร์พิเศษบางอย่าง หากต้องการคุณภาพการพิมพ์ที่ดีขึ้น โปรดดูที่วิกินี้: ASA Aero Printing Guide" + +msgid "" +"This filament is too soft and not compatible with the AMS. Printing it is of " +"many requirements, and to get better printing quality, please refer to this " +"wiki: TPU printing guide." +msgstr "เส้นพลาสติกนี้อ่อนเกินไปและเข้ากันไม่ได้กับ AMS การพิมพ์นั้นมีข้อกำหนดหลายประการ และเพื่อให้ได้คุณภาพการพิมพ์ที่ดีขึ้น โปรดดูที่วิกินี้: คู่มือการพิมพ์ TPU" + +msgid "" +"This filament has high enough hardness (about 67D) and is compatible with " +"the AMS. Printing it is of many requirements, and to get better printing " +"quality, please refer to this wiki: TPU printing guide." +msgstr "เส้นพลาสติกนี้มีความแข็งสูงเพียงพอ (ประมาณ 67D) และเข้ากันได้กับ AMS การพิมพ์นั้นมีข้อกำหนดหลายประการ และเพื่อให้ได้คุณภาพการพิมพ์ที่ดีขึ้น โปรดดูที่วิกินี้: คู่มือการพิมพ์ TPU" + +msgid "" +"If you are to print a kind of soft TPU, please don't slice with this " +"profile, and it is only for TPU that has high enough hardness (not less than " +"55D) and is compatible with the AMS. To get better printing quality, please " +"refer to this wiki: TPU printing guide." +msgstr "หากคุณต้องการพิมพ์ TPU แบบอ่อน โปรดอย่าเฉือนด้วยโปรไฟล์นี้ และสำหรับ TPU เท่านั้นที่มีความแข็งสูงเพียงพอ (ไม่น้อยกว่า 55D) และเข้ากันได้กับ AMS หากต้องการคุณภาพการพิมพ์ที่ดีขึ้น โปรดดูที่วิกินี้: คู่มือการพิมพ์ TPU" + +msgid "" +"This is a water-soluble support filament, and usually it is only for the " +"support structure and not for the model body. Printing this filament is of " +"many requirements, and to get better printing quality, please refer to this " +"wiki: PVA Printing Guide." +msgstr "นี่คือเส้นพลาสติกรองรับที่ละลายน้ำได้ และโดยปกติจะใช้สำหรับโครงสร้างรองรับเท่านั้น ไม่ใช่สำหรับตัวโมเดล การพิมพ์เส้นพลาสติกนี้มีข้อกำหนดหลายประการ และเพื่อให้ได้คุณภาพการพิมพ์ที่ดีขึ้น โปรดดูที่วิกินี้: คู่มือการพิมพ์ PVA" + +msgid "" +"This is a non-water-soluble support filament, and usually it is only for the " +"support structure and not for the model body. To get better printing " +"quality, please refer to this wiki: Printing Tips for Support Filament and " +"Support Function." +msgstr "นี่คือเส้นพลาสติกรองรับที่ไม่ละลายน้ำ และโดยปกติจะใช้สำหรับโครงสร้างรองรับเท่านั้น ไม่ใช่สำหรับตัวโมเดล หากต้องการคุณภาพการพิมพ์ที่ดีขึ้น โปรดดูที่วิกินี้: เคล็ดลับการพิมพ์สำหรับเส้นพลาสติกรองรับและฟังก์ชันรองรับ" + +msgid "" +"The generic presets are conservatively tuned for compatibility with a wider " +"range of filaments. For higher printing quality and speeds, please use Bambu " +"filaments with Bambu presets." +msgstr "ค่าที่ตั้งไว้ล่วงหน้าทั่วไปได้รับการปรับแต่งอย่างระมัดระวังเพื่อให้เข้ากันได้กับเส้นพลาสติกที่หลากหลายมากขึ้น เพื่อคุณภาพการพิมพ์และความเร็วที่สูงขึ้น โปรดใช้เส้นพลาสติก Bambu กับการตั้งค่าล่วงหน้าของ Bambu" + +msgid "High quality profile for 0.2mm nozzle, prioritizing print quality." +msgstr "โปรไฟล์คุณภาพสูงสำหรับหัวฉีดขนาด 0.2 มม. โดยให้ความสำคัญกับคุณภาพการพิมพ์" + +msgid "" +"High quality profile for 0.16mm layer height, prioritizing print quality and " +"strength." +msgstr "โปรไฟล์คุณภาพสูงสำหรับความสูงของชั้น 0.16 มม. ให้ความสำคัญกับคุณภาพและความแข็งแรงในการพิมพ์" + +msgid "Standard profile for 0.16mm layer height, prioritizing speed." +msgstr "โปรไฟล์มาตรฐานสำหรับความสูงของชั้น 0.16 มม. โดยให้ความสำคัญกับความเร็ว" + +msgid "" +"High quality profile for 0.2mm layer height, prioritizing strength and print " +"quality." +msgstr "โปรไฟล์คุณภาพสูงสำหรับความสูงของชั้น 0.2 มม. โดยให้ความสำคัญกับความแข็งแกร่งและคุณภาพการพิมพ์" + +msgid "Standard profile for 0.4mm nozzle, prioritizing speed." +msgstr "โปรไฟล์มาตรฐานสำหรับหัวฉีดขนาด 0.4 มม. โดยให้ความสำคัญกับความเร็ว" + +msgid "" +"High quality profile for 0.6mm nozzle, prioritizing print quality and " +"strength." +msgstr "โปรไฟล์คุณภาพสูงสำหรับหัวฉีดขนาด 0.6 มม. ให้ความสำคัญกับคุณภาพและความแข็งแรงในการพิมพ์" + +msgid "Strength profile for 0.6mm nozzle, prioritizing strength." +msgstr "โปรไฟล์ความแข็งแกร่งสำหรับหัวฉีดขนาด 0.6 มม. โดยให้ความสำคัญกับความแข็งแรง" + +msgid "Standard profile for 0.6mm nozzle, prioritizing speed." +msgstr "โปรไฟล์มาตรฐานสำหรับหัวฉีดขนาด 0.6 มม. โดยให้ความสำคัญกับความเร็ว" + +msgid "High quality profile for 0.8mm nozzle, prioritizing print quality." +msgstr "โปรไฟล์คุณภาพสูงสำหรับหัวฉีดขนาด 0.8 มม. โดยให้ความสำคัญกับคุณภาพการพิมพ์" + +msgid "Strength profile for 0.8mm nozzle, prioritizing strength." +msgstr "โปรไฟล์ความแข็งแกร่งสำหรับหัวฉีด 0.8 มม. โดยจัดลำดับความสำคัญของความแข็งแกร่ง" + +msgid "Standard profile for 0.8mm nozzle, prioritizing speed." +msgstr "โปรไฟล์มาตรฐานสำหรับหัวฉีด 0.8 มม. โดยให้ความสำคัญกับความเร็ว" + +msgid "No AMS" +msgstr "ไม่มี AMS" + +msgid "There is no device available to send printing." +msgstr "ไม่มีอุปกรณ์ที่สามารถส่งการพิมพ์ได้" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "จำนวนเครื่องพิมพ์ที่ใช้งานพร้อมกันต้องไม่เท่ากับ 0" + +msgid "Use External Spool" +msgstr "ใช้ม้วนเส้นภายนอก" + +msgid "Select Printers" +msgstr "เลือกเครื่องพิมพ์" + +msgid "Device Name" +msgstr "ชื่ออุปกรณ์" + +msgid "Device Status" +msgstr "สถานะอุปกรณ์" + +msgid "AMS Status" +msgstr "สถานะ AMS" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "โปรดเลือกอุปกรณ์ที่คุณต้องการจัดการที่นี่ (สูงสุด 6 อุปกรณ์)" + +msgid "Printing Options" +msgstr "ตัวเลือกกำลังพิมพ์" + +msgid "Bed Leveling" +msgstr "การปรับระดับฐานพิมพ์" + +msgid "Flow Dynamic Calibration" +msgstr "การสอบเทียบแบบไดนามิกของโฟลว์" + +msgid "Send Options" +msgstr "ตัวเลือกส่ง" + +msgid "Send to" +msgstr "ส่งไปที่" + +msgid "" +"printers at the same time. (It depends on how many devices can undergo " +"heating at the same time.)" +msgstr "เครื่องพิมพ์ในเวลาเดียวกัน (ขึ้นอยู่กับจำนวนอุปกรณ์ที่สามารถทำความร้อนได้ในเวลาเดียวกัน)" + +msgid "Wait" +msgstr "รอ" + +msgid "" +"minute each batch. (It depends on how long it takes to complete the heating.)" +msgstr "นาทีในแต่ละชุด (ขึ้นอยู่กับระยะเวลาในการทำความร้อนให้เสร็จสิ้น)" + +msgid "Task Sending" +msgstr "กำลังส่งงาน" + +msgid "Task Sent" +msgstr "ส่งงานแล้ว" + +msgid "Edit multiple printers" +msgstr "แก้ไขเครื่องพิมพ์หลายเครื่อง" + +msgid "Select connected printers (0/6)" +msgstr "เลือกเครื่องพิมพ์ที่เชื่อมต่อ (0/6)" + +#, possible-c-format, possible-boost-format +msgid "Select Connected Printers (%d/6)" +msgstr "เลือกเครื่องพิมพ์ที่เชื่อมต่อ (%d/6)" + +#, possible-c-format, possible-boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "จำนวนเครื่องพิมพ์สูงสุดที่สามารถเลือกได้คือ %d" + +msgid "No task" +msgstr "ไม่มีงาน" + +msgid "Edit Printers" +msgstr "แก้ไขเครื่องพิมพ์" + +msgid "Task Name" +msgstr "ชื่องาน" + +msgid "Actions" +msgstr "การทำงาน" + +msgid "Task Status" +msgstr "สถานะงาน" + +msgid "Sent Time" +msgstr "เวลาที่ส่ง" + +msgid "There are no tasks to be sent!" +msgstr "ไม่มีงานที่จะส่ง!" + +msgid "No historical tasks!" +msgstr "ไม่มีภารกิจทางประวัติศาสตร์!" + +msgid "Upgrading" +msgstr "กำลังอัปเกรด" + +msgid "Syncing" +msgstr "กำลังซิงค์" + +msgid "Printing Finish" +msgstr "การพิมพ์เสร็จสิ้น" + +msgid "Printing Failed" +msgstr "การพิมพ์ล้มเหลว" + +msgid "Printing Pause" +msgstr "หยุดการพิมพ์ชั่วคราว" + +msgid "Pending" +msgstr "รอดำเนินการ" + +msgid "Sending" +msgstr "กำลังส่ง" + +msgid "Sending Finish" +msgstr "ส่งใบเสร็จ" + +msgid "Sending Cancel" +msgstr "กำลังส่ง ยกเลิก" + +msgid "Sending Failed" +msgstr "การส่งล้มเหลว" + +msgid "Print Success" +msgstr "พิมพ์สำเร็จ" + +msgid "Print Failed" +msgstr "พิมพ์ล้มเหลว" + +msgid "Removed" +msgstr "ลบออก" + +msgid "Don't remind me again" +msgstr "ไม่ต้องเตือนฉันอีก" + +msgid "No further pop-up will appear. You can reopen it in 'Preferences'" +msgstr "จะไม่มีป๊อปอัปเพิ่มไส้ในปรากฏขึ้น คุณสามารถเปิดใหม่ได้ใน 'การตั้งค่า'" + +msgid "Filament-Saving Mode" +msgstr "โหมดประหยัดเส้นพลาสติก" + +msgid "Convenience Mode" +msgstr "โหมดความสะดวกสบาย" + +msgid "Custom Mode" +msgstr "โหมดกำหนดเอง" + +msgid "" +"Generates filament grouping for the left and right nozzles based on the most " +"filament-saving principles to minimize waste." +msgstr "สร้างการจัดกลุ่มเส้นพลาสติกสำหรับหัวฉีดด้านซ้ายและขวาตามหลักการประหยัดเส้นพลาสติกมากที่สุดเพื่อลดของเสีย" + +msgid "" +"Generates filament grouping for the left and right nozzles based on the " +"printer's actual filament status, reducing the need for manual filament " +"adjustment." +msgstr "สร้างการจัดกลุ่มเส้นพลาสติกสำหรับหัวฉีดด้านซ้ายและขวาตามสถานะเส้นพลาสติกที่แท้จริงของเครื่องพิมพ์ ซึ่งช่วยลดความจำเป็นในการปรับเส้นพลาสติกด้วยตนเอง" + +msgid "Manually assign filament to the left or right nozzle" +msgstr "กำหนดเส้นพลาสติกให้กับหัวฉีดด้านซ้ายหรือขวาด้วยตนเอง" + +msgid "Global settings" +msgstr "การตั้งค่าส่วนกลาง" + +msgid "Video tutorial" +msgstr "วิดีโอสอน" + +msgid "(Sync with printer)" +msgstr "(ซิงค์กับเครื่องพิมพ์)" + +msgid "We will slice according to this grouping method:" +msgstr "เราจะหั่นตามวิธีการจัดกลุ่มนี้:" + +msgid "Tip: You can drag the filaments to reassign them to different nozzles." +msgstr "เคล็ดลับ: คุณสามารถลากเส้นพลาสติกเพื่อกำหนดใหม่ให้กับหัวฉีดที่แตกต่างกันได้" + +msgid "" +"The filament grouping method for current plate is determined by the dropdown " +"option at the slicing plate button." +msgstr "วิธีการจัดกลุ่มเส้นพลาสติกสำหรับเพลตปัจจุบันถูกกำหนดโดยตัวเลือกแบบเลื่อนลงที่ปุ่มแผ่นหั่น" + +msgid "Connected to Obico successfully!" +msgstr "เชื่อมต่อกับ Obico เรียบร้อยแล้ว!" + +msgid "Could not connect to Obico" +msgstr "ไม่สามารถเชื่อมต่อกับ Obico ได้" + +msgid "Connected to SimplyPrint successfully!" +msgstr "เชื่อมต่อกับ SimplyPrint เรียบร้อยแล้ว!" + +msgid "Could not connect to SimplyPrint" +msgstr "ไม่สามารถเชื่อมต่อกับ SimplyPrint" + +msgid "Internal error" +msgstr "ข้อผิดพลาดภายใน" + +msgid "Unknown error" +msgstr "ข้อผิดพลาดไม่ทราบสาเหตุ" + +msgid "SimplyPrint account not linked. Go to Connect options to set it up." +msgstr "บัญชี SimplyPrint ไม่ได้เชื่อมโยง ไปที่ตัวเลือกการเชื่อมต่อเพื่อตั้งค่า" + +msgid "Serial connection to Flashforge is working correctly." +msgstr "การเชื่อมต่อแบบอนุกรมกับ Flashforge ทำงานอย่างถูกต้อง" + +msgid "Could not connect to Flashforge via serial" +msgstr "ไม่สามารถเชื่อมต่อกับ Flashforge ผ่านทางอนุกรมได้" + +msgid "The provided state is not correct." +msgstr "สถานะที่ระบุไม่ถูกต้อง" + +msgid "Please give the required permissions when authorizing this application." +msgstr "โปรดให้สิทธิ์ที่จำเป็นเมื่อให้สิทธิ์แอปพลิเคชันนี้" + +msgid "Something unexpected happened when trying to log in, please try again." +msgstr "เกิดสิ่งที่ไม่คาดคิดขณะพยายามเข้าสู่ระบบ โปรดลองอีกครั้ง" + +msgid "User canceled." +msgstr "ผู้ใช้ยกเลิก" + +msgid "Head diameter" +msgstr "เส้นผ่านศูนย์กลางหัว" + +msgid "Max angle" +msgstr "มุมสูงสุด" + +msgid "Detection radius" +msgstr "รัศมีการตรวจจับ" + +msgid "Selected" +msgstr "เลือกแล้ว" + +msgid "Auto-generate" +msgstr "สร้างอัตโนมัติ" + +msgid "Generate brim ears using Max angle and Detection radius" +msgstr "สร้างหูขอบยึดชิ้นงานนกโดยใช้มุมสูงสุดและรัศมีการตรวจจับ" + +msgid "Add or Select" +msgstr "เพิ่มหรือเลือก" + +msgid "" +"Warning: The brim type is not set to \"painted\", the brim ears will not " +"take effect!" +msgstr "คำเตือน: ไม่ได้ตั้งค่าประเภทขอบยึดชิ้นงานเป็น \"ทาสี\" หูขอบยึดชิ้นงานจะไม่เกิดผล!" + +msgid "Set the brim type of this object to \"painted\"" +msgstr "ตั้งค่าประเภทขอบของวัตถุนี้เป็น \"ทาสี\"" + +msgid "invalid brim ears" +msgstr "หูขอบยึดชิ้นงานไม่ถูกต้อง" + +msgid "Brim Ears" +msgstr "หู ขอบยึดชิ้นงาน" + +msgid "Please select single object." +msgstr "กรุณาเลือกวัตถุเดียว" + +msgid "Zoom Out" +msgstr "ซูมออก" + +msgid "Zoom In" +msgstr "ซูมเข้า" + +msgid "Load skipping objects information failed. Please try again." +msgstr "โหลดข้อมูลวัตถุที่ข้ามล้มเหลว โปรดลองอีกครั้ง" + +#, possible-c-format, possible-boost-format +msgid "/%d Selected" +msgstr "/%d เลือกแล้ว" + +msgid "Nothing selected" +msgstr "ยังไม่ได้เลือกอะไร" + +msgid "Over 64 objects in single plate" +msgstr "วัตถุมากกว่า 64 รายการในจานเดียว" + +msgid "The current print job cannot be skipped" +msgstr "งานพิมพ์ปัจจุบันไม่สามารถข้ามได้" + +msgid "Skipping all objects." +msgstr "ข้ามวัตถุทั้งหมด" + +msgid "The printing job will be stopped. Continue?" +msgstr "งานพิมพ์จะหยุดลง ดำเนินการต่อ?" + +#, possible-c-format, possible-boost-format +msgid "Skipping %d objects." +msgstr "กำลังข้าม %d วัตถุ" + +msgid "This action cannot be undone. Continue?" +msgstr "การทำงานนี้ไม่สามารถย้อนกลับได้ ดำเนินการต่อหรือไม่" + +msgid "Skipping objects." +msgstr "ข้ามวัตถุ" + +msgid "Select Filament" +msgstr "เลือกเส้นพลาสติก" + +msgid "Null Color" +msgstr "สีว่าง" + +msgid "Multiple Color" +msgstr "หลายสี" + +msgid "Official Filament" +msgstr "เส้นพลาสติกทางการ" + +msgid "More Colors" +msgstr "สีเพิ่มไส้ใน" + +msgid "Network Plug-in Update Available" +msgstr "มีการอัปเดตปลั๊กอินเครือข่ายแล้ว" + +msgid "Bambu Network Plug-in Required" +msgstr "ต้องใช้ปลั๊กอินเครือข่าย Bambu" + +msgid "" +"The Bambu Network Plug-in is corrupted or incompatible. Please reinstall it." +msgstr "ปลั๊กอินเครือข่าย Bambu เสียหายหรือเข้ากันไม่ได้ กรุณาติดตั้งใหม่" + +msgid "" +"The Bambu Network Plug-in is required for cloud features, printer discovery, " +"and remote printing." +msgstr "ปลั๊กอินเครือข่าย Bambu จำเป็นสำหรับคุณสมบัติคลาวด์ การค้นหาเครื่องพิมพ์ และการพิมพ์ระยะไกล" + +#, possible-c-format, possible-boost-format +msgid "Error: %s" +msgstr "ข้อผิดพลาด: %s" + +msgid "Show details" +msgstr "แสดงรายละเอียด" + +msgid "Version to install:" +msgstr "เวอร์ชันที่จะติดตั้ง:" + +msgid "Download and Install" +msgstr "ดาวน์โหลดและติดตั้ง" + +msgid "Skip for Now" +msgstr "ข้ามไปก่อน" + +msgid "A new version of the Bambu Network Plug-in is available." +msgstr "ปลั๊กอิน Bambu Network Plug-in เวอร์ชันใหม่พร้อมใช้งานแล้ว" + +#, possible-c-format, possible-boost-format +msgid "Current version: %s" +msgstr "เวอร์ชันปัจจุบัน: %s" + +msgid "Update to version:" +msgstr "อัปเดตเป็นเวอร์ชัน:" + +msgid "Update Now" +msgstr "อัปเดตตอนนี้" + +msgid "Remind Later" +msgstr "เตือนทีหลัง" + +msgid "Skip Version" +msgstr "ข้ามเวอร์ชัน" + +msgid "Don't Ask Again" +msgstr "อย่าถามอีก" + +msgid "The Bambu Network Plug-in has been installed successfully." +msgstr "ติดตั้งปลั๊กอินเครือข่าย Bambu สำเร็จแล้ว" + +msgid "" +"A restart is required to load the new plug-in. Would you like to restart now?" +msgstr "จำเป็นต้องรีสตาร์ทเพื่อโหลดปลั๊กอินใหม่ คุณต้องการรีสตาร์ทตอนนี้หรือไม่?" + +msgid "Restart Now" +msgstr "เริ่มใหม่ตอนนี้" + +msgid "Restart Later" +msgstr "เริ่มใหม่ภายหลัง" + +msgid "NO RAMMING AT ALL" +msgstr "ไม่มีการกระแทกเลย" + +msgid "Volumetric speed" +msgstr "ความเร็วปริมาตร" + +msgid "Step file import parameters" +msgstr "พารามิเตอร์การนำเข้าไฟล์ขั้นตอน" + +msgid "" +"Smaller linear and angular deflections result in higher-quality " +"transformations but increase the processing time." +msgstr "การโก่งตัวเชิงเส้นและเชิงมุมที่น้อยลงส่งผลให้มีการแปลงคุณภาพสูงขึ้น แต่จะใช้เวลาในการประมวลผลเพิ่มขึ้น" + +msgid "Linear Deflection" +msgstr "การโก่งตัวเชิงเส้น" + +msgid "Please input a valid value (0.001 < linear deflection < 0.1)" +msgstr "โปรดป้อนค่าที่ถูกต้อง (0.001 < การโก่งเชิงเส้น < 0.1)" + +msgid "Angle Deflection" +msgstr "การโก่งตัวของมุม" + +msgid "Please input a valid value (0.01 < angle deflection < 1.0)" +msgstr "โปรดป้อนค่าที่ถูกต้อง (0.01 < การโก่งมุม < 1.0)" + +msgid "Split compound and compsolid into multiple objects" +msgstr "แยกสารประกอบและรวมเป็นวัตถุหลายชิ้น" + +msgid "Number of triangular facets" +msgstr "จำนวนด้านสามเหลี่ยม" + +msgid "Calculating, please wait..." +msgstr "กำลังคำนวณ โปรดรอสักครู่..." + +msgid "" +"The filament may not be compatible with the current machine settings. " +"Generic filament presets will be used." +msgstr "เส้นพลาสติกอาจไม่เข้ากันกับการตั้งค่าเครื่องปัจจุบัน จะใช้การตั้งค่าฟิลาเมนต์ทั่วไป" + +msgid "" +"The filament model is unknown. Still using the previous filament preset." +msgstr "ไม่ทราบแบบจำลองเส้นพลาสติก ยังคงใช้ค่าที่ตั้งไว้ล่วงหน้าของฟิลาเมนต์ก่อนหน้านี้" + +msgid "The filament model is unknown. Generic filament presets will be used." +msgstr "ไม่ทราบแบบจำลองเส้นพลาสติก จะใช้การตั้งค่าฟิลาเมนต์ทั่วไป" + +msgid "" +"The filament may not be compatible with the current machine settings. A " +"random filament preset will be used." +msgstr "เส้นพลาสติกอาจไม่เข้ากันกับการตั้งค่าเครื่องปัจจุบัน ระบบจะใช้การตั้งค่าฟิลาเมนต์แบบสุ่ม" + +msgid "The filament model is unknown. A random filament preset will be used." +msgstr "ไม่ทราบแบบจำลองเส้นพลาสติก ระบบจะใช้การตั้งค่าฟิลาเมนต์แบบสุ่ม" + +#: resources/data/hints.ini: [hint:Precise wall] +msgid "Precise wall\nDid you know that turning on precise wall can improve precision and layer consistency?" +msgstr "ผนังที่แม่นยำ\nคุณรู้หรือไม่ว่าการเปิดผนังที่แม่นยำสามารถปรับปรุงความแม่นยำและความสม่ำเสมอของชั้นได้" + +#: resources/data/hints.ini: [hint:Sandwich mode] +msgid "Sandwich mode\nDid you know that you can use sandwich mode (inner-outer-inner) to improve precision and layer consistency if your model doesn't have very steep overhangs?" +msgstr "โหมดแซนด์วิช\nคุณรู้ไหมว่าคุณสามารถใช้โหมดแซนวิช (ด้านใน-ด้านนอก-ด้านใน) เพื่อปรับปรุงความแม่นยำและความสม่ำเสมอของเลเยอร์ได้ หากแบบจำลองของคุณไม่มีระยะยื่นที่สูงชันมากนัก" + +#: resources/data/hints.ini: [hint:Chamber temperature] +msgid "Chamber temperature\nDid you know that OrcaSlicer supports chamber temperature?" +msgstr "อุณหภูมิห้อง\nคุณรู้หรือไม่ว่า OrcaSlicer รองรับอุณหภูมิห้องเพาะเลี้ยง?" + +#: resources/data/hints.ini: [hint:Calibration] +msgid "Calibration\nDid you know that calibrating your printer can do wonders? Check out our beloved calibration solution in OrcaSlicer." +msgstr "การสอบเทียบ\nคุณรู้หรือไม่ว่าการปรับเทียบเครื่องพิมพ์ของคุณสามารถสร้างสิ่งมหัศจรรย์ได้ ตรวจสอบโซลูชันการสอบเทียบที่เราชื่นชอบใน OrcaSlicer" + +#: resources/data/hints.ini: [hint:Auxiliary fan] +msgid "Auxiliary fan\nDid you know that OrcaSlicer supports Auxiliary part cooling fan?" +msgstr "พัดลมเสริม\nคุณรู้หรือไม่ว่า OrcaSlicer รองรับพัดลมระบายความร้อนชิ้นส่วนเสริม?" + +#: resources/data/hints.ini: [hint:Air filtration] +msgid "Air filtration/Exhaust Fan\nDid you know that OrcaSlicer can support Air filtration/Exhaust Fan?" +msgstr "เครื่องกรองอากาศ/พัดลมดูดอากาศ\nคุณรู้หรือไม่ว่า OrcaSlicer สามารถรองรับการกรองอากาศ/พัดลมดูดอากาศได้" + +#: resources/data/hints.ini: [hint:G-code window] +msgid "G-code window\nYou can turn on/off the G-code window by pressing the C key." +msgstr "หน้าต่างรหัส G\nคุณสามารถเปิด/ปิดหน้าต่าง G-code ได้โดยการกดปุ่ม C" + +#: resources/data/hints.ini: [hint:Switch workspaces] +msgid "Switch workspaces\nYou can switch between Prepare and Preview workspaces by pressing the Tab key." +msgstr "สลับพื้นที่ทำงาน\nคุณสามารถสลับระหว่างพื้นที่ทำงาน จัดเตรียม และ ดูตัวอย่าง ได้โดยการกดปุ่ม Tab" + +#: resources/data/hints.ini: [hint:How to use keyboard shortcuts] +msgid "How to use keyboard shortcuts\nDid you know that Orca Slicer offers a wide range of keyboard shortcuts and 3D scene operations?" +msgstr "วิธีใช้แป้นพิมพ์ลัด\nคุณรู้หรือไม่ว่า Orca Slicer มีแป้นพิมพ์ลัดและการทำงานของฉาก 3 มิติที่หลากหลาย" + +#: resources/data/hints.ini: [hint:Reverse on even] +msgid "Reverse on even\nDid you know that Reverse on even feature can significantly improve the surface quality of your overhangs? However, it can cause wall inconsistencies so use carefully!" +msgstr "ย้อนกลับในคู่\nคุณรู้หรือไม่ว่าคุณลักษณะ ย้อนกลับเมื่อสม่ำเสมอ สามารถปรับปรุงคุณภาพพื้นผิวของระยะยื่นของคุณได้อย่างมาก อย่างไรก็ตาม อาจทำให้เกิดความไม่สอดคล้องกันของผนังได้ ดังนั้นโปรดใช้อย่างระมัดระวัง!" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "Cut Tool\nDid you know that you can cut a model at any angle and position with the cutting tool?" +msgstr "เครื่องมือตัด\nคุณรู้หรือไม่ว่าคุณสามารถตัดแบบจำลองได้ทุกมุมและทุกตำแหน่งด้วยเครื่องมือตัด" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "Fix Model\nDid you know that you can fix a corrupted 3D model to avoid a lot of slicing problems on the Windows system?" +msgstr "แก้ไขโมเดล\nคุณรู้ไหมว่าคุณสามารถแก้ไขโมเดล 3 มิติที่เสียหายได้เพื่อหลีกเลี่ยงปัญหาการแบ่งส่วนในระบบ Windows มากมาย" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "Timelapse\nDid you know that you can generate a timelapse video during each print?" +msgstr "ไทม์แลปส์\nคุณรู้ไหมว่าคุณสามารถสร้างวิดีโอไทม์แลปส์ระหว่างการพิมพ์แต่ละครั้งได้" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "Auto-Arrange\nDid you know that you can auto-arrange all the objects in your project?" +msgstr "จัดเรียงอัตโนมัติ\nคุณรู้ไหมว่าคุณสามารถจัดเรียงออบเจ็กต์ทั้งหมดในโครงการของคุณได้โดยอัตโนมัติ" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "Auto-Orient\nDid you know that you can rotate objects to an optimal orientation for printing with a simple click?" +msgstr "ปรับทิศทางอัตโนมัติ\nคุณรู้หรือไม่ว่าคุณสามารถหมุนวัตถุให้อยู่ในแนวที่เหมาะสมที่สุดสำหรับการพิมพ์ด้วยการคลิกเพียงครั้งเดียว" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "Lay on Face\nDid you know that you can quickly orient a model so that one of its faces sits on the print bed? Select the \"Place on face\" function or press the F key." +msgstr "วางบนหน้า\nคุณรู้ไหมว่าคุณสามารถปรับทิศทางแบบจำลองได้อย่างรวดเร็วเพื่อให้ผิวหน้าด้านใดด้านหนึ่งวางอยู่บนฐานพิมพ์ เลือกฟังก์ชัน \"วางบนหน้า\" หรือกดปุ่ม F" + +#: resources/data/hints.ini: [hint:Object List] +msgid "Object List\nDid you know that you can view all objects/parts in a list and change settings for each object/part?" +msgstr "รายการวัตถุ\nคุณรู้ไหมว่าคุณสามารถดูวัตถุ/ชิ้นส่วนทั้งหมดในรายการและเปลี่ยนการตั้งค่าสำหรับแต่ละวัตถุ/ชิ้นส่วนได้" + +#: resources/data/hints.ini: [hint:Search Functionality] +msgid "Search Functionality\nDid you know that you use the Search tool to quickly find a specific Orca Slicer setting?" +msgstr "ฟังก์ชั่นการค้นหา\nคุณรู้ไหมว่าคุณใช้เครื่องมือค้นหาเพื่อค้นหาการตั้งค่า Orca Slicer ที่ต้องการอย่างรวดเร็ว" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "Simplify Model\nDid you know that you can reduce the number of triangles in a mesh using the Simplify mesh feature? Right-click the model and select Simplify model." +msgstr "ลดความซับซ้อนของโมเดล\nคุณรู้ไหมว่าคุณสามารถลดจำนวนสามเหลี่ยมใน mesh ได้โดยใช้ฟีเจอร์ Simplify mesh คลิกขวาที่โมเดลแล้วเลือกลดความซับซ้อนของโมเดล" + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "Slicing Parameter Table\nDid you know that you can view all objects/parts on a table and change settings for each object/part?" +msgstr "ตารางพารามิเตอร์การแบ่งส่วน\nคุณรู้ไหมว่าคุณสามารถดูวัตถุ/ชิ้นส่วนทั้งหมดบนโต๊ะและเปลี่ยนการตั้งค่าสำหรับแต่ละวัตถุ/ชิ้นส่วนได้" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "Split to Objects/Parts\nDid you know that you can split a big object into small ones for easy colorizing or printing?" +msgstr "แยกเป็นวัตถุ/ชิ้นส่วน\nคุณรู้ไหมว่าคุณสามารถแบ่งวัตถุขนาดใหญ่ออกเป็นชิ้นเล็กเพื่อให้ระบายสีหรือพิมพ์ได้ง่าย" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "Subtract a Part\nDid you know that you can subtract one mesh from another using the Negative part modifier? That way you can, for example, create easily resizable holes directly in Orca Slicer." +msgstr "ลบส่วนหนึ่ง\nคุณรู้ไหมว่าคุณสามารถลบหนึ่ง mesh จากอีกอันหนึ่งได้โดยใช้ Negative part modifier? ด้วยวิธีนี้ คุณสามารถสร้างรูที่ปรับขนาดได้อย่างง่ายดายโดยตรงใน Orca Slicer" + +#: resources/data/hints.ini: [hint:STEP] +msgid "STEP\nDid you know that you can improve your print quality by slicing a STEP file instead of an STL?\nOrca Slicer supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!" +msgstr "ขั้นตอน\nคุณรู้ไหมว่าคุณสามารถปรับปรุงคุณภาพการพิมพ์ได้โดยการแบ่งไฟล์ STEP แทนที่จะเป็น STL\nOrca Slicer รองรับการแบ่งไฟล์ STEP ซึ่งให้ผลลัพธ์ที่นุ่มนวลกว่า STL ที่มีความละเอียดต่ำกว่า ลองดูสิ!" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "Z seam location\nDid you know that you can customize the location of the Z seam, and even paint it on your print, to have it in a less visible location? This improves the overall look of your model. Check it out!" +msgstr "ตำแหน่งรอยตะเข็บ Z\nคุณรู้ไหมว่าคุณสามารถปรับแต่งตำแหน่งของรอยตะเข็บ Z และแม้แต่ทาสีบนงานพิมพ์เพื่อให้อยู่ในตำแหน่งที่มองเห็นได้น้อยลง สิ่งนี้จะช่วยปรับปรุงรูปลักษณ์โดยรวมของโมเดลของคุณ ตรวจสอบออก!" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "Fine-tuning for flow rate\nDid you know that flow rate can be fine-tuned for even better-looking prints? Depending on the material, you can improve the overall finish of the printed model by doing some fine-tuning." +msgstr "Fine-tuning for flow rate\nคุณรู้หรือไม่ว่าอัตราการไหลสามารถปรับได้อย่างละเอียดเพื่อให้งานพิมพ์ดูดีขึ้น คุณสามารถปรับปรุงการตกแต่งโดยรวมของโมเดลที่พิมพ์ออกมาได้โดยการปรับแต่งแบบละเอียด ทั้งนี้ขึ้นอยู่กับวัสดุ" + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "Split your prints into plates\nDid you know that you can split a model that has a lot of parts into individual plates ready to print? This will simplify the process of keeping track of all the parts." +msgstr "แบ่งงานพิมพ์ของคุณออกเป็นจาน\nคุณรู้ไหมว่าคุณสามารถแบ่งแบบจำลองที่มีชิ้นส่วนจำนวนมากออกเป็นเพลตแต่ละอันที่พร้อมพิมพ์ได้ สิ่งนี้จะทำให้กระบวนการติดตามทุกส่วนง่ายขึ้น" + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer Height] +msgid "Speed up your print with Adaptive Layer Height\nDid you know that you can print a model even faster, by using the Adaptive Layer Height option? Check it out!" +msgstr "เร่งความเร็วการพิมพ์ของคุณด้วย Adaptive Layer Height\nคุณรู้ไหมว่าคุณสามารถพิมพ์แบบจำลองได้เร็วยิ่งขึ้นด้วยการใช้ตัวเลือก Adaptive Layer Height ตรวจสอบออก!" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "Support painting\nDid you know that you can paint the location of your supports? This feature makes it easy to place the support material only on the sections of the model that actually need it." +msgstr "ส่วนรองรับการวาดภาพ\nคุณรู้ไหมว่าคุณสามารถทาสีตำแหน่งของส่วนรองรับของคุณได้? คุณสมบัตินี้ทำให้ง่ายต่อการวางวัสดุรองรับเฉพาะส่วนของรุ่นที่ต้องการจริงๆ" + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "Different types of supports\nDid you know that you can choose from multiple types of supports? Tree supports work great for organic models, while saving filament and improving print speed. Check them out!" +msgstr "ส่วนรองรับประเภทต่างๆ\nคุณรู้ไหมว่าคุณสามารถเลือกส่วนรองรับได้หลายประเภท? Tree ส่วนรองรับ ใช้งานได้ดีกับโมเดลออร์แกนิก ในขณะที่ประหยัดเส้นพลาสติกและปรับปรุงความเร็วในการพิมพ์ ตรวจสอบพวกเขาออก!" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "Printing Silk Filament\nDid you know that Silk filament needs special consideration to print it successfully? Higher temperature and lower speed are always recommended for the best results." +msgstr "การพิมพ์เส้นไหม\nคุณรู้หรือไม่ว่าเส้นไหมจำเป็นต้องพิจารณาเป็นพิเศษจึงจะพิมพ์ได้สำเร็จ แนะนำให้ใช้อุณหภูมิที่สูงขึ้นและความเร็วที่ต่ำลงเพื่อผลลัพธ์ที่ดีที่สุด" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "Brim for better adhesion\nDid you know that when printed models have a small contact interface with the printing surface, it's recommended to use a brim?" +msgstr "ขอบยึดชิ้นงานเพื่อการยึดเกาะที่ดีขึ้น\nคุณรู้หรือไม่ว่าเมื่อแบบจำลองที่พิมพ์มีส่วนติดต่อขนาดเล็กกับพื้นผิวการพิมพ์ ขอแนะนำให้ใช้ขอบยึดชิ้นงาน" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "Set parameters for multiple objects\nDid you know that you can set slicing parameters for all selected objects at once?" +msgstr "ตั้งค่าพารามิเตอร์สำหรับวัตถุหลายรายการ\nคุณรู้ไหมว่าคุณสามารถตั้งค่าพารามิเตอร์การแบ่งส่วนสำหรับวัตถุที่เลือกทั้งหมดได้ในคราวเดียว" + +#: resources/data/hints.ini: [hint:Stack objects] +msgid "Stack objects\nDid you know that you can stack objects as a whole one?" +msgstr "ซ้อนวัตถุ\nคุณรู้ไหมว่าคุณสามารถซ้อนวัตถุโดยรวมได้?" + +#: resources/data/hints.ini: [hint:Flush into support/objects/infill] +msgid "Flush into support/objects/infill\nDid you know that you can reduce wasted filament by flushing it into support/objects/infill during filament change?" +msgstr "ไล่เส้นเข้าสู่ส่วนรองรับ/วัตถุ/ไส้ใน\nคุณรู้ไหมว่าคุณสามารถลดการสูญเสียเส้นพลาสติกโดยการทิ้งลงในส่วนรองรับ/วัตถุ/ไส้ในระหว่างการเปลี่ยนเส้นพลาสติก" + +#: resources/data/hints.ini: [hint:Improve strength] +msgid "Improve strength\nDid you know that you can use more wall loops and higher sparse infill density to improve the strength of the model?" +msgstr "ปรับปรุงความแข็งแรง\nคุณรู้ไหมว่าคุณสามารถใช้ลูปติดผนังได้มากขึ้นและมีความหนาแน่นของไส้ในแบบโปร่งที่สูงขึ้นเพื่อปรับปรุงความแข็งแกร่งของแบบจำลอง" + +#: resources/data/hints.ini: [hint:When do you need to print with the printer door opened] +msgid "When do you need to print with the printer door opened?\nDid you know that opening the printer door can reduce the probability of extruder/hotend clogging when printing lower temperature filament with a higher enclosure temperature? More info about this in the Wiki." +msgstr "เมื่อใดที่คุณจำเป็นต้องพิมพ์โดยเปิดประตูเครื่องพิมพ์?\nคุณรู้หรือไม่ว่าการเปิดประตูเครื่องพิมพ์สามารถลดโอกาสที่ชุดดันเส้น/ฮอตเอนด์จะอุดตันเมื่อพิมพ์เส้นพลาสติกที่มีอุณหภูมิต่ำลงและมีอุณหภูมิของกรอบที่สูงขึ้น ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ใน Wiki" + +#: resources/data/hints.ini: [hint:Avoid warping] +msgid "Avoid warping\nDid you know that when printing materials that are prone to warping such as ABS, appropriately increasing the heatbed temperature can reduce the probability of warping?" +msgstr "หลีกเลี่ยงการบิดเบี้ยว\nคุณรู้หรือไม่ว่าเมื่อพิมพ์วัสดุที่มีแนวโน้มที่จะเกิดการบิดเบี้ยว เช่น ABS การเพิ่มอุณหภูมิฐานพิมพ์อย่างเหมาะสมสามารถลดความน่าจะเป็นของการบิดเบี้ยวได้" diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index bd71f001ee..10d6bc2876 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -8659,6 +8659,7 @@ wxString GUI_App::current_language_code_safe() const { "pt", "pt_BR", }, { "lt", "lt_LT", }, { "vi", "vi_VN", }, + { "th", "th_TH", }, }; wxString language_code = this->current_language_code().BeforeFirst('_'); auto it = mapping.find(language_code); diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 7a78e337f3..8720da84a1 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -152,7 +152,8 @@ wxBoxSizer *PreferencesDialog::create_item_language_combobox(wxString title, wxS wxLANGUAGE_CATALAN, wxLANGUAGE_PORTUGUESE_BRAZILIAN, wxLANGUAGE_LITHUANIAN, - wxLANGUAGE_VIETNAMESE + wxLANGUAGE_VIETNAMESE, + wxLANGUAGE_THAI }; auto translations = wxTranslations::Get()->GetAvailableTranslations(SLIC3R_APP_KEY); @@ -259,6 +260,9 @@ wxBoxSizer *PreferencesDialog::create_item_language_combobox(wxString title, wxS else if (vlist[i] == wxLocale::GetLanguageInfo(wxLANGUAGE_VIETNAMESE)) { language_name = wxString::FromUTF8("Tiếng Việt"); } + else if (vlist[i] == wxLocale::GetLanguageInfo(wxLANGUAGE_THAI)) { + language_name = wxString::FromUTF8("\xE0\xB9\x84\xE0\xB8\x97\xE0\xB8\xA2"); + } if (app_config->get(param) == vlist[i]->CanonicalName) { m_current_language_selected = i; From 737c684a937777e4474e043547d1b2a1fa1de81b Mon Sep 17 00:00:00 2001 From: Alexandre Folle de Menezes Date: Mon, 1 Jun 2026 09:12:06 -0300 Subject: [PATCH 53/69] Improve and complement pt-BR translation (#13973) --- localization/i18n/pt_BR/OrcaSlicer_pt_BR.po | 148 ++++++++++++++++---- 1 file changed, 118 insertions(+), 30 deletions(-) diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index 67bda6a277..c256b43bdb 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -628,10 +628,10 @@ msgid "Add connectors" msgstr "Adicionar conectores" msgid "Upper part" -msgstr "Parte superior" +msgstr "Peça superior" msgid "Lower part" -msgstr "Parte inferior" +msgstr "Peça inferior" msgid "Keep" msgstr "Manter" @@ -8027,7 +8027,7 @@ msgid "Disable Auto-Drop to preserve z positioning?\n" msgstr "" msgid "Object with floating parts was detected" -msgstr "" +msgstr "Foi detectado um objeto com partes flutuantes" msgid "Another export job is running." msgstr "Outro trabalho de exportação está em execução." @@ -8446,7 +8446,7 @@ msgid "Triangles: %1%\n" msgstr "Triângulos: %1%\n" msgid "Use \"Fix Model\" to repair the mesh." -msgstr "" +msgstr "Use \"Corrigir Modelo\" para reparar a malha." #, c-format, boost-format msgid "" @@ -8619,18 +8619,20 @@ msgid "Show splash screen" msgstr "Mostrar tela de abertura" msgid "Show the splash screen during startup." -msgstr "Mostra a tela de abertura durante a inicialização." +msgstr "Mostrar a tela de abertura durante a inicialização." msgid "Show shared profiles notification" -msgstr "" +msgstr "Mostrar notificação de perfis compartilhados" msgid "" "Show a notification with a link to browse shared profiles when the selected " "printer is changed." msgstr "" +"Mostrar uma notificação com um link para navegar pelos perfis compartilhados " +"quando a impressora selecionada for alterada." msgid "Use window buttons on left side" -msgstr "" +msgstr "Usar os botões de janela no lado esquerdo" msgid "(Requires restart)" msgstr "(Requer reinício)" @@ -8963,12 +8965,15 @@ msgid "" "Limits viewport frame rate to reduce GPU load and power usage.\n" "Set to 0 for unlimited frame rate." msgstr "" +"Limita a taxa de quadros da janela de visualização para reduzir a carga da " +"GPU e o consumo de energia.\n" +"Defina como 0 para taxa de quadros ilimitada." msgid "Show FPS overlay" -msgstr "" +msgstr "Mostrar painel de FPS" msgid "Displays current viewport FPS in the top-right corner." -msgstr "" +msgstr "Exibe o FPS atual da janela de visualização no canto superior direito." msgid "Login region" msgstr "Região de login" @@ -8981,6 +8986,10 @@ msgid "" "the transmission of data to Bambu's cloud services too. Users who don't use " "BBL machines or use LAN mode only can safely turn on this function." msgstr "" +"Esta opção desativa todos os serviços em nuvem, como o Orca Cloud e o Bambu " +"Cloud. Isso também interrompe a transmissão de dados para os serviços em " +"nuvem da Bambu. Usuários que não utilizam máquinas Bambu Labs ou que usam " +"apenas o modo LAN podem ativar esta função com segurança." msgid "Network test" msgstr "Teste de Rede" @@ -9286,7 +9295,7 @@ msgid "Project-inside presets" msgstr "Predefinições dentro do projeto" msgid "Bundle presets" -msgstr "" +msgstr "Empacotar predefinições" msgid "System" msgstr "Sistema" @@ -9889,6 +9898,9 @@ msgid "" "type in the slicing file. Please make sure you have installed the correct " "filament in the external spool." msgstr "" +"O tipo de filamento externo é desconhecido ou não corresponde ao tipo de " +"filamento no arquivo de fatiamento. Certifique-se de ter instalado o " +"filamento correto no carretel externo." msgid "Please refer to Wiki before use->" msgstr "Consulte o Wiki antes de usar->" @@ -11506,11 +11518,15 @@ msgid "" "Native Wayland liveview requires the GStreamer GTK video sink. Please " "install the gtksink plugin for GStreamer, then restart OrcaSlicer." msgstr "" +"A visualização ao vivo nativa do Wayland requer o receptor de vídeo GTK do " +"GStreamer. Instale o plugin gtksink para GStreamer e reinicie o OrcaSlicer." msgid "" "Failed to initialize the native Wayland GStreamer video sink. Please check " "your GStreamer GTK plugin installation." msgstr "" +"Falha ao inicializar o receptor de vídeo nativo do Wayland GStreamer. " +"Verifique a instalação do plugin GStreamer GTK." msgid "" "Windows Media Player is required for this task! Do you want to enable " @@ -11551,6 +11567,8 @@ msgstr "" msgid "Cloud agent is not available. Please restart OrcaSlicer and try again." msgstr "" +"O agente na nuvem não está disponível. Reinicie o OrcaSlicer e tente " +"novamente." msgid "Bambu Network plug-in not detected." msgstr "Plug-in de Rede Bambu não detectado." @@ -11742,7 +11760,7 @@ msgid "Zoom out" msgstr "Afastar zoom" msgid "Toggle printable for object/part" -msgstr "" +msgstr "Alternar modo de impressão para objeto/peça" msgid "Switch between Prepare/Preview" msgstr "Alternar entre Preparar/Pré-visualizar" @@ -11997,13 +12015,13 @@ msgstr "Mesa de Extensão" #, boost-format msgid "Split into %1% parts" -msgstr "" +msgstr "Dividir em %1% peças" msgid "Repair finished" msgstr "Reparo concluído" msgid "Repair failed" -msgstr "" +msgstr "Reparo falhou" msgid "Repair canceled" msgstr "Reparo cancelado" @@ -12083,15 +12101,19 @@ msgid "Flush volumes matrix do not match to the correct size!" msgstr "A matriz de volumes de descarga não corresponde ao tamanho correto!" msgid "set_accel_and_jerk() is only supported by Klipper" -msgstr "" +msgstr "set_accel_and_jerk() só é suportado pelo Klipper" msgid "" "Input shaping is not supported by Marlin < 2.1.2.\n" "Check your firmware version and update your G-code flavor to ´Marlin 2´" msgstr "" +"O controle de entrada não é suportado pelo Marlin < 2.1.2.\n" +"Verifique a versão do seu firmware e atualize o seu G-code para 'Marlin 2'" msgid "Input shaping is only supported by Klipper, RepRapFirmware and Marlin 2" msgstr "" +"O controle de entrada é suportado apenas pelo Klipper, RepRapFirmware e " +"Marlin 2" msgid "Grouping error: " msgstr "Erro de agrupamento: " @@ -12676,7 +12698,7 @@ msgstr "" "por este valor." msgid "Elephant foot layers density" -msgstr "" +msgstr "Densidade das camadas do pé de elefante" msgid "" "Density of internal solid infill for Elephant foot layers compensation.\n" @@ -12684,6 +12706,11 @@ msgid "" "Subsequent layers become linearly denser by the height specified in " "elefant_foot_compensation_layers." msgstr "" +"Densidade do preenchimento sólido interno para compensação das camadas de " +"pé de elefante.\n" +"O valor inicial para a segunda camada está definido.\n" +"As camadas subsequentes tornam-se linearmente mais densas pela altura " +"especificada em elefant_foot_compensation_layers." msgid "" "Slicing height for each layer. Smaller layer height means more accurate and " @@ -13849,14 +13876,18 @@ msgstr "" msgid "" "Enable this to override the fan speed set in custom G-code during print." msgstr "" +"Habilite para substituir a velocidade da ventoinha definida no G-code " +"personalizado durante a impressão." msgid "On completion" -msgstr "" +msgstr "Na cinclusão" msgid "" "Enable this to override the fan speed set in custom G-code after print " "completion." msgstr "" +"Habilite para substituir a velocidade da ventoinha definida no G-code " +"personalizado após a conclusão da impressão." msgid "" "Speed of exhaust fan during printing. This speed will override the speed in " @@ -14284,6 +14315,13 @@ msgid "" "\n" "This option will be disabled if spiral vase mode is enabled." msgstr "" +"A direção em que as voltas da parede de contorno são extrudados quando " +"vistos de cima.\n" +"Os furos são impressos na direção oposta ao contorno para manter o " +"alinhamento com as camadas cujos polígonos de contorno estão incompletos e " +"mudam de direção, formando também parcialmente o contorno de um furo.\n" +"\n" +"Esta opção será desativada se o modo vaso espiral estiver ativado." msgid "Counter clockwise" msgstr "Anti-horário" @@ -14684,16 +14722,16 @@ msgid "Auto For Match" msgstr "Automático para correspondência" msgid "Enable filament dynamic map" -msgstr "" +msgstr "Habilitar mapa dinâmico de filamento" msgid "Enable dynamic filament mapping during print." -msgstr "" +msgstr "Habilitar mapeamento dinâmico de filamentos durante a impressão." msgid "Has filament switcher" -msgstr "" +msgstr "Tem trocador de filamentos" msgid "Printer has a filament switcher hardware (e.g., AMS)." -msgstr "" +msgstr "A impressora tem um sistema de troca de filamentos (Ex.: AMS)." msgid "Flush temperature" msgstr "Temperatura de purga" @@ -14968,10 +15006,10 @@ msgstr "" "confiável." msgid "Wipe tower cooling" -msgstr "" +msgstr "Resriamento da torre de limpeza" msgid "Temperature drop before entering filament tower" -msgstr "" +msgstr "Redução de temperatura antes de entrar na torre de filamentos" msgid "Interface layer pre-extrusion distance" msgstr "Distância de pré-extrusão da camada de interface" @@ -15433,12 +15471,14 @@ msgstr "" "placa de impressão." msgid "First layer travel" -msgstr "" +msgstr "Deslocamento para primeira camada" msgid "" "Travel acceleration of first layer.\n" "The percentage value is relative to Travel Acceleration." msgstr "" +"Aceleração de deslocamento para a primeira camada.\n" +"O valor percentual é relativo à Aceleração de Deslocamento." msgid "Enable accel_to_decel" msgstr "Habilitar accel_to_decel" @@ -15779,6 +15819,17 @@ msgid "" "Ripple: Uniform ripple pattern that ripples left and right of the original " "path. Repeating pattern, woven appearance." msgstr "" +"Tipo de ruído a ser usado para geração de textura difusa:\n" +"Clássico: Ruído aleatório uniforme clássico;\n" +"Perlin: Ruído Perlin, que dá uma textura mais consistente;\n" +"Billow: Semelhante ao ruído Perlin, mas mais aglomerado;\n" +"Multifractal estriado: Ruído estriado com características pontiagudas e " +"irregulares. Cria texturas semelhantes a mármore;\n" +"Voronoi: Divide a superfície em células Voronoi e desloca cada uma delas " +"por uma quantidade aleatória. Cria uma textura de retalhos;\n" +"Ondulação: Padrão de ondulação uniforme que se propaga para a esquerda e " +"para a direita do caminho original. Padrão repetitivo, com aparência de " +"tecido." msgid "Classic" msgstr "Clássico" @@ -15796,7 +15847,7 @@ msgid "Voronoi" msgstr "Voronoi" msgid "Ripple" -msgstr "" +msgstr "Ondulação" msgid "Fuzzy skin feature size" msgstr "Tamanho dos elementos da textura difusa" @@ -15829,13 +15880,14 @@ msgstr "" "baixos resultarão em ruído mais suave." msgid "Number of ripples per layer" -msgstr "" +msgstr "Número de ondulações por camada" msgid "Controls how many full cycles of ripples will be added per layer." msgstr "" +"Controla quantos ciclos completos de ondulações serão adicionados por camada." msgid "Ripple offset" -msgstr "" +msgstr "Deslocamento das ondulações" msgid "" "Shifts the ripple phase forward along the print path by the specified " @@ -15849,9 +15901,21 @@ msgid "" "The shift is applied once every number of layers set by Layers between " "ripple offset, so layers within the same group are printed identically." msgstr "" +"Desloca a fase da ondulação para a frente ao longo do percurso de impressão " +"pela porcentagem especificada de um comprimento de onda a cada período de " +"camada.\n" +"- 0% mantém todas as camadas idênticas.\n" +"- 50% desloca o padrão em meio comprimento de onda, invertendo efetivamente " +"a fase.\n" +"- 100% desloca o padrão em um comprimento de onda completo, retornando à " +"fase original.\n" +"\n" +"O deslocamento é aplicado uma vez a cada número de camadas definido em " +"Camadas entre deslocamento de ondulação, de modo que as camadas dentro do " +"mesmo grupo sejam impressas de forma idêntica." msgid "Layers between ripple offset" -msgstr "" +msgstr "Camadas entre o deslocamento de onda" msgid "" "Specifies how many consecutive layers share the same ripple phase before the " @@ -15864,6 +15928,15 @@ msgid "" "to 6 are shifted by the configured offset, then layers 7 to 9 return to the " "base pattern, etc." msgstr "" +"Especifica quantas camadas consecutivas compartilham a mesma fase de " +"ondulação antes da aplicação do deslocamento.\n" +"Por exemplo:\n" +"- 1 = A camada 1 é impressa com o padrão de ondulação base, em seguida a " +"camada 2 é deslocada pelo valor configurado, depois a camada 3 retorna ao " +"padrão base e assim por diante.\n" +"- 3 = As camadas 1 a 3 são impressas com o padrão de ondulação base, em " +"seguida as camadas 4 a 6 são deslocadas pelo valor configurado, depois as " +"camadas 7 a 9 retornam ao padrão base, etc." msgid "Filter out tiny gaps" msgstr "Filtrar vazios pequenos" @@ -16596,13 +16669,17 @@ msgstr "" "Habilitar o contorno da camada Z (antisserrilhamento da camada Z)." msgid "Minimize wall height angle" -msgstr "" +msgstr "Minimizar o ângulo de altura das paredes" msgid "" "Reduce the height of top-surface perimeters to match the model edge height.\n" "Affects perimeters with a slope less than this angle (degrees).\n" "A reasonable value is 35. Set to 0 to disable." msgstr "" +"Reduz a altura dos perímetros da superfície superior para corresponder à " +"altura da aresta do modelo.\n" +"Afeta os perímetros com uma inclinação menor que este ângulo (em graus).\n" +"Um valor razoável é 35. Defina como 0 para desativar." msgid "°" msgstr "°" @@ -16615,12 +16692,14 @@ msgstr "" "Desative a alternância da direção de preenchimento ao usar o contorno em Z." msgid "Minimum z height" -msgstr "" +msgstr "Altura Z mínima" msgid "" "Minimum Z-layer height.\n" "Also controls the slicing plane." msgstr "" +"Altura mínima da camada Z.\n" +"Também controla o plano de corte." msgid "This G-code is inserted at every layer change after the Z lift." msgstr "Este G-code é inserido a cada mudança de camada após a elevação Z." @@ -16823,12 +16902,14 @@ msgid "Maximum speed of resonance avoidance." msgstr "Velocidade máxima de prevenção de ressonância." msgid "Emit input shaping" -msgstr "" +msgstr "Emitir modelagem de entrada" msgid "" "Override firmware input shaping settings.\n" "If disabled, firmware settings are used." msgstr "" +"Substituir as configurações de modelagem de entrada do firmware.\n" +"Se desativado, as configurações do firmware serão usadas." msgid "Input shaper type" msgstr "Tipo de modelador de entrada" @@ -16838,6 +16919,9 @@ msgid "" "Default uses the firmware default settings.\n" "Disable turns off input shaping in the firmware." msgstr "" +"Escolha o algoritmo de modelagem de entrada.\n" +"Padrão usa as configurações padrão do firmware.\n" +"Desativar desativa a modelagem de entrada no firmware." msgid "MZV" msgstr "" @@ -23280,6 +23364,10 @@ msgid "" "the surface quality of your overhangs? However, it can cause wall " "inconsistencies so use carefully!" msgstr "" +"Reversão em par\n" +"Você sabia que o recurso Reversão em par pode melhorar " +"significativamente a qualidade da superfície de suas saliências? No entanto, " +"ele pode causar inconsistências na parede, portanto, use com cuidado!" #: resources/data/hints.ini: [hint:Cut Tool] msgid "" From 7a0c149701deefb5dc3643be52a28bff2526822a Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Mon, 1 Jun 2026 09:24:00 -0300 Subject: [PATCH 54/69] lightning infill angles Wiki (#13984) --- src/libslic3r/PrintConfig.cpp | 9 +++++---- src/slic3r/GUI/Tab.cpp | 6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 539add1bce..8fdcede569 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3051,7 +3051,7 @@ void PrintConfigDef::init_fff_params() def->label = L("Lightning overhang angle"); def->category = L("Strength"); def->tooltip = L("Maximum overhang angle for Lightning infill support propagation."); - def->sidetext = u8"°"; + def->sidetext = u8"°"; // degrees, don't need translation def->min = 5; def->max = 85; def->mode = comExpert; @@ -3060,8 +3060,9 @@ void PrintConfigDef::init_fff_params() def = this->add("lightning_prune_angle", coFloat); def->label = L("Prune angle"); def->category = L("Strength"); - def->tooltip = L("Controls how aggressively short or unsupported Lightning branches are pruned. This angle is converted internally to a per-layer distance."); - def->sidetext = u8"°"; + def->tooltip = L("Controls how aggressively short or unsupported Lightning branches are pruned.\n" + "This angle is converted internally to a per-layer distance."); + def->sidetext = u8"°"; // degrees, don't need translation def->min = 5; def->max = 85; def->mode = comExpert; @@ -3071,7 +3072,7 @@ void PrintConfigDef::init_fff_params() def->label = L("Straightening angle"); def->category = L("Strength"); def->tooltip = L("Maximum straightening angle used to simplify Lightning branches."); - def->sidetext = u8"°"; + def->sidetext = u8"°"; // degrees, don't need translation def->min = 5; def->max = 85; def->mode = comExpert; diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 0e8a4eb987..071a4b24eb 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2482,9 +2482,9 @@ void TabPrint::build() optgroup->append_single_option_line("lateral_lattice_angle_1", "strength_settings_patterns#lateral-lattice"); optgroup->append_single_option_line("lateral_lattice_angle_2", "strength_settings_patterns#lateral-lattice"); optgroup->append_single_option_line("infill_overhang_angle", "strength_settings_patterns#lateral-honeycomb"); - optgroup->append_single_option_line("lightning_overhang_angle", "strength_settings_patterns#lightning-infill"); - optgroup->append_single_option_line("lightning_prune_angle", "strength_settings_patterns#lightning-infill"); - optgroup->append_single_option_line("lightning_straightening_angle", "strength_settings_patterns#lightning-infill"); + optgroup->append_single_option_line("lightning_overhang_angle", "strength_settings_patterns#lightning"); + optgroup->append_single_option_line("lightning_prune_angle", "strength_settings_patterns#lightning"); + optgroup->append_single_option_line("lightning_straightening_angle", "strength_settings_patterns#lightning"); optgroup->append_single_option_line("infill_anchor_max", "strength_settings_infill#anchor"); optgroup->append_single_option_line("infill_anchor", "strength_settings_infill#anchor"); optgroup->append_single_option_line("internal_solid_infill_pattern", "strength_settings_infill#internal-solid-infill"); From 71eebc2332c44116e3961e7a037dfe1285901f88 Mon Sep 17 00:00:00 2001 From: yw4z Date: Mon, 1 Jun 2026 16:00:42 +0300 Subject: [PATCH 55/69] Merge code base of Setup Guide and Standalone versions of Printer / Filament Selection Dialogs (#13579) --- resources/web/guide/21/21.css | 471 +--------------------- resources/web/guide/21/21.js | 482 +---------------------- resources/web/guide/21/common.css | 441 +++++++++++++++++++++ resources/web/guide/21/common.js | 632 ++++++++++++++++++++++++++++++ resources/web/guide/21/index.html | 322 ++------------- resources/web/guide/22/22.css | 264 +------------ resources/web/guide/22/22.js | 544 +------------------------ resources/web/guide/22/common.css | 250 ++++++++++++ resources/web/guide/22/common.js | 614 +++++++++++++++++++++++++++++ resources/web/guide/22/index.html | 96 +---- resources/web/guide/23/23.css | 328 ++-------------- resources/web/guide/23/23.js | 518 ------------------------ resources/web/guide/23/index.html | 95 +---- resources/web/guide/24/24.css | 470 +--------------------- resources/web/guide/24/24.js | 481 +---------------------- resources/web/guide/24/index.html | 297 ++------------ 16 files changed, 2043 insertions(+), 4262 deletions(-) create mode 100644 resources/web/guide/21/common.css create mode 100644 resources/web/guide/21/common.js create mode 100644 resources/web/guide/22/common.css create mode 100644 resources/web/guide/22/common.js diff --git a/resources/web/guide/21/21.css b/resources/web/guide/21/21.css index 6ed2682533..7bef772e5f 100644 --- a/resources/web/guide/21/21.css +++ b/resources/web/guide/21/21.css @@ -1,470 +1 @@ -#Content -{ - overflow-y:auto; - padding: 0 10px 0 20px; /* ORCA Specify & Reduce horizontal paddings to fit 4 items per row */ - height: 100%; -} - -.OneVendorBlock { - position: relative; - margin-bottom: 7px; -} - -.OneVendorBlock:last-of-type { - margin-bottom: 36px; -} - -.BlockBanner -{ - position: sticky; - top: 0; - left: 0; - padding: 0px; - border-bottom: 2px solid var(--main-color); - width: 100%; - display: flex; - align-items: center; - z-index: 100; - background-color: var(--bg-color-secondary); - box-sizing: border-box; -} - -.BannerBtns -{ - display: flex; - white-space: nowrap; - justify-content: space-around; - align-items: center; - text-align: center; - margin-right: 5px; /* ORCA align buttons with end of horizontal separator/line */ - margin-left: auto; -} - -.BlockBanner a -{ - line-height: 30px; - height: 30px; - font-size: 17px; - font-weight: 600; - padding: 0px 10px; - color: var(--fg-color-text); -} - -.BlockBanner .modelCount { - margin: 0 15px 0 auto; - font-size: 14px; - line-height: 14px; - height: 15px; - color: var(--fg-color-label); -} - -.VendorCheckbox { - transform: scale(1.3); -} - -.PrinterArea -{ - padding: 7px 0px; /* ORCA Reduce horizontal paddings to fit 4 items per row */ - display: grid; - grid-template-columns: repeat(4, 1fr); - gap: 7px; -} - -.PrinterBlock -{ - display: flex; - align-items: center; - text-align: center; - flex-direction: column; - gap:10px; - padding: 15px 10px 10px 10px; - background-color: var(--bg-color-secondary); - position: relative; - border: 1px solid transparent -} - -.PrinterBlock:hover { - background-color: var(--focus-bg-item); - border-color:var(--main-color); -} - -.PImg { - width:120px; /* ORCA use covers as 120x120px but use source file as 240x240 for better quality on hidpi */ - height:120px; /* ORCA fit image to fill frame */ -} - -.PrinterInfo, -.PrinterInfoMark { - position: absolute; - right: 4px; - top: 4px; - opacity: 0; - border-radius: 11px; - line-height: 19px; - font-size: 14px; -} - -.PrinterInfo { - --card-animation-delay: .8s; /* open info with delay on list / compact view to prevent them appear while mouse movements */ - --card-info-height: fit-content; - left: 4px; - width: auto; - z-index: 9998; - height: var(--card-info-height); - border-color: var(--border-color); - background: var(--bg-color); - padding: 10px; - text-align: left; - color: var(--fg-color-text); - pointer-events: none; -} - -#Content[layout="2"] .PrinterInfo { - --card-animation-delay: .3s; - --card-info-height: 116px; -} - -.PrinterInfo .title {font-weight: 700} -.PrinterInfo .value {font-weight: 400} - -.PrinterInfoMark:hover + .PrinterInfo { - animation: infoCard 0s forwards var(--card-animation-delay); -} - -@keyframes infoCard {100% { - opacity: 1; - box-shadow: 0 5px 10px rgba(0,0,0,.2); -}} - -.PrinterInfoMark { - width: 20px; - height: 20px; - background: var(--main-color); - border: 1px solid var(--main-color); - z-index: 9999; - color: #FFF; - text-align: center; -} - -.PrinterBlock:hover .PrinterInfoMark { - opacity: 1; -} - -.PrinterBlock:hover .PrinterInfoMark:hover { - background: var(--main-color-hover); -} - -.ModelCheckBox -{ - position: absolute; - height: 6px; - bottom: 0; - left: 10%; - width: 80%; - background: var(--button-bg-hover) -} - -.ModelCheckBox.ModelCheckBoxSelected -{ - background: var(--main-color-fixed) -} - -img.ModelThumbnail -{ - width: 100%; - height: 100%; -} - -.PName -{ - font-weight: 600; - line-height: 20px; /* ORCA */ - text-align: center; - width: 100%; - color: var(--fg-color-text); -} - -.pNozzel -{ - display: none; - align-items: center; - justify-content:flex-start; - color: #5A5A5A; - padding-left: 0px; /* ORCA Align checkboxes with with model text */ -} - -.pNozzel input -{ - vertical-align: middle; - margin-right: 5px; -} - -.LayoutSelector { - position: absolute; - right:21px; - top:14px; -} - -.LayoutSelector .TabGroup { - display: flex; - padding: 2px; - gap: 2px; - border-radius: 6px; - background-color: var(--bg-color-alt); -} - -.LayoutSelector .icon16 { - opacity: .8; -} - -.LayoutSelector .TabButton { - padding: 7px; - border-radius: 4px; -} - -.LayoutSelector .TabButton.selected {background: var(--main-color)} -.LayoutSelector .TabButton.selected:hover {background: var(--main-color-hover)} -.LayoutSelector .TabButton.selected .icon16 {background: #FFF} - -.LayoutSelector .TabButton:nth-of-type(1) .icon16 {--icon-url: var(--icon-layout-list)} -.LayoutSelector .TabButton:nth-of-type(2) .icon16 {--icon-url: var(--icon-layout-compact)} -.LayoutSelector .TabButton:nth-of-type(3) .icon16 {--icon-url: var(--icon-layout-cover)} - -/* LAYOUT */ -#Content[layout="compact-list"] .PrinterArea { - grid-template-columns: repeat(4, 1fr); -} - -#Content[layout="compact-list"] .PImg { - display: none; -} - -#Content[layout="compact-list"] .OneVendorBlock { - margin-bottom: 15px; -} - -#Content[layout="compact-cover"] .PrinterArea { - grid-template-columns: repeat(3, 1fr); -} - -#Content[layout="compact-cover"] .PImg { - width: 60px; - min-width: 60px; - height: 60px; -} - -#Content[layout|="compact"] .PName { - text-align: left; -} - -#Content[layout|="compact"] .PrinterBlock { - flex-direction: row; - padding: 5px 5px 5px 18px; -} - -#Content[layout|="compact"] .ModelCheckBox { - width: 6px; - height: 80%; - left:0; - top:10% -} - -#Content[layout|="compact"] .OneVendorBlock:last-of-type { - margin-bottom: 0px; -} - -/*-----Notice-----*/ -#NoticeMask -{ - background-color: #000; - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - opacity: 0.05; - display: none; -} - -#NoticeBody -{ - display: none; - width: 400px; - border-width: 1px; - border-style: solid; - border-radius: 4px; - background-color: inherit; - position: absolute; - left: 50%; - top: 200px; - margin-left: -200px; -} - -#NoticeBar -{ - background-color:#00f0d8; - height: 40px; - line-height: 40px; - color: #fff; - text-align: center; -} - -#NoticeContent -{ - padding: 4mm 10mm; -} - - -#NoticeBtns -{ - margin-top: 4mm; - display: flex; - justify-content:flex-end; -} - - -.search { - position: absolute; - left:66px; - top: 14px; - width: 34px; - height: 34px; - z-index: 99; - overflow: hidden; -} - -.search:focus-within, -.search[hasvalue="1"] { - width: calc(100% - 194px); -} - -.searchTerm { - width: 100%; - height: 100%; - padding: 4px 5px; - border-radius: 6px; - outline: none; - box-sizing: border-box; - background: var(--button-bg-normal); - border: 1px solid var(--button-bg-normal); -} - -@media (prefers-reduced-motion: no-preference) { - .searchTerm { - transition: background-color .2s - } -} - -.searchTerm, -.search-placeholder { - line-height: 24px; /* ORCA center text vertically */ - font-size: 14px; -} - -.search:focus-within .searchTerm, -.search[hasvalue="1"] .searchTerm { - padding-left:33px; - background: var(--bg-color); - border-color: var(--main-color); -} - -.search[hasvalue="1"]:not(:focus-within, :hover) .searchTerm { - border-color: var(--border-color); -} - -.search:not(:focus-within, [hasvalue="1"]) .searchTerm { - cursor: default; -} - -.search:not(:focus-within, [hasvalue="1"]) .searchTerm:hover { - background: var(--button-bg-hover); -} - -.search-placeholder { - color: var(--fg-color-disabled); - left: 33px; -} - -.searchTerm:not(:placeholder-shown) + .search-placeholder { - opacity: 0; -} - -.search-icon, -.search-placeholder { - position: absolute; - top: 50%; - transform: translateY(-50%); - pointer-events: none; -} - -.search-icon { - left: 9px; - --icon-url: var(--icon-search); -} - -.SidebarBtn { - position: absolute; - left: 20px; - top: 14px; - padding: 9px; - border-radius: 6px; -} - -.SidebarBtn .icon16 { - --icon-url: var(--icon-sidebar); -} - -#SidebarContainer { - position: absolute; - top: 0; - left: -240px; - right: 0; - height: 100%; - z-index: 999999; - display: flex; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - #SidebarContainer { - transition: background-color .2s, left .2s - } -} - -#SidebarContainer[open="1"] { - left: 0px; - pointer-events: all; - background: rgba(0,0,0,.3); -} - -#Sidebar { - flex: 0 0 220px; - background: var(--bg-color); - box-shadow: 5px 0 20px rgba(0,0,0,.2); - padding: 15px 0; - overflow-y: auto; -} - -#Sidebar .title { - font-size: 17px; - line-height: 17px; - font-weight: 600; - padding: 0 0 5px 20px; -} - -#Sidebar .SidebarItem { - width: 100%; - padding: 2px 10px 2px 20px; - color:var(--fg-color-text); - font-size: 14px; - border: 1px solid transparent; - box-sizing: border-box; -} - -#Sidebar .SidebarItem:hover { - border-color: var(--main-color); -} - -#SidebarContainer .back { - flex: 1; -} +/* UNIQUE STYLES */ \ No newline at end of file diff --git a/resources/web/guide/21/21.js b/resources/web/guide/21/21.js index 5ad3a8b219..4cd9286bdf 100644 --- a/resources/web/guide/21/21.js +++ b/resources/web/guide/21/21.js @@ -1,395 +1,15 @@ +// UNIQUE FUNCTIONS + +// Keep in here for future additions function OnInit() { //let strInput=JSON.stringify(cData); //HandleModelList(cData); TranslatePage(); - RequestProfile(); } - - - -function RequestProfile() -{ - var tSend={}; - tSend['sequence_id']=Math.round(new Date() / 1000); - tSend['command']="request_userguide_profile"; - - SendWXMessage( JSON.stringify(tSend) ); -} - -function HandleStudio( pVal ) -{ -// alert(strInput); -// alert(JSON.stringify(strInput)); -// -// let pVal=IsJson(strInput); -// if(pVal==null) -// { -// alert("Msg Format Error is not Json"); -// return; -// } - - let strCmd=pVal['command']; - //alert(strCmd); - - if(strCmd=='response_userguide_profile') - { - HandleModelList(pVal['response']); - } -} - -function ShowPrinterThumb(pItem, strImg) -{ - $(pItem).attr('src',strImg); - $(pItem).attr('onerror',null); -} - -function ChooseModel( vendor, ModelName ) -{ - let ChooseItem=$(".ModelCheckBox[vendor='"+vendor+"'][model='"+ModelName+"']"); - - if(ChooseItem!=null) - { - if( $(ChooseItem).hasClass('ModelCheckBoxSelected') ) - $(ChooseItem).removeClass('ModelCheckBoxSelected'); - else - $(ChooseItem).addClass('ModelCheckBoxSelected'); - - SetModelSelect(vendor, ModelName, $(ChooseItem).hasClass('ModelCheckBoxSelected')); - } -} - -function HandleModelList( pVal ) -{ - if( !pVal.hasOwnProperty("model") ) - return; - - pModel=pVal['model']; - - // ORCA ensure list correctly ordered - pModel = pModel.sort((a, b)=>(a["vendor"].localeCompare(b["vendor"]))) - pModel = [ // move custom printers to top - ...pModel.filter(i=>i.vendor === "Custom"), - ...pModel.filter(i=>i.vendor !== "Custom") - ]; - - let nTotal=pModel.length; - let ModelHtml={}; - for(let n=0;n'+ -'
'+ -' '+sVV+''+ -'
'+ -'
' + -' '+ -'
'+ -//'
'+ -//'
all
'+ -//'
none
'+ -//'
'+ -'
'+ -'
'+ -'
'+ -'
'; - - $('#Content').append(HtmlNewVendor); - } - - let ModelName=OneModel['model']; - - //Collect Html Node Nozzel Html - if( !ModelHtml.hasOwnProperty(strVendor)) - ModelHtml[strVendor]=''; - - ModelHtml[strVendor]+=CreatePrinterBlock(OneModel); // ORCA - } - - //Update Nozzel Html Append - for( let key in ModelHtml ) - { - $(".OneVendorBlock[vendor='"+key+"'] .PrinterArea").append( ModelHtml[key] ); - } - - - //Update Checkbox - for(let m=0;m{ - UpdateVendorCheckbox(el.getAttribute("vendor")); - SidebarHTML +=`
${el.getAttribute('vendor')}
`; - }); - $SidebarVendors.html(SidebarHTML) - - // let AlreadySelect=$(".ModelCheckBoxSelected"); - // let nSelect=AlreadySelect.length; - // if(nSelect==0) - // { - // $("div.OneVendorBlock[vendor='"+BBL+"'] .ModelCheckBox").addClass('ModelCheckBoxSelected'); - // } - - TranslatePage(); -} - -function scrollToVendor(vendor) { - const el = $(".OneVendorBlock[vendor='"+vendor+"']")[0]; - if (el){ - document.getElementById('SidebarContainer').setAttribute('open', '0'); - document.getElementById('Content').scrollTo({top: el.offsetTop, behavior: "smooth"}); - } -} - -function SetModelSelect(vendor, model, checked) { - if (!ModelNozzleSelected.hasOwnProperty(vendor) && !checked) { - return; - } - - if (!ModelNozzleSelected.hasOwnProperty(vendor) && checked) { - ModelNozzleSelected[vendor] = {}; - } - - let oVendor = ModelNozzleSelected[vendor]; - if (oVendor.hasOwnProperty(model) || checked) { - oVendor[model] = checked; - } - - UpdateVendorCheckbox(vendor) -} - -function GetModelSelect(vendor, model) { - if (!ModelNozzleSelected.hasOwnProperty(vendor)) { - return false; - } - - let oVendor = ModelNozzleSelected[vendor]; - if (!oVendor.hasOwnProperty(model)) { - return false; - } - - return oVendor[model]; -} - -function FilterModelList(keyword) { - - //Save checkbox state - let ModelSelect = $('.ModelCheckBox'); - for (let n = 0; n < ModelSelect.length; n++) { - let OneItem = ModelSelect[n]; - - let strModel = OneItem.getAttribute("model"); - - let strVendor = OneItem.getAttribute("vendor"); - - SetModelSelect(strVendor, strModel, $(OneItem).hasClass('ModelCheckBoxSelected')); - } - - $('.search')[0].setAttribute("hasvalue", keyword ? "1" : "0") - - let nTotal = pModel.length; - let ModelHtml = {}; - let kwSplit = keyword.toLowerCase().match(/\S+/g) || []; - - $('#Content').empty(); - for (let n = 0; n < nTotal; n++) { - let OneModel = pModel[n]; - - let strVendor = OneModel['vendor']; - let search = (OneModel['name'] + '\0' + strVendor).toLowerCase(); - - if (!kwSplit.every(s => search.includes(s))) - continue; - - //Add Vendor Html Node - if ($(".OneVendorBlock[vendor='" + strVendor + "']").length == 0) { - let sVV = strVendor; - if (sVV == "BBL") - sVV = "Bambu Lab"; - if (sVV == "Custom") - sVV = "Custom Printer"; - if (sVV == "Other") - sVV = "Orca colosseum"; - - let HtmlNewVendor = '
' + - '
' + - ' ' + sVV + '' + - '
'+ - '
' + - ' '+ - '
'+ - //'
' + - //'
all
' + - //'
none
' + - //'
' + - '
' + - '
' + - '
' + - '
'; - - $('#Content').append(HtmlNewVendor); - } - - //Collect Html Node Nozzel Html - if (!ModelHtml.hasOwnProperty(strVendor)) - ModelHtml[strVendor] = ''; - - ModelHtml[strVendor]+=CreatePrinterBlock(OneModel); // ORCA - } - - //Update Nozzel Html Append - for (let key in ModelHtml) { - let obj = $(".OneVendorBlock[vendor='" + key + "'] .PrinterArea"); - obj.empty(); - obj.append(ModelHtml[key]); - } - - - //Update Checkbox - ModelSelect = $('.ModelCheckBox'); - for (let n = 0; n < ModelSelect.length; n++) { - let OneItem = ModelSelect[n]; - - let strModel = OneItem.getAttribute("model"); - let strVendor = OneItem.getAttribute("vendor"); - - let checked = GetModelSelect(strVendor, strModel); - - if (checked) - $(OneItem).addClass('ModelCheckBoxSelected'); - else - $(OneItem).removeClass('ModelCheckBoxSelected'); - } - - const $SidebarVendors = $('#SidebarVendors'); - let SidebarHTML = ""; - $(`.OneVendorBlock`).each((i, el)=>{ - UpdateVendorCheckbox(el.getAttribute("vendor")); - SidebarHTML +=`
${el.getAttribute('vendor')}
`; - }); - $SidebarVendors.html(SidebarHTML) - - const $content = $('#Content'); - $content.css("padding-right", $content[0].scrollHeight > $content[0].clientHeight ? "10px" : "20px"); - - // let AlreadySelect=$(".ModelCheckBoxSelected"); - // let nSelect=AlreadySelect.length; - // if(nSelect==0) - // { - // $("div.OneVendorBlock[vendor='"+BBL+"'] .ModelCheckBox").addClass('ModelCheckBoxSelected'); - // } - - TranslatePage(); -} - -function CreatePrinterBlock(OneModel) -{ - // ORCA use single functuon to create blocks to simplify code - let vendor = OneModel['vendor'] - vendorName = vendor=="BBL" ? "Bambu Lab" : vendor=="Custom" ? "Generic Printer" : vendor; - - let modelName = OneModel['name']; - // Most of it unneeded. this can be applied in profiles - if( vendor=="Custom") - modelName = modelName.split(" ")[1]; - // these uses different case in name; seckit, ratrig, blocks - else if (modelName.toLowerCase().startsWith(vendorName.toLowerCase())) - modelName = modelName.slice(vendorName.length); - // these not matches. have to fix in profiles to reduce conditions in here; - else if (vendor == "MagicMaker" && modelName.startsWith("MM")) - modelName = modelName.slice(("MM").length); - else if (vendor == "OrcaArena") - modelName = modelName.slice(("Orca Arena").length); - else if (vendor == "RolohaunDesign" && modelName.startsWith("Rolohaun")) - modelName = modelName.slice(("Rolohaun").length); - - return '
'+ - '
'+ - ''+ - '
'+ - '
?
'+ - '
'+ - //'
Print volume
'+ - //'
' + OneModel['printable_height'] + '
'+ - '
Nozzle
'+ - '
' + OneModel['nozzle_diameter'].replaceAll(";", " · ") + '
'+ - '
'+ - '
'+ - '
'+ - '
'+ modelName +'
'+ // >

'+ vendorName +'

- '
'+ - '
'; -} - -function SelectPrinterAll( sVendor ) -{ - $("div.OneVendorBlock[vendor='"+sVendor+"'] .ModelCheckBox").addClass('ModelCheckBoxSelected'); - $("div.OneVendorBlock[vendor='"+sVendor+"'] .ModelCheckBox").each(function() { - let strModel = this.getAttribute("model"); - SetModelSelect(sVendor, strModel, true); - }); -} - - -function SelectPrinterNone( sVendor ) -{ - $("div.OneVendorBlock[vendor='"+sVendor+"'] .ModelCheckBox").removeClass('ModelCheckBoxSelected'); - $("div.OneVendorBlock[vendor='"+sVendor+"'] .ModelCheckBox").each(function() { - let strModel = this.getAttribute("model"); - SetModelSelect(sVendor, strModel, false); - }); -} - -function ChooseVendor(sVendor) { - const $cbs = $(`.OneVendorBlock[vendor='${sVendor}'] .ModelCheckBox`); - const sel = $cbs.length && $cbs.not('.ModelCheckBoxSelected').length; - - sel ? $cbs.addClass('ModelCheckBoxSelected') - : $cbs.removeClass('ModelCheckBoxSelected'); - - $cbs.each((i, el)=>{SetModelSelect(sVendor, el.getAttribute('model'), sel)}); -} - -function UpdateVendorCheckbox(sVendor) { - const $vb = $(`.OneVendorBlock[vendor='${sVendor}']`); - const $cbs = $vb.find(`.ModelCheckBox`); - const $vcb = $vb.find(`.VendorCheckbox`); - - const selCount = $cbs.filter('.ModelCheckBoxSelected').length; - const allSel = selCount === $cbs.length && selCount > 0; - const nonSel = selCount === 0; - - $vcb.prop({checked: allSel , indeterminate: !allSel && !nonSel}); - - $vb.find(".modelCount").text(selCount + " / " + $cbs.length); -} - + function GotoFilamentPage() { let nChoose=OnExitFilter(); @@ -397,97 +17,3 @@ function GotoFilamentPage() if(nChoose>0) window.open('../22/index.html','_self'); } - -function OnExitFilter() { - - let nTotal = 0; - let ModelAll = {}; - for (vendor in ModelNozzleSelected) { - for (model in ModelNozzleSelected[vendor]) { - if (!ModelNozzleSelected[vendor][model]) - continue; - - if (!ModelAll.hasOwnProperty(model)) { - //alert("ADD: "+strModel); - - ModelAll[model] = {}; - - ModelAll[model]["model"] = model; - } - - nTotal++; - } - } - - var tSend = {}; - tSend['sequence_id'] = Math.round(new Date() / 1000); - tSend['command'] = "save_userguide_models"; - tSend['data'] = ModelAll; - - SendWXMessage(JSON.stringify(tSend)); - - return nTotal; - -} - -// -function OnExit() -{ - let ModelAll={}; - - let ModelSelect=$(".ModelCheckBoxSelected"); - let nTotal=ModelSelect.length; - - if( nTotal==0 ) - { - ShowNotice(1); - - return 0; - } - - for(let n=0;n(a["vendor"].localeCompare(b["vendor"]))) + pModel = [ // move custom printers to top + ...pModel.filter(i=>i.vendor === "Custom"), + ...pModel.filter(i=>i.vendor !== "Custom") + ]; + + let nTotal=pModel.length; + let ModelHtml={}; + for(let n=0;n 0) { + if( $(ChooseItem).hasClass('ModelCheckBoxSelected') ) + $(ChooseItem).removeClass('ModelCheckBoxSelected'); + else + $(ChooseItem).addClass('ModelCheckBoxSelected'); + + SetModelSelect(vendor, ModelName, $(ChooseItem).hasClass('ModelCheckBoxSelected')); + } +} + +function FilterModelList(keyword) { + + //Save checkbox state + let ModelSelect = $('.ModelCheckBox'); + for (let n = 0; n < ModelSelect.length; n++) { + let OneItem = ModelSelect[n]; + + let strModel = OneItem.getAttribute("model"); + + let strVendor = OneItem.getAttribute("vendor"); + + SetModelSelect(strVendor, strModel, $(OneItem).hasClass('ModelCheckBoxSelected')); + } + + $('.search')[0].setAttribute("hasvalue", keyword ? "1" : "0") + + let nTotal = pModel.length; + let ModelHtml = {}; + let kwSplit = keyword.toLowerCase().match(/\S+/g) || []; + + $('#Content').empty(); + for (let n = 0; n < nTotal; n++) { + let OneModel = pModel[n]; + + let strVendor = OneModel['vendor']; + let search = (OneModel['name'] + '\0' + strVendor).toLowerCase(); + + if (!kwSplit.every(s => search.includes(s))) + continue; + + //Add Vendor Html Node + if ($(".OneVendorBlock[vendor='" + strVendor + "']").length == 0) { + let HtmlNewVendor = CreateVendorBlock(strVendor); + $('#Content').append(HtmlNewVendor); + } + + //Collect Html Node Nozzel Html + if (!ModelHtml.hasOwnProperty(strVendor)) + ModelHtml[strVendor] = ''; + + ModelHtml[strVendor] += CreatePrinterBlock(OneModel); // ORCA + } + + //Update Nozzel Html Append + for (let key in ModelHtml) { + let obj = $(".OneVendorBlock[vendor='" + key + "'] .PrinterArea"); + obj.empty(); + obj.append(ModelHtml[key]); + } + + //Update Checkbox + ModelSelect = $('.ModelCheckBox'); + for (let n = 0; n < ModelSelect.length; n++) { + let OneItem = ModelSelect[n]; + + let strModel = OneItem.getAttribute("model"); + let strVendor = OneItem.getAttribute("vendor"); + + let checked = GetModelSelect(strVendor, strModel); + + if (checked) + $(OneItem).addClass('ModelCheckBoxSelected'); + else + $(OneItem).removeClass('ModelCheckBoxSelected'); + } + + UpdateSidebarVendors(); + + $content.css("padding-right", $content[0].scrollHeight > $content[0].clientHeight ? "10px" : "20px"); + + // let AlreadySelect=$(".ModelCheckBoxSelected"); + // let nSelect=AlreadySelect.length; + // if(nSelect==0) + // { + // $("div.OneVendorBlock[vendor='"+BBL+"'] .ModelCheckBox").addClass('ModelCheckBoxSelected'); + // } + + TranslatePage(); +} + +function textInput(obj) { + FilterModelList(obj.value); +} + +function CreateVendorBlock(vendorName) +{ + let alt = vendorName; + if( alt == "BBL" ) + alt = "Bambu Lab"; + if( alt == "Custom") + alt = "Custom Printer"; + if( alt == "Other") + alt = "Orca colosseum"; + + return '
' + + '
' + + ' ' + alt + '' + + '
'+ + '
' + + ' '+ + '
'+ + '
' + + '
' + + '
' + + '
'; +} + +function CreatePrinterBlock(OneModel) +{ + let vendor = OneModel['vendor'] + let vendorName = vendor=="BBL" ? "Bambu Lab" : vendor=="Custom" ? "Generic Printer" : vendor; + let modelName = OneModel['name']; + + // Most of it unneeded. this can be applied in profiles + if( vendor=="Custom") + modelName = modelName.split(" ")[1]; + // these uses different case in name; seckit, ratrig, blocks + else if (modelName.toLowerCase().startsWith(vendorName.toLowerCase())) + modelName = modelName.slice(vendorName.length); + // these not matches. have to fix in profiles to reduce conditions in here; + else if (vendor == "MagicMaker" && modelName.startsWith("MM")) + modelName = modelName.slice(("MM").length); + else if (vendor == "OrcaArena") + modelName = modelName.slice(("Orca Arena").length); + else if (vendor == "RolohaunDesign" && modelName.startsWith("Rolohaun")) + modelName = modelName.slice(("Rolohaun").length); + + return '
'+ + '
'+ + ' '+ + '
'+ + '
?
'+ + '
'+ + '
Nozzle
'+ + '
' + OneModel['nozzle_diameter'].replaceAll(";", " · ") + '
'+ + '
'+ + '
'+ + '
'+ + '
'+ modelName +'
'+ // >

'+ vendorName +'

+ '
'+ + '
'; +} + +function scrollToVendor(vendor) { + const el = $(".OneVendorBlock[vendor='"+vendor+"']")[0]; + if (el){ + document.getElementById('SidebarContainer').setAttribute('open', '0'); + document.getElementById('Content').scrollTo({top: el.offsetTop, behavior: "smooth"}); + } +} + +function UpdateSidebarVendors() +{ + let SidebarHTML = ""; + $(`.OneVendorBlock`).each((i, el)=>{ + UpdateVendorCheckbox(el.getAttribute("vendor")); + SidebarHTML +=`
${el.getAttribute('vendor')}
`; + }); + $('#SidebarVendors').html(SidebarHTML) +} + +function ChooseVendor(sVendor) { // automatically selects / unselects all + const $cbs = $(`.OneVendorBlock[vendor='${sVendor}'] .ModelCheckBox`); + const sel = $cbs.length && $cbs.not('.ModelCheckBoxSelected').length; + + sel ? $cbs.addClass('ModelCheckBoxSelected') + : $cbs.removeClass('ModelCheckBoxSelected'); + + $cbs.each((i, el)=>{SetModelSelect(sVendor, el.getAttribute('model'), sel)}); +} + +function UpdateVendorCheckbox(sVendor) { + const $vb = $(`.OneVendorBlock[vendor='${sVendor}']`); + const $cbs = $vb.find(`.ModelCheckBox`); + const $vcb = $vb.find(`.VendorCheckbox`); + + const selCount = $cbs.filter('.ModelCheckBoxSelected').length; + const allSel = selCount === $cbs.length && selCount > 0; + const nonSel = selCount === 0; + + $vcb.prop({checked: allSel , indeterminate: !allSel && !nonSel}); + + $vb.find(".modelCount").text(selCount + " / " + $cbs.length); +} + +function OnExit() +{ + let ModelAll={}; + + let ModelSelect=$(".ModelCheckBoxSelected"); + let nTotal=ModelSelect.length; + + if( nTotal==0 ) { + ShowNotice(1); + return 0; + } + + for(let n=0;n(el.getBoundingClientRect().top); + + const contentTop = bcTop($content[0]); + const bannerH = ($content.find('.BlockBanner')[0] || {}).offsetHeight || 0; + + const firstCard = $content.find('.PrinterBlock')[0]; + const firstArea = $content.find('.PrinterArea')[0]; + const cardGap = (firstCard && firstArea) ? (bcTop(firstCard) - bcTop(firstArea)) : 0; + + const candidates = $content.find('.BlockBanner, .PrinterBlock').get(); + if (dir === 'up') candidates.reverse(); + + let result = lastSeen = null; + + for (const el of candidates) { + const snapTo = Math.round( + el.classList.contains('BlockBanner') + ? (bcTop(el.closest('.OneVendorBlock')) - contentTop) + : Math.max(0, bcTop(el) - contentTop - bannerH - cardGap) + ); + if (snapTo != lastSeen){ + lastSeen = snapTo; + if (dir === 'down' && snapTo > cur + SNAP_CORR) { result = snapTo; break; } + if (dir === 'up' && snapTo < cur - SNAP_CORR) { result = snapTo; break; } + } + } + + $content[0].scrollTop = savedScroll; // Restore scroll position + + return result; +} + +function smoothScrollTo(target) { + if (snapRafId) { + cancelAnimationFrame(snapRafId); + snapRafId = null; + } + + const el = $content[0]; + const from = el.scrollTop; + const dist = target - from; + const t0 = performance.now(); + const ease = t => t < 0.5 ? 2*t*t : -1 + (4 - 2*t)*t; + + function onDone() { + el.scrollTop = target; + lastScrollTop = lastSnapTarget = target; + waitingForUserScroll = true; + clearTimeout(scrollTimer); + scrollTimer = null; + snapRafId = null; + isSnapping = false; + } + + if (Math.abs(dist) < 2) + return onDone(); + + snapRafId = requestAnimationFrame(function step(now) { + const p = Math.min((now - t0) / SNAP_DURATION, 1); + el.scrollTop = from + dist * ease(p); + if (p < 1) + snapRafId = requestAnimationFrame(step); + else + onDone(); + }); +} + +function armSnap() { + waitingForUserScroll = false; + lastSnapTarget = null; +} + +function initScrollEvents() { + $content.on('scroll', function() { + if (isSnapping) return; + + if (this.scrollTop > lastScrollTop + 1) scrollDir = 'down'; + else if (this.scrollTop < lastScrollTop - 1) scrollDir = 'up'; + + lastScrollTop = this.scrollTop; + + if (waitingForUserScroll) return; + + clearTimeout(scrollTimer); + scrollTimer = setTimeout(()=>{ + if (isSnapping) return; + + const target = findSnap($content[0].scrollTop, scrollDir); + if (target){ + isSnapping = true; + smoothScrollTo(target); + } + }, SNAP_DELAY); + }); + + let touchY = 0; + $content[0].addEventListener('touchstart', e => { + touchY = e.touches[0].clientY; + armSnap(); + }, { passive: true }); + + $content[0].addEventListener('touchmove', e => { + const dy = touchY - e.touches[0].clientY; + if (Math.abs(dy) > 3) + scrollDir = dy > 0 ? 'down' : 'up'; + }, { passive: true }); + + // Re-arm snap system on user scroll + $content[0].addEventListener('wheel', armSnap, { passive: true }); + + // Re-arm on after scrollbar usage + $content[0].addEventListener('pointerdown', e => { + if (e.target === $content[0]) + armSnap(); + }); + + // Re-arm on keyboard scroll or focus changes + document.addEventListener('keydown', e => { + if (document.activeElement != SearchBox){ + let scrollKeys = ['ArrowUp','ArrowDown','PageUp','PageDown',' ']; + let hasFocus = $content[0].contains(document.activeElement); + if(scrollKeys.includes(e.key) || (hasFocus && e.which == 9)) + armSnap(); + } + }); + + // ORCA unfocus search bar while scrolling and its content empty + $content[0].addEventListener("scroll", () => { + if (document.activeElement === SearchBox && SearchBox.value == "") + SearchBox.blur(); + }); +} + +document.addEventListener('DOMContentLoaded', initScrollEvents); + +// LAYOUT SELECTOR +function LayoutMode(value) { + let LayoutSelector = document.querySelector('.LayoutSelector > .TabGroup'); + let LayoutBtns = Array.from(LayoutSelector.children); + let LayoutTypes = ["compact-list","compact-cover","large-cover"]; + + if($content[0].getAttribute("layout") === value) + return; + + // find current visible vendor and scroll to it after layout change + let target = null; + for (const el of $content.find('.OneVendorBlock')) { + if (el.getBoundingClientRect().bottom - $content[0].getBoundingClientRect().top >= -1) { + target = el.getAttribute("vendor"); + break; + } + } + + LayoutBtns.forEach(el => el.classList.remove('selected')); + LayoutBtns[LayoutTypes.indexOf(value)].classList.add('selected'); + $content[0].setAttribute("layout", value); + + if (target) scrollToVendor(target); +} + +document.addEventListener('DOMContentLoaded', () => LayoutMode("large-cover")); + +// KEY EVENTS +function initKeyEvents(closeOnESC) { + document.onkeydown = function (event) { + var e = event || window.event || arguments.callee.caller.arguments[0]; + + let sidebar = document.getElementById('SidebarContainer'); + + if (e.keyCode == 27){ + if(sidebar.getAttribute('open') == "1") { // prefer to close sidebar first if its open + sidebar.setAttribute('open', '0'); + } + else if (closeOnESC){ + ClosePage(); + } + } + + // ORCA focus search bar on key input + // SearchBox not in focus && writable character && non modifier + if (document.activeElement != SearchBox && e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey) { + SearchBox.focus(); + } + + // Close sidebar on any key input + sidebar.setAttribute('open', '0'); + + //if (window.event) { + // try { e.keyCode = 0; } catch (e) { } + // e.returnValue = true; + //} + }; +} diff --git a/resources/web/guide/21/index.html b/resources/web/guide/21/index.html index a0fe7d0072..258b957756 100644 --- a/resources/web/guide/21/index.html +++ b/resources/web/guide/21/index.html @@ -6,6 +6,7 @@ 引导_P21 + @@ -14,7 +15,8 @@ - + +
@@ -49,93 +51,33 @@
- +-->
@@ -153,212 +95,10 @@
- - + diff --git a/resources/web/guide/22/22.css b/resources/web/guide/22/22.css index 20e606e777..29d03fd42d 100644 --- a/resources/web/guide/22/22.css +++ b/resources/web/guide/22/22.css @@ -1,269 +1,7 @@ - -.ChooseBlock -{ - display:flex; - line-height: 32px; -} - -.CName -{ - width:130px; - font-weight: 700; - height: 100%; - text-align: right; - white-space: nowrap; - flex-shrink: 0; -} - -#ItemBlockArea -{ - display:flex; - overflow-y:scroll; - flex-wrap:wrap; - flex-direction: row; - padding: 0 0 0 8px; -} - -.MItem -{ - width:33%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - margin-right: 4px !important; - top: -100px; /* ORCA this will be activated when item filtered with position:absolute */ -} - -.MItem label -{ - margin-right: 0px !important; -} - -#NoticeMask -{ - background-color: #000; - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - opacity: 0.05; - display: none; -} - -#NoticeBody -{ - display: none; - width: 500px; - border-width: 1px; - border-style: solid; - border-radius: 4px; - background-color: inherit; - position: absolute; - left: 50%; - top: 200px; - margin-left: -250px; -} - -#NoticeBar -{ - background-color: var(--main-color); - height: 40px; - line-height: 40px; - color: #fff; - text-align: center; -} - -#NoticeContent -{ - padding: 4mm 10mm; -} - - -#NoticeBtns -{ - margin-top: 4mm; - display: flex; - justify-content:flex-end; -} - -#GotoNetPluginBtn -{ - display: none; -} - - -/* ORCA column browser */ - #Content { padding: 10px 15px 5px; - height: 100%; } -.cbr-browser-container { - display: grid; - grid-template-columns: repeat(3, 1fr); - grid-template-rows: 210px auto; - width: 100%; - height: 100%; - border: 1px solid var(--border-color); - box-sizing: border-box; -} - -.cbr-column:last-child { - grid-column: 1 / -1; - border-top: 1px solid var(--border-color); -} - -.cbr-column { - display: flex; - flex-direction: column; - overflow: hidden; -} - -.cbr-column:nth-child(-n+2) { - border-right: 1px solid var(--border-color); -} - -.cbr-column .CValues { - display: grid; -} - -.CValues label { - margin-right: 0 !important; -} - -.cbr-column-title-container { - position: sticky; - background: var(--bg-color-secondary); - display: flex; - align-items: center; - border-bottom: 1px solid var(--border-color); -} - -.cbr-search-bar, -.cbr-filter-bar { - font-size: 16px; - background: var(--bg-color-secondary); - border: 1px solid transparent; - padding: 2px 27px 2px 27px; - line-height: 24px; -} - -.cbr-search-bar { - width: calc(100% - 18px); -} - -.cbr-filter-bar { - border-color: var(--border-color); - width: 160px; - height:24px; -} - -.cbr-column-title-container .ComboBox > select { - margin: 3px 0; - height: 30px; -} - -.cbr-column-title-container input:is(:hover,:focus) { - border-color: var(--main-color); - outline: none; -} - -.cbr-column-title-container input:is(:focus) { - background: var(--focus-bg-box); -} - -.cbr-filter-box { - position: relative; - margin: 3px; -} - -.list-item-count { - color:var(--fg-color-label); - margin-left:10px -} - -.cbr-filter-btns { - display: flex; - margin: 5px 5px 5px auto; -} - -.cbr-filter-btns div:first-of-type { - margin-left: 10px; -} - -.cbr-filter-mode-filter { - display: none; -} - -.clear-icon, -.search-icon, -.filter-icon { - position: absolute; - top: 50%; - transform: translateY(-50%); - -webkit-mask-image: var(--url); - mask-image: var(--url); - width: 16px; - height: 16px; - background-color: var(--icon-color); - pointer-events:none; -} - -.filter-icon {--url: var(--icon-filter)} -.search-icon {--url: var(--icon-search)} -.clear-icon {--url: var(--icon-input-clear)} - -.search-icon, -.filter-icon { - left: 6px; -} - -.clear-icon { - right: 6px; - display: none; -} - -.cbr-search-bar:not(:placeholder-shown) ~ .clear-icon, -.cbr-filter-bar:not(:placeholder-shown) ~ .clear-icon { - display: block; -} - -input[onclear="1"]{ - cursor:default -} - -.cbr-search-placeholder, -.cbr-filter-placeholder { - position: absolute; - top: 50%; - transform: translateY(-50%); - font-size: 16px; - color: var(--fg-color-label); - pointer-events: none; - line-height: 24px; - left: 27px; -} - -.cbr-search-bar:not(:placeholder-shown) + .cbr-search-placeholder, -.cbr-filter-bar:not(:placeholder-shown) + .cbr-filter-placeholder { - opacity: 0; -} - -.cbr-content { - overflow-y: auto; -} - -.cbr-content div { - padding-left: 8px; -} - -.cbr-content label { - margin-right: 0 !important; - padding: 1px 0 !important; -} - -.cbr-content div.cbr-no-items { +#GotoNetPluginBtn { display: none; } diff --git a/resources/web/guide/22/22.js b/resources/web/guide/22/22.js index b6bf64ee11..514770bb59 100644 --- a/resources/web/guide/22/22.js +++ b/resources/web/guide/22/22.js @@ -1,24 +1,8 @@ - -var m_ProfileItem; - -var FilamentPriority=new Array( "pla","abs","pet","tpu","pc"); -var VendorPriority=new Array("generic"); - function OnInit() { TranslatePage(); RequestProfile(); - -} - -function RequestProfile() -{ - var tSend={}; - tSend['sequence_id']=Math.round(new Date() / 1000); - tSend['command']="request_userguide_profile"; - - SendWXMessage( JSON.stringify(tSend) ); } function HandleStudio(pVal) @@ -30,537 +14,19 @@ function HandleStudio(pVal) { m_ProfileItem=pVal['response']; SortUI(); + InstallNetworkPlugin(); } } -function GetFilamentShortname( sName ) +function InstallNetworkPlugin() { - let sShort=sName.split('@')[0].trim(); - - return sShort; -} - - -function SortUI() -{ - var ModelList=new Array(); - - let nMode=m_ProfileItem["model"].length; - for(let n=0;n'+sModel['model']+''; - } - - $('#MachineList .CValues').append(HtmlMode); - $('#MachineList .CValues input').prop("checked",true); - //if(nMode<=1) - //{ - // $('#MachineList').hide(); - //} - - //Filament - Create sorted array with generic vendor first - let FilamentArray=new Array(); - let GenericFilamentArray=new Array(); - for( let key in m_ProfileItem['filament'] ) - { - let OneFila=m_ProfileItem['filament'][key]; - if(OneFila['vendor'].toLowerCase() === 'generic') - GenericFilamentArray.push({key: key, data: OneFila}); - else - FilamentArray.push({key: key, data: OneFila}); - } - // Combine arrays with generic filaments first - let SortedFilamentArray = GenericFilamentArray.concat(FilamentArray); - - let HtmlFilament=''; - let SelectNumber=0; - - var TypeHtmlArray={}; - var VendorHtmlArray={}; - for( let n=0; n=0) - { - bFind=true; - break; - } - } - } - } - - if(bFind) - { - //Type - let LowType=fType.toLowerCase(); - if(!TypeHtmlArray.hasOwnProperty(LowType)) - { - /* ORCA use label tag to allow checkbox to toggle when user ckicked to text */ - let HtmlType=''; - - TypeHtmlArray[LowType]=HtmlType; - } - - //Vendor - let lowVendor=fVendor.toLowerCase(); - if(!VendorHtmlArray.hasOwnProperty(lowVendor)) - { - /* ORCA use label tag to allow checkbox to toggle when user ckicked to text */ - let HtmlVendor=''; - - VendorHtmlArray[lowVendor]=HtmlVendor; - } - - //Filament - let pFila=$("#ItemBlockArea input[vendor='"+fVendor+"'][filatype='"+fType+"'][name='"+fShortName+"']"); - if(pFila.length==0) - { - /* ORCA use label tag to allow checkbox to toggle when user ckicked to text */ - let HtmlFila=''; - - $("#ItemBlockArea").append(HtmlFila); - } - else - { - let strModel=pFila.attr("model"); - let strFilalist=pFila.attr("filalist"); - - if(strModel == '' || fModel == '') - pFila.attr("model", ''); - else - pFila.attr("model", strModel+fModel); - - pFila.attr("filalist", strFilalist+fWholeName+';'); - } - - if(fSelect*1==1) - { - //alert( fWholeName+' - '+fShortName+' - '+fVendor+' - '+fType+' - '+fSelect+' - '+fModel ); - - $("#ItemBlockArea input[vendor='"+fVendor+"'][filatype='"+fType+"'][name='"+fShortName+"']").prop("checked",true); - SelectNumber++; - } -// else -// $("#ItemBlockArea input[vendor='"+fVendor+"'][model='"+fModel+"'][filatype='"+fType+"'][name='"+key+"']").prop("checked",false); - } - } - - //Sort TypeArray - let TypeAdvNum=FilamentPriority.length; - for( let n=0;n=0) - { - HasModel=true; - break; - } - } - - if(HasModel || fModel=='') - $(OneNode).show(); - else - $(OneNode).hide(); - } - else{ - $(OneNode).hide(); - //alert(fName) //debug non common filament type - } - } - - UpdateStats(); -} - -function UpdateStats() -{ - let $i = $("#ItemBlockArea"); - let $allItems = $i.find(".MItem"); - let $visibleItems = $i.find(".MItem:visible"); - let $filteredItems = $visibleItems.filter(function() { return $(this).css('position') !== 'absolute'}); - let visibleCount = Math.min($filteredItems.length, $visibleItems.length); - - $(".list-item-count").text( - $i.find("input:checked").length + " / " + - $allItems.length + - ($allItems.length > visibleCount ? (" [" + visibleCount + "]") : "") // filtered items - ); -} - -function ChooseDefaultFilament() -{ - //ModelList - let pModel=$("#MachineList input:gt(0)"); - let nModel=pModel.length; - let ModelList=new Array(); - for(let n=0;n-1 ) - { - DefaultMaterialString+=OneMode['materials']+';'; - } - } - - let DefaultMaterialArray=DefaultMaterialString.split(';'); - //alert(DefaultMaterialString); - - //Filament - let FilaNodes=$("#ItemBlockArea .MItem"); - let nFilament=FilaNodes.length; - for(let m=0;m-1) - { - HasModel=true; - break; - } - } - - if(HasModel) - $(OneFF).prop("checked",true); - } - - ShowNotice(0); - - UpdateStats(); -} - -function SelectAllFilament( nShow ) -{ - // ORCA add ability to only select / unselect filted items - if (document.querySelector('.cbr-filter-bar').value) { - $('#ItemBlockArea .MItem:visible input') - .filter(function() {return $(this).closest('.MItem').css('position') !== 'absolute'}) - .prop("checked", nShow != 0); - } - else { - $('#ItemBlockArea .MItem:visible input').prop("checked",nShow!=0); - } -} - -function ShowNotice( nShow ) -{ - if(nShow==0) - { - $("#NoticeMask").hide(); - $("#NoticeBody").hide(); - } - else - { - $("#NoticeMask").show(); - $("#NoticeBody").show(); - } -} - - -function ResponseFilamentResult() -{ - let FilaSelectedList= $("#ItemBlockArea input:checked"); - let nAll=FilaSelectedList.length; - - if( nAll==0 ) - { - ShowNotice(1); - return false; - } - - let FilaArray=new Array(); - for(let n=0;n select { + margin: 3px 0; + height: 30px; +} + +.cbr-column-title-container input:is(:hover,:focus) { + border-color: var(--main-color); + outline: none; +} + +.cbr-column-title-container input:is(:focus) { + background: var(--focus-bg-box); +} + +.cbr-filter-box { + position: relative; + margin: 3px; +} + +.list-item-count { + color:var(--fg-color-label); + margin-left:10px +} + +.cbr-filter-btns { + display: flex; + margin: 5px 5px 5px auto; +} + +.cbr-filter-btns div:first-of-type { + margin-left: 10px; +} + +.cbr-filter-mode-filter { + display: none; +} + +.clear-icon, +.search-icon, +.filter-icon { + position: absolute; + top: 50%; + transform: translateY(-50%); + -webkit-mask-image: var(--url); + mask-image: var(--url); + width: 16px; + height: 16px; + background-color: var(--icon-color); + pointer-events:none; +} + +.filter-icon {--url: var(--icon-filter)} +.search-icon {--url: var(--icon-search)} +.clear-icon {--url: var(--icon-input-clear)} + +.search-icon, +.filter-icon { + left: 6px; +} + +.clear-icon { + right: 6px; + display: none; +} + +.cbr-search-bar:not(:placeholder-shown) ~ .clear-icon, +.cbr-filter-bar:not(:placeholder-shown) ~ .clear-icon { + display: block; +} + +input[onclear="1"] { + cursor:default +} + +.cbr-search-placeholder, +.cbr-filter-placeholder { + position: absolute; + top: 50%; + transform: translateY(-50%); + font-size: 16px; + color: var(--fg-color-label); + pointer-events: none; + line-height: 24px; + left: 27px; +} + +.cbr-search-bar:not(:placeholder-shown) + .cbr-search-placeholder, +.cbr-filter-bar:not(:placeholder-shown) + .cbr-filter-placeholder { + opacity: 0; +} + +.cbr-content { + overflow-y: auto; +} + +.cbr-content div { + padding-left: 8px; +} + +.cbr-content label { + margin-right: 0 !important; + padding: 1px 0 !important; +} + +.cbr-content div.cbr-no-items { + display: none; +} + +/* NOTICE POPUP */ +#NoticeMask { + background-color: #000; + position: absolute; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + opacity: 0.05; + display: none; +} + +#NoticeBody { + display: none; + width: 500px; + border-width: 1px; + border-style: solid; + border-radius: 4px; + background-color: inherit; + position: absolute; + left: 50%; + top: 200px; + margin-left: -250px; +} + +#NoticeBar { + background-color: var(--main-color); + height: 40px; + line-height: 40px; + color: #fff; + text-align: center; +} + +#NoticeContent { + padding: 4mm 10mm; +} + +#NoticeBtns { + margin-top: 4mm; + display: flex; + justify-content:flex-end; +} \ No newline at end of file diff --git a/resources/web/guide/22/common.js b/resources/web/guide/22/common.js new file mode 100644 index 0000000000..c49fe5a273 --- /dev/null +++ b/resources/web/guide/22/common.js @@ -0,0 +1,614 @@ +var m_ProfileItem; + +var FilamentPriority = new Array( "pla","abs","pet","tpu","pc"); +var VendorPriority = new Array("generic"); + +function RequestProfile() +{ + var tSend={}; + tSend['sequence_id']=Math.round(new Date() / 1000); + tSend['command']="request_userguide_profile"; + + SendWXMessage( JSON.stringify(tSend) ); +} + +function GetFilamentShortname( sName ) +{ + let sShort=sName.split('@')[0].trim(); + + return sShort; +} + +function SortUI() +{ + var ModelList=new Array(); + + let nMode=m_ProfileItem["model"].length; + for(let n=0;n'+sModel['model']+''; + } + + $('#MachineList .CValues').append(HtmlMode); + $('#MachineList .CValues input').prop("checked",true); + //if(nMode<=1) + //{ + // $('#MachineList').hide(); + //} + + //Filament - Create sorted array with generic vendor first + let FilamentArray=new Array(); + let GenericFilamentArray=new Array(); + for( let key in m_ProfileItem['filament'] ) + { + let OneFila=m_ProfileItem['filament'][key]; + if(OneFila['vendor'].toLowerCase() === 'generic') + GenericFilamentArray.push({key: key, data: OneFila}); + else + FilamentArray.push({key: key, data: OneFila}); + } + // Combine arrays with generic filaments first + let SortedFilamentArray = GenericFilamentArray.concat(FilamentArray); + + let HtmlFilament=''; + let SelectNumber=0; + + var TypeHtmlArray={}; + var VendorHtmlArray={}; + for( let n=0; n=0) + { + bFind=true; + break; + } + } + } + } + + if(bFind) + { + //Type + let LowType=fType.toLowerCase(); + if(!TypeHtmlArray.hasOwnProperty(LowType)) + { + /* ORCA use label tag to allow checkbox to toggle when user ckicked to text */ + let HtmlType=''; + + TypeHtmlArray[LowType]=HtmlType; + } + + //Vendor + let lowVendor=fVendor.toLowerCase(); + if(!VendorHtmlArray.hasOwnProperty(lowVendor)) + { + /* ORCA use label tag to allow checkbox to toggle when user ckicked to text */ + let HtmlVendor=''; + + VendorHtmlArray[lowVendor]=HtmlVendor; + } + + //Filament + let pFila=$("#ItemBlockArea input[vendor='"+fVendor+"'][filatype='"+fType+"'][name='"+fShortName+"']"); + if(pFila.length==0) + { + /* ORCA use label tag to allow checkbox to toggle when user ckicked to text */ + let HtmlFila=''; + + $("#ItemBlockArea").append(HtmlFila); + } + else + { + let strModel=pFila.attr("model"); + let strFilalist=pFila.attr("filalist"); + + if(strModel == '' || fModel == '') + pFila.attr("model", ''); + else + pFila.attr("model", strModel+fModel); + + pFila.attr("filalist", strFilalist+fWholeName+';'); + } + + if(fSelect*1==1) + { + //alert( fWholeName+' - '+fShortName+' - '+fVendor+' - '+fType+' - '+fSelect+' - '+fModel ); + + $("#ItemBlockArea input[vendor='"+fVendor+"'][filatype='"+fType+"'][name='"+fShortName+"']").prop("checked",true); + SelectNumber++; + } +// else +// $("#ItemBlockArea input[vendor='"+fVendor+"'][model='"+fModel+"'][filatype='"+fType+"'][name='"+key+"']").prop("checked",false); + } + } + + //Sort TypeArray + let TypeAdvNum=FilamentPriority.length; + for( let n=0;n=0) + { + HasModel=true; + break; + } + } + + if(HasModel || fModel=='') + $(OneNode).show(); + else + $(OneNode).hide(); + } + else{ + $(OneNode).hide(); + //alert(fName) //debug non common filament type + } + } + + UpdateStats(); +} + +function UpdateStats() +{ + let $i = $("#ItemBlockArea"); + let $allItems = $i.find(".MItem"); + let $visibleItems = $i.find(".MItem:visible"); + let $filteredItems = $visibleItems.filter(function() { return $(this).css('position') !== 'absolute'}); + let visibleCount = Math.min($filteredItems.length, $visibleItems.length); + + $(".list-item-count").text( + $i.find("input:checked").length + " / " + + $allItems.length + + ($allItems.length > visibleCount ? (" [" + visibleCount + "]") : "") // filtered items + ); +} + +function SelectAllFilament( nShow ) +{ + // ORCA add ability to only select / unselect filted items + if (document.querySelector('.cbr-filter-bar').value) { + $('#ItemBlockArea .MItem:visible input') + .filter(function() {return $(this).closest('.MItem').css('position') !== 'absolute'}) + .prop("checked", nShow != 0); + } + else { + $('#ItemBlockArea .MItem:visible input').prop("checked",nShow!=0); + } + + UpdateStats(); +} + +function ShowNotice( nShow ) +{ + if(nShow==0) { + $("#NoticeMask").hide(); + $("#NoticeBody").hide(); + } + else { + $("#NoticeMask").show(); + $("#NoticeBody").show(); + } +} + +function ChooseDefaultFilament() +{ + //ModelList + let pModel=$("#MachineList input:gt(0)"); + let nModel=pModel.length; + let ModelList=new Array(); + for(let n=0;n-1 ) + { + DefaultMaterialString+=OneMode['materials']+';'; + } + } + + let DefaultMaterialArray=DefaultMaterialString.split(';'); + //alert(DefaultMaterialString); + + //Filament + let FilaNodes=$("#ItemBlockArea .MItem"); + let nFilament=FilaNodes.length; + for(let m=0;m-1) + { + HasModel=true; + break; + } + } + + if(HasModel) + $(OneFF).prop("checked",true); + } + + ShowNotice(0); + + UpdateStats(); +} + +function ResponseFilamentResult() +{ + let FilaSelectedList= $("#ItemBlockArea input:checked"); + let nAll=FilaSelectedList.length; + + if( nAll==0 ) + { + ShowNotice(1); + return false; + } + + let FilaArray=new Array(); + for(let n=0;n { + if (el.getAttribute("onclear") == "1") { + el.value = ''; + el.dispatchEvent(new Event('input', {bubbles: true})); + } + }); + el.addEventListener('mousemove', e => { + const rc = el.getBoundingClientRect(); + const onRight = el.value && (e.clientX - rc.left > rc.width - 32); + el.setAttribute("onclear", onRight ? "1" : "0"); + }); + el.addEventListener('mouseleave', e => { + el.setAttribute("onclear", "0"); + }); +} + +function initInputEvents(){ + document.querySelectorAll('.cbr-search-bar').forEach(searchBar => { + searchBar.addEventListener('input', function() { + const search = this.value.trim().toLowerCase(), + list = this.closest('.cbr-column').querySelector('.cbr-content'), + items = list.querySelectorAll('label'); + let hidden = 0; + + items.forEach((item, i) => { + if(i == 0){ + item.style.display ="block"; + return; + }; + const text = item.querySelector("span").textContent.toLowerCase(); + const hide = search && !text.includes(search); + item.style.display = hide ? "none" : "block"; + if(hide) hidden++; + }); + + if(items.length - hidden == 1){ + items[0].style.display = "none"; + hidden++; + } + + list.querySelector('.cbr-no-items').style.display = (hidden === items.length) ? "block" : "none"; + }); + addClearBtnEvents(searchBar); + }); + + const filterBar = document.querySelector('.cbr-filter-bar'); + const filterModeFilter = document.querySelector('.cbr-filter-mode-filter' ); + const filterModeVisible = document.querySelector('.cbr-filter-mode-visible'); + + filterBar.addEventListener('input', function() { + const search = this.value.trim().toLowerCase(); + const list = this.closest('.cbr-column').querySelector('.cbr-content'); + const items = list.querySelectorAll('label'); + let hidden = 0; + + filterModeFilter.style.display = search ? "block" : "none"; + filterModeVisible.style.display = search ? "none" : "block"; + + const showSel = search == "::checked"; + const showUnsel = search == "::unchecked"; + + if(showSel || showUnsel){ + items.forEach(item => { + const cb = item.querySelector("input"); + const hide = showSel ? !cb.checked : cb.checked; + item.style.position = hide ? "absolute" : "unset"; + if(hide) hidden++; + }); + } + else { + items.forEach(item => { + const text = item.querySelector("span").textContent.toLowerCase(); + const hide = search && !text.includes(search); + item.style.position = hide ? "absolute" : "unset"; + if(hide) hidden++; + }); + } + + list.querySelector('.cbr-no-items').style.display = (hidden === items.length) ? "block" : "none"; + + UpdateStats(); + }); + addClearBtnEvents(filterBar); + + document.querySelector('#filter-tags').addEventListener('change', e => { + let v = e.target.value; + filterBar.value = v == "1" ? "::checked" : "::unchecked"; + filterBar.dispatchEvent(new Event('input', {bubbles: true})); + filterBar.focus(); + e.target.value = 0; // reset back to make dropdown items always selectable + }); +} \ No newline at end of file diff --git a/resources/web/guide/22/index.html b/resources/web/guide/22/index.html index cda89a68a8..ac93b92bca 100644 --- a/resources/web/guide/22/index.html +++ b/resources/web/guide/22/index.html @@ -6,6 +6,7 @@ 引导_P21 + @@ -14,6 +15,7 @@ + @@ -129,98 +131,6 @@ // e.returnValue = false; //} }; - - function addClearBtnEvents(el){ - el.addEventListener('click', e => { - if (el.getAttribute("onclear") == "1") { - el.value = ''; - el.dispatchEvent(new Event('input', {bubbles: true})); - } - }); - el.addEventListener('mousemove', e => { - const rc = el.getBoundingClientRect(); - const onRight = el.value && (e.clientX - rc.left > rc.width - 32); - el.setAttribute("onclear", onRight ? "1" : "0"); - }); - el.addEventListener('mouseleave', e => { - el.setAttribute("onclear", "0"); - }); - } - - document.querySelectorAll('.cbr-search-bar').forEach(searchBar => { - searchBar.addEventListener('input', function() { - const search = this.value.trim().toLowerCase(), - list = this.closest('.cbr-column').querySelector('.cbr-content'), - items = list.querySelectorAll('label'); - let hidden = 0; - - items.forEach((item, i) => { - if(i == 0){ - item.style.display ="block"; - return; - }; - const text = item.querySelector("span").textContent.toLowerCase(); - const hide = search && !text.includes(search); - item.style.display = hide ? "none" : "block"; - if(hide) hidden++; - }); - - if(items.length - hidden == 1){ - items[0].style.display = "none"; - hidden++; - } - - list.querySelector('.cbr-no-items').style.display = (hidden === items.length) ? "block" : "none"; - }); - addClearBtnEvents(searchBar); - }); - - const filterBar = document.querySelector('.cbr-filter-bar'); - const filterModeFilter = document.querySelector('.cbr-filter-mode-filter' ); - const filterModeVisible = document.querySelector('.cbr-filter-mode-visible'); - - filterBar.addEventListener('input', function() { - const search = this.value.trim().toLowerCase(); - const list = this.closest('.cbr-column').querySelector('.cbr-content'); - const items = list.querySelectorAll('label'); - let hidden = 0; - - filterModeFilter.style.display = search ? "block" : "none"; - filterModeVisible.style.display = search ? "none" : "block"; - - const showSel = search == "::checked"; - const showUnsel = search == "::unchecked"; - - if(showSel || showUnsel){ - items.forEach(item => { - const cb = item.querySelector("input"); - const hide = showSel ? !cb.checked : cb.checked; - item.style.position = hide ? "absolute" : "unset"; - if(hide) hidden++; - }); - } - else { - items.forEach(item => { - const text = item.querySelector("span").textContent.toLowerCase(); - const hide = search && !text.includes(search); - item.style.position = hide ? "absolute" : "unset"; - if(hide) hidden++; - }); - } - - list.querySelector('.cbr-no-items').style.display = (hidden === items.length) ? "block" : "none"; - - UpdateStats(); - }); - addClearBtnEvents(filterBar); - - document.querySelector('#filter-tags').addEventListener('change', e => { - let v = e.target.value; - filterBar.value = v == "1" ? "::checked" : "::unchecked"; - filterBar.dispatchEvent(new Event('input', {bubbles: true})); - filterBar.focus(); - e.target.value = 0; // reset back to make dropdown items always selectable - }); - + initInputEvents(); diff --git a/resources/web/guide/23/23.css b/resources/web/guide/23/23.css index 596ffe10dc..16b372b08a 100644 --- a/resources/web/guide/23/23.css +++ b/resources/web/guide/23/23.css @@ -1,108 +1,5 @@ - -.ChooseBlock -{ - display:flex; - line-height: 32px; -} - -.CName -{ - width:130px; - font-weight: 700; - height: 100%; - text-align: right; - white-space: nowrap; - flex-shrink: 0; -} - -#ItemBlockArea -{ - display:flex; - overflow-y:scroll; - flex-wrap:wrap; - flex-direction: row; - padding: 0 0 0 8px; -} - -.MItem -{ - width:33%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - margin-right: 4px !important; - top: -100px; /* ORCA this will be activated when item filtered with position:absolute */ -} - -.MItem label -{ - margin-right: 0px !important; -} - -#NoticeMask -{ - background-color: #000; - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - opacity: 0.05; - display: none; -} - -#NoticeBody -{ - display: none; - width: 500px; - border-width: 1px; - border-style: solid; - border-radius: 4px; - background-color: inherit; - position: absolute; - left: 50%; - top: 200px; - margin-left: -250px; -} - -#NoticeBar -{ - background-color: var(--main-color); - height: 40px; - line-height: 40px; - color: #fff; - text-align: center; -} - -#NoticeContent -{ - padding: 4mm 10mm; -} - - -#NoticeBtns -{ - margin-top: 4mm; - display: flex; - justify-content:flex-end; -} - -#SystemFilamentsArea -{ - display: none; - flex-direction: column; - height: 100%; -} - -#CFilament_Btn_Area -{ - display: flex; - align-items: center; - height: 30px; -} - -#Title -{ +/* TABS SYSTEM / CUSTOM */ +#Title { margin: 0px 40px; border-bottom: 1px solid var(--border-color); display: flex; @@ -111,37 +8,44 @@ align-items: center; } -#Title div -{ +#Title div { cursor: pointer; font-size: 24px; } -#Title div.TitleSelected -{ +#Title div.TitleSelected { height: calc(100% - 6px); display: flex; align-items: center; border-bottom: 6px solid var(--main-color); } -#Title div.TitleUnselected -{ +#Title div.TitleUnselected { height: 100%; display: flex; align-items: center; color: #000; } -#CustomFilamentsArea -{ +/* SYSTEM FILAMENTS PAGE */ +body:has(#SystemFilamentBtn.TitleSelected) #Content { /* :has selector browser support 2023+ */ + padding: 15px 15px 5px; +} + +#SystemFilamentsArea { + display: none; + flex-direction: column; + height: 100%; +} + +/* CUSTOM FILAMENTS PAGE */ +#CustomFilamentsArea { display: flex; flex-direction: column; height: 100%; } -#CFilament_List -{ +#CFilament_List { display:flex; overflow-y:auto; flex-wrap:wrap; @@ -152,8 +56,7 @@ height: 100%; } -.CFilament_Item -{ +.CFilament_Item { display: flex; align-items: center; margin-right: 10%; @@ -164,200 +67,21 @@ margin-right: 2%; } -.CFilament_Name -{ +.CFilament_Name { width: 100%; overflow: hidden; white-space: nowrap; /* ?????? */ text-overflow: ellipsis; /* ????????? */ } -.CFilament_EditBtn -{ - cursor: pointer; - width: 20px; - height: 20px; -} - -.CFilament_EditBtn:hover -{ - -} - -/* ORCA column browser */ - -#Content { - height: 100%; -} - -body:has(#SystemFilamentBtn.TitleSelected) #Content { /* :has selector browser support 2023+ */ - padding: 15px 15px 5px; -} - -.cbr-browser-container { - display: grid; - grid-template-columns: repeat(3, 1fr); - grid-template-rows: 210px auto; - width: 100%; - height: 100%; - border: 1px solid var(--border-color); - box-sizing: border-box; -} - -.cbr-column:last-child { - grid-column: 1 / -1; - border-top: 1px solid var(--border-color); -} - -.cbr-column { - display: flex; - flex-direction: column; - overflow: hidden; -} - -.cbr-column:nth-child(-n+2) { - border-right: 1px solid var(--border-color); -} - -.cbr-column .CValues { - display: grid; -} - -.CValues label { - margin-right: 0 !important; -} - -.cbr-column-title-container { - position: sticky; - background: var(--bg-color-secondary); +#CFilament_Btn_Area { display: flex; align-items: center; - border-bottom: 1px solid var(--border-color); -} - -.cbr-search-bar, -.cbr-filter-bar { - font-size: 16px; - background: var(--bg-color-secondary); - border: 1px solid transparent; - padding: 2px 27px 2px 27px; - line-height: 24px; -} - -.cbr-search-bar { - width: calc(100% - 18px); -} - -.cbr-filter-bar { - border-color: var(--border-color); - width: 160px; - height:24px; -} - -.cbr-column-title-container .ComboBox > select { - margin: 3px 0; height: 30px; } -.cbr-column-title-container input:is(:hover,:focus) { - border-color: var(--main-color); - outline: none; -} - -.cbr-column-title-container input:is(:focus) { - background: var(--focus-bg-box); -} - -.cbr-filter-box { - position: relative; - margin: 3px; -} - -.list-item-count { - color:var(--fg-color-label); - margin-left:10px -} - -.cbr-filter-btns { - display: flex; - margin: 5px 5px 5px auto; -} - -.cbr-filter-btns div:first-of-type { - margin-left: 10px; -} - -.cbr-filter-mode-filter { - display: none; -} - -.clear-icon, -.search-icon, -.filter-icon { - position: absolute; - top: 50%; - transform: translateY(-50%); - -webkit-mask-image: var(--url); - mask-image: var(--url); - width: 16px; - height: 16px; - background-color: var(--icon-color); - pointer-events:none; -} - -.filter-icon {--url: var(--icon-filter)} -.search-icon {--url: var(--icon-search)} -.clear-icon {--url: var(--icon-input-clear)} - -.search-icon, -.filter-icon { - left: 6px; -} - -.clear-icon { - right: 6px; - display: none; -} - -.cbr-search-bar:not(:placeholder-shown) ~ .clear-icon, -.cbr-filter-bar:not(:placeholder-shown) ~ .clear-icon { - display: block; -} - -input[onclear="1"]{ - cursor:default -} - -.cbr-search-placeholder, -.cbr-filter-placeholder { - position: absolute; - top: 50%; - transform: translateY(-50%); - font-size: 16px; - color: var(--fg-color-label); - pointer-events: none; - line-height: 24px; - left: 27px; -} - -.cbr-search-bar:not(:placeholder-shown) + .cbr-search-placeholder, -.cbr-filter-bar:not(:placeholder-shown) + .cbr-filter-placeholder { - opacity: 0; -} - -.cbr-content { - overflow-y: auto; -} - -.cbr-content div { - padding-left: 8px; -} - -.cbr-content label { - margin-right: 0 !important; - padding: 1px 0 !important; -} - -.cbr-content div.cbr-no-items { - display: none; +.CFilament_EditBtn { + cursor: pointer; + width: 20px; + height: 20px; } \ No newline at end of file diff --git a/resources/web/guide/23/23.js b/resources/web/guide/23/23.js index 8649f7cd41..e1d73c053f 100644 --- a/resources/web/guide/23/23.js +++ b/resources/web/guide/23/23.js @@ -1,8 +1,3 @@ -var m_ProfileItem; - -var FilamentPriority=new Array( "pla","abs","pet","tpu","pc"); -var VendorPriority=new Array("generic"); - function OnInit() { TranslatePage(); @@ -15,15 +10,6 @@ function OnInit() //OnSelectMenu(2); } -function RequestProfile() -{ - var tSend={}; - tSend['sequence_id']=Math.round(new Date() / 1000); - tSend['command']="request_userguide_profile"; - - SendWXMessage( JSON.stringify(tSend) ); -} - function HandleStudio(pVal) { let strCmd=pVal['command']; @@ -40,505 +26,6 @@ function HandleStudio(pVal) } } -function GetFilamentShortname( sName ) -{ - let sShort=sName.split('@')[0].trim(); - - return sShort; -} - - -function SortUI() -{ - var ModelList=new Array(); - - let nMode=m_ProfileItem["model"].length; - for(let n=0;n'+sModel['model']+''; - } - - $('#MachineList .CValues').append(HtmlMode); - $('#MachineList .CValues input').prop("checked",true); - //if(nMode<=1) - //{ - // $('#MachineList').hide(); - //} - - //Filament - Create sorted array with generic vendor first - let FilamentArray=new Array(); - let GenericFilamentArray=new Array(); - for( let key in m_ProfileItem['filament'] ) - { - let OneFila=m_ProfileItem['filament'][key]; - if(OneFila['vendor'].toLowerCase() === 'generic') - GenericFilamentArray.push({key: key, data: OneFila}); - else - FilamentArray.push({key: key, data: OneFila}); - } - // Combine arrays with generic filaments first - let SortedFilamentArray = GenericFilamentArray.concat(FilamentArray); - - let HtmlFilament=''; - let SelectNumber=0; - - var TypeHtmlArray={}; - var VendorHtmlArray={}; - for( let n=0; n=0) - { - bFind=true; - break; - } - } - } - } - - if(bFind) - { - //Type - let LowType=fType.toLowerCase(); - if(!TypeHtmlArray.hasOwnProperty(LowType)) - { - /* ORCA use label tag to allow checkbox to toggle when user ckicked to text */ - let HtmlType=''; - - TypeHtmlArray[LowType]=HtmlType; - } - - //Vendor - let lowVendor=fVendor.toLowerCase(); - if(!VendorHtmlArray.hasOwnProperty(lowVendor)) - { - /* ORCA use label tag to allow checkbox to toggle when user ckicked to text */ - let HtmlVendor=''; - - VendorHtmlArray[lowVendor]=HtmlVendor; - } - - //Filament - let pFila=$("#ItemBlockArea input[vendor='"+fVendor+"'][filatype='"+fType+"'][name='"+fShortName+"']"); - if(pFila.length==0) - { - /* ORCA use label tag to allow checkbox to toggle when user ckicked to text */ - let HtmlFila=''; - - $("#ItemBlockArea").append(HtmlFila); - } - else - { - let strModel=pFila.attr("model"); - let strFilalist=pFila.attr("filalist"); - - if(strModel == '' || fModel == '') - pFila.attr("model", ''); - else - pFila.attr("model", strModel+fModel); - pFila.attr("filalist", strFilalist+fWholeName+';'); - } - - if(fSelect*1==1) - { - //alert( fWholeName+' - '+fShortName+' - '+fVendor+' - '+fType+' - '+fSelect+' - '+fModel ); - - $("#ItemBlockArea input[vendor='"+fVendor+"'][filatype='"+fType+"'][name='"+fShortName+"']").prop("checked",true); - SelectNumber++; - } -// else -// $("#ItemBlockArea input[vendor='"+fVendor+"'][model='"+fModel+"'][filatype='"+fType+"'][name='"+key+"']").prop("checked",false); - } - } - - //Sort TypeArray - let TypeAdvNum=FilamentPriority.length; - for( let n=0;n=0) - { - HasModel=true; - break; - } - } - - if(HasModel || fModel=='') - $(OneNode).show(); - else - $(OneNode).hide(); - } - else{ - $(OneNode).hide(); - //alert(fName) //debug non common filament type - } - - } - - UpdateStats(); -} - -function UpdateStats() -{ - let $i = $("#ItemBlockArea"); - let $allItems = $i.find(".MItem"); - let $visibleItems = $i.find(".MItem:visible"); - let $filteredItems = $visibleItems.filter(function() { return $(this).css('position') !== 'absolute'}); - let visibleCount = Math.min($filteredItems.length, $visibleItems.length); - - $(".list-item-count").text( - $i.find("input:checked").length + " / " + - $allItems.length + - ($allItems.length > visibleCount ? (" [" + visibleCount + "]") : "") // filtered items - ); -} - -function ChooseDefaultFilament() -{ - //ModelList - let pModel=$("#MachineList input:gt(0):checked"); - let nModel=pModel.length; - let ModelList=new Array(); - for(let n=0;n=0) - { - HasModel=true; - break; - } - } - - if(HasModel) - $(OneFF).prop("checked",true); - } - - ShowNotice(0); -} - -function SelectAllFilament( nShow ) -{ - // ORCA add ability to only select / unselect filted items - if (document.querySelector('.cbr-filter-bar').value) { - $('#ItemBlockArea .MItem:visible input') - .filter(function() {return $(this).closest('.MItem').css('position') !== 'absolute'}) - .prop("checked", nShow != 0); - } - else { - $('#ItemBlockArea .MItem:visible input').prop("checked",nShow!=0); - } - - UpdateStats(); -} - -function ShowNotice( nShow ) -{ - if(nShow==0) - { - $("#NoticeMask").hide(); - $("#NoticeBody").hide(); - } - else - { - $("#NoticeMask").show(); - $("#NoticeBody").show(); - } -} - - -function ResponseFilamentResult() -{ - let FilaSelectedList= $("#ItemBlockArea input:checked"); - let nAll=FilaSelectedList.length; - - if( nAll==0 ) - { - ShowNotice(1); - return false; - } - - let FilaArray=new Array(); - for(let n=0;n引导_P21 + @@ -13,6 +14,7 @@ + @@ -150,97 +152,6 @@ } }, { passive: false }); - function addClearBtnEvents(el){ - el.addEventListener('click', e => { - if (el.getAttribute("onclear") == "1") { - el.value = ''; - el.dispatchEvent(new Event('input', {bubbles: true})); - } - }); - el.addEventListener('mousemove', e => { - const rc = el.getBoundingClientRect(); - const onRight = el.value && (e.clientX - rc.left > rc.width - 32); - el.setAttribute("onclear", onRight ? "1" : "0"); - }); - el.addEventListener('mouseleave', e => { - el.setAttribute("onclear", "0"); - }); - } - - document.querySelectorAll('.cbr-search-bar').forEach(searchBar => { - searchBar.addEventListener('input', function() { - const search = this.value.trim().toLowerCase(), - list = this.closest('.cbr-column').querySelector('.cbr-content'), - items = list.querySelectorAll('label'); - let hidden = 0; - - items.forEach((item, i) => { - if(i == 0){ - item.style.display ="block"; - return; - }; - const text = item.querySelector("span").textContent.toLowerCase(); - const hide = search && !text.includes(search); - item.style.display = hide ? "none" : "block"; - if(hide) hidden++; - }); - - if(items.length - hidden == 1){ - items[0].style.display = "none"; - hidden++; - } - - list.querySelector('.cbr-no-items').style.display = (hidden === items.length) ? "block" : "none"; - }); - addClearBtnEvents(searchBar); - }); - - const filterBar = document.querySelector('.cbr-filter-bar'); - const filterModeFilter = document.querySelector('.cbr-filter-mode-filter' ); - const filterModeVisible = document.querySelector('.cbr-filter-mode-visible'); - - filterBar.addEventListener('input', function() { - const search = this.value.trim().toLowerCase(); - const list = this.closest('.cbr-column').querySelector('.cbr-content'); - const items = list.querySelectorAll('label'); - let hidden = 0; - - filterModeFilter.style.display = search ? "block" : "none"; - filterModeVisible.style.display = search ? "none" : "block"; - - const showSel = search == "::checked"; - const showUnsel = search == "::unchecked"; - - if(showSel || showUnsel){ - items.forEach(item => { - const cb = item.querySelector("input"); - const hide = showSel ? !cb.checked : cb.checked; - item.style.position = hide ? "absolute" : "unset"; - if(hide) hidden++; - }); - } - else { - items.forEach(item => { - const text = item.querySelector("span").textContent.toLowerCase(); - const hide = search && !text.includes(search); - item.style.position = hide ? "absolute" : "unset"; - if(hide) hidden++; - }); - } - - list.querySelector('.cbr-no-items').style.display = (hidden === items.length) ? "block" : "none"; - - UpdateStats(); - }); - addClearBtnEvents(filterBar); - - document.querySelector('#filter-tags').addEventListener('change', e => { - let v = e.target.value; - filterBar.value = v == "1" ? "::checked" : "::unchecked"; - filterBar.dispatchEvent(new Event('input', {bubbles: true})); - filterBar.focus(); - e.target.value = 0; // reset back to make dropdown items always selectable - }); - + initInputEvents(); diff --git a/resources/web/guide/24/24.css b/resources/web/guide/24/24.css index a635ff7847..641df90f61 100644 --- a/resources/web/guide/24/24.css +++ b/resources/web/guide/24/24.css @@ -1,473 +1,5 @@ -#Content -{ - overflow-y:auto; - padding: 0 10px 0 20px; /* ORCA Specify & Reduce horizontal paddings to fit 4 items per row */ - height: 100%; -} - -.OneVendorBlock { - position: relative; - margin-bottom: 7px; -} - -.OneVendorBlock:last-of-type { - margin-bottom: 36px; -} - -.BlockBanner -{ - position: sticky; - top: 0; - left: 0; - padding: 0px; - border-bottom: 2px solid var(--main-color); - width: 100%; - display: flex; - align-items: center; - z-index: 100; - background-color: var(--bg-color-secondary); - box-sizing: border-box; -} - -.BannerBtns -{ - display: flex; - white-space: nowrap; - justify-content: space-around; - align-items: center; - text-align: center; - margin-right: 5px; /* ORCA align buttons with end of horizontal separator/line */ - margin-left: auto; -} - -.BlockBanner a -{ - line-height: 30px; - height: 30px; - font-size: 17px; - font-weight: 600; - padding: 0px 10px; - color: var(--fg-color-text); -} - -.BlockBanner .modelCount { - margin: 0 15px 0 auto; - font-size: 14px; - line-height: 14px; - height: 15px; - color: var(--fg-color-label); -} - -.VendorCheckbox { - transform: scale(1.3); -} - -.PrinterArea -{ - padding: 7px 0px; /* ORCA Reduce horizontal paddings to fit 4 items per row */ - display: grid; - grid-template-columns: repeat(4, 1fr); - gap: 7px; -} - -.PrinterBlock -{ - display: flex; - align-items: center; - text-align: center; - flex-direction: column; - gap:10px; - padding: 15px 10px 10px 10px; - background-color: var(--bg-color-secondary); - position: relative; - border: 1px solid transparent -} - -.PrinterBlock:hover { - background-color: var(--focus-bg-item); - border-color:var(--main-color); -} - -.PImg { - width:120px; /* ORCA use covers as 120x120px but use source file as 240x240 for better quality on hidpi */ - height:120px; /* ORCA fit image to fill frame */ -} - -.PrinterInfo, -.PrinterInfoMark { - position: absolute; - right: 4px; - top: 4px; - opacity: 0; - border-radius: 11px; - line-height: 19px; - font-size: 14px; -} - -.PrinterInfo { - --card-animation-delay: .8s; /* open info with delay on list / compact view to prevent them appear while mouse movements */ - --card-info-height: fit-content; - left: 4px; - width: auto; - z-index: 9998; - height: var(--card-info-height); - border-color: var(--border-color); - background: var(--bg-color); - padding: 10px; - text-align: left; - color: var(--fg-color-text); - pointer-events: none; -} - -#Content[layout="2"] .PrinterInfo { - --card-animation-delay: .3s; - --card-info-height: 116px; -} - -.PrinterInfo .title {font-weight: 700} -.PrinterInfo .value {font-weight: 400} - -.PrinterInfoMark:hover + .PrinterInfo { - animation: infoCard 0s forwards var(--card-animation-delay); -} - -@keyframes infoCard {100% { - opacity: 1; - box-shadow: 0 5px 10px rgba(0,0,0,.2); -}} - -.PrinterInfoMark { - width: 20px; - height: 20px; - background: var(--main-color); - border: 1px solid var(--main-color); - z-index: 9999; - color: #FFF; - text-align: center; -} - -.PrinterBlock:hover .PrinterInfoMark { - opacity: 1; -} - -.PrinterBlock:hover .PrinterInfoMark:hover { - background: var(--main-color-hover); -} - -.ModelCheckBox -{ - position: absolute; - height: 6px; - bottom: 0; - left: 10%; - width: 80%; - background: var(--button-bg-hover) -} - -.ModelCheckBox.ModelCheckBoxSelected -{ - background: var(--main-color-fixed) -} - -img.ModelThumbnail -{ - width: 100%; - height: 100%; -} - -.PName -{ - font-weight: 600; - line-height: 20px; /* ORCA */ - text-align: center; - width: 100%; - color: var(--fg-color-text); -} - -.pNozzel -{ - display: none; - align-items: center; - justify-content:flex-start; - color: #5A5A5A; - padding-left: 0px; /* ORCA Align checkboxes with with model text */ -} - -.pNozzel input -{ - vertical-align: middle; - margin-right: 5px; -} - -.LayoutSelector { - position: absolute; - right:21px; - top:14px; -} - -.LayoutSelector .TabGroup { - display: flex; - padding: 2px; - gap: 2px; - border-radius: 6px; - background-color: var(--bg-color-alt); -} - -.LayoutSelector .icon16 { - opacity: .8; -} - -.LayoutSelector .TabButton { - padding: 7px; - border-radius: 4px; -} - -.LayoutSelector .TabButton.selected {background: var(--main-color)} -.LayoutSelector .TabButton.selected:hover {background: var(--main-color-hover)} -.LayoutSelector .TabButton.selected .icon16 {background: #FFF} - -.LayoutSelector .TabButton:nth-of-type(1) .icon16 {--icon-url: var(--icon-layout-list)} -.LayoutSelector .TabButton:nth-of-type(2) .icon16 {--icon-url: var(--icon-layout-compact)} -.LayoutSelector .TabButton:nth-of-type(3) .icon16 {--icon-url: var(--icon-layout-cover)} +/* UNIQUE STYLES */ #CreateBtn { margin: 0 auto 0 0; -} - -/* LAYOUT */ -#Content[layout="compact-list"] .PrinterArea { - grid-template-columns: repeat(4, 1fr); -} - -#Content[layout="compact-list"] .PImg { - display: none; -} - -#Content[layout="compact-list"] .OneVendorBlock { - margin-bottom: 15px; -} - -#Content[layout="compact-cover"] .PrinterArea { - grid-template-columns: repeat(3, 1fr); -} - -#Content[layout="compact-cover"] .PImg { - width: 60px; - min-width: 60px; - height: 60px; -} - -#Content[layout|="compact"] .PName { - text-align: left; -} - -#Content[layout|="compact"] .PrinterBlock { - flex-direction: row; - padding: 5px 5px 5px 18px; -} - -#Content[layout|="compact"] .ModelCheckBox { - width: 6px; - height: 80%; - left:0; - top:10% -} - -#Content[layout|="compact"] .OneVendorBlock:last-of-type { - margin-bottom: 0px; -} - -/*-----Notice-----*/ -#NoticeMask -{ - background-color: #000; - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - opacity: 0.05; - display: none; -} - -#NoticeBody -{ - display: none; - width: 400px; - border-width: 1px; - border-style: solid; - border-radius: 4px; - background-color: inherit; - position: absolute; - left: 50%; - top: 200px; - margin-left: -200px; -} - -#NoticeBar -{ - background-color:#00f0d8; - height: 40px; - line-height: 40px; - color: #fff; - text-align: center; -} - -#NoticeContent -{ - padding: 4mm 10mm; -} - - -#NoticeBtns -{ - margin-top: 4mm; - display: flex; - justify-content:flex-end; -} - -.search { - position: absolute; - left:66px; - top: 14px; - width: 34px; - height: 34px; - z-index: 99; - overflow: hidden; -} - -.search:focus-within, -.search[hasvalue="1"] { - width: calc(100% - 194px); -} - -.searchTerm { - width: 100%; - height: 100%; - padding: 4px 5px; - border-radius: 6px; - outline: none; - box-sizing: border-box; - background: var(--button-bg-normal); - border: 1px solid var(--button-bg-normal); -} - -@media (prefers-reduced-motion: no-preference) { - .searchTerm { - transition: background-color .2s - } -} - -.searchTerm, -.search-placeholder { - line-height: 24px; /* ORCA center text vertically */ - font-size: 14px; -} - -.search:focus-within .searchTerm, -.search[hasvalue="1"] .searchTerm { - padding-left:33px; - background: var(--bg-color); - border-color: var(--main-color); -} - -.search[hasvalue="1"]:not(:focus-within, :hover) .searchTerm { - border-color: var(--border-color); -} - -.search:not(:focus-within, [hasvalue="1"]) .searchTerm { - cursor: default; -} - -.search:not(:focus-within, [hasvalue="1"]) .searchTerm:hover { - background: var(--button-bg-hover); -} - -.search-placeholder { - color: var(--fg-color-disabled); - left: 33px; -} - -.searchTerm:not(:placeholder-shown) + .search-placeholder { - opacity: 0; -} - -.search-icon, -.search-placeholder { - position: absolute; - top: 50%; - transform: translateY(-50%); - pointer-events: none; -} - -.search-icon { - left: 9px; - --icon-url: var(--icon-search); -} - -.SidebarBtn { - position: absolute; - left: 20px; - top: 14px; - padding: 9px; - border-radius: 6px; -} - -.SidebarBtn .icon16 { - --icon-url: var(--icon-sidebar); -} - -#SidebarContainer { - position: absolute; - top: 0; - left: -240px; - right: 0; - height: 100%; - z-index: 999999; - display: flex; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - #SidebarContainer { - transition: background-color .2s, left .2s - } -} - -#SidebarContainer[open="1"] { - left: 0px; - pointer-events: all; - background: rgba(0,0,0,.3); -} - -#Sidebar { - flex: 0 0 220px; - background: var(--bg-color); - box-shadow: 5px 0 20px rgba(0,0,0,.2); - padding: 15px 0; - overflow-y: auto; -} - -#Sidebar .title { - font-size: 17px; - line-height: 17px; - font-weight: 600; - padding: 0 0 5px 20px; -} - -#Sidebar .SidebarItem { - width: 100%; - padding: 2px 10px 2px 20px; - color:var(--fg-color-text); - font-size: 14px; - border: 1px solid transparent; - box-sizing: border-box; -} - -#Sidebar .SidebarItem:hover { - border-color: var(--main-color); -} - -#SidebarContainer .back { - flex: 1; } \ No newline at end of file diff --git a/resources/web/guide/24/24.js b/resources/web/guide/24/24.js index 5ec0c60197..74a03db7b9 100644 --- a/resources/web/guide/24/24.js +++ b/resources/web/guide/24/24.js @@ -1,485 +1,15 @@ +// UNIQUE FUNCTIONS + +// Keep in here for future additions function OnInit() { //let strInput=JSON.stringify(cData); //HandleModelList(cData); TranslatePage(); - RequestProfile(); } - - -function RequestProfile() -{ - var tSend={}; - tSend['sequence_id']=Math.round(new Date() / 1000); - tSend['command']="request_userguide_profile"; - - SendWXMessage( JSON.stringify(tSend) ); -} - -function HandleStudio( pVal ) -{ -// alert(strInput); -// alert(JSON.stringify(strInput)); -// -// let pVal=IsJson(strInput); -// if(pVal==null) -// { -// alert("Msg Format Error is not Json"); -// return; -// } - - let strCmd=pVal['command']; - //alert(strCmd); - - if(strCmd=='response_userguide_profile') - { - HandleModelList(pVal['response']); - } -} - -function ShowPrinterThumb(pItem, strImg) -{ - $(pItem).attr('src',strImg); - $(pItem).attr('onerror',null); -} - -function ChooseModel( vendor, ModelName ) -{ - let ChooseItem=$(".ModelCheckBox[vendor='"+vendor+"'][model='"+ModelName+"']"); - - if(ChooseItem!=null) - { - if( $(ChooseItem).hasClass('ModelCheckBoxSelected') ) - $(ChooseItem).removeClass('ModelCheckBoxSelected'); - else - $(ChooseItem).addClass('ModelCheckBoxSelected'); - - SetModelSelect(vendor, ModelName, $(ChooseItem).hasClass('ModelCheckBoxSelected')); - } -} - -function HandleModelList( pVal ) -{ - if( !pVal.hasOwnProperty("model") ) - return; - - pModel=pVal['model']; - - // ORCA ensure list correctly ordered - pModel = pModel.sort((a, b)=>(a["vendor"].localeCompare(b["vendor"]))) - pModel = [ // move custom printers to top - ...pModel.filter(i=>i.vendor === "Custom"), - ...pModel.filter(i=>i.vendor !== "Custom") - ]; - - let nTotal=pModel.length; - let ModelHtml={}; - for(let n=0;n'+ -'
'+ -' '+sVV+''+ -'
'+ -'
' + -' '+ -'
'+ -//'
'+ -//'
all
'+ -//'
none
'+ -//'
'+ -'
'+ -'
'+ -'
'+ -''; - - $('#Content').append(HtmlNewVendor); - } - - let ModelName=OneModel['model']; - - //Collect Html Node Nozzel Html - if( !ModelHtml.hasOwnProperty(strVendor)) - ModelHtml[strVendor]=''; - - ModelHtml[strVendor]+=CreatePrinterBlock(OneModel); // ORCA - } - - //Update Nozzel Html Append - for( let key in ModelHtml ) - { - $(".OneVendorBlock[vendor='"+key+"'] .PrinterArea").append( ModelHtml[key] ); - } - - - //Update Checkbox - for(let m=0;m{ - UpdateVendorCheckbox(el.getAttribute("vendor")); - SidebarHTML +=`
${el.getAttribute('vendor')}
`; - }); - $SidebarVendors.html(SidebarHTML) - - // let AlreadySelect=$(".ModelCheckBoxSelected"); - // let nSelect=AlreadySelect.length; - // if(nSelect==0) - // { - // $("div.OneVendorBlock[vendor='"+BBL+"'] .ModelCheckBox").addClass('ModelCheckBoxSelected'); - // } - - TranslatePage(); -} - -function scrollToVendor(vendor) { - const el = $(".OneVendorBlock[vendor='"+vendor+"']")[0]; - if (el){ - document.getElementById('SidebarContainer').setAttribute('open', '0'); - document.getElementById('Content').scrollTo({top: el.offsetTop, behavior: "smooth"}); - } -} - -function SetModelSelect(vendor, model, checked) { - if (!ModelNozzleSelected.hasOwnProperty(vendor) && !checked) { - return; - } - - if (!ModelNozzleSelected.hasOwnProperty(vendor) && checked) { - ModelNozzleSelected[vendor] = {}; - } - - let oVendor = ModelNozzleSelected[vendor]; - if (oVendor.hasOwnProperty(model) || checked) { - oVendor[model] = checked; - } - - UpdateVendorCheckbox(vendor) -} - -function GetModelSelect(vendor, model) { - if (!ModelNozzleSelected.hasOwnProperty(vendor)) { - return false; - } - - let oVendor = ModelNozzleSelected[vendor]; - if (!oVendor.hasOwnProperty(model)) { - return false; - } - - return oVendor[model]; -} - -function FilterModelList(keyword) { - - //Save checkbox state - let ModelSelect = $('.ModelCheckBox'); - for (let n = 0; n < ModelSelect.length; n++) { - let OneItem = ModelSelect[n]; - - let strModel = OneItem.getAttribute("model"); - - let strVendor = OneItem.getAttribute("vendor"); - - SetModelSelect(strVendor, strModel, $(OneItem).hasClass('ModelCheckBoxSelected')); - } - - $('.search')[0].setAttribute("hasvalue", keyword ? "1" : "0") - - let nTotal = pModel.length; - let ModelHtml = {}; - let kwSplit = keyword.toLowerCase().match(/\S+/g) || []; - - $('#Content').empty(); - for (let n = 0; n < nTotal; n++) { - let OneModel = pModel[n]; - - let strVendor = OneModel['vendor']; - let search = (OneModel['name'] + '\0' + strVendor).toLowerCase(); - - if (!kwSplit.every(s => search.includes(s))) - continue; - - //Add Vendor Html Node - if ($(".OneVendorBlock[vendor='" + strVendor + "']").length == 0) { - let sVV = strVendor; - if (sVV == "BBL") - sVV = "Bambu Lab"; - if (sVV == "Custom") - sVV = "Custom Printer"; - if (sVV == "Other") - sVV = "Orca colosseum"; - - let HtmlNewVendor = '
' + - '
' + - ' ' + sVV + '' + - '
'+ - '
' + - ' '+ - '
'+ - //'
' + - //'
all
' + - //'
none
' + - //'
' + - '
' + - '
' + - '
' + - '
'; - - $('#Content').append(HtmlNewVendor); - } - - //Collect Html Node Nozzel Html - if (!ModelHtml.hasOwnProperty(strVendor)) - ModelHtml[strVendor] = ''; - - ModelHtml[strVendor]+=CreatePrinterBlock(OneModel); // ORCA - } - - //Update Nozzel Html Append - for (let key in ModelHtml) { - let obj = $(".OneVendorBlock[vendor='" + key + "'] .PrinterArea"); - obj.empty(); - obj.append(ModelHtml[key]); - } - - - //Update Checkbox - ModelSelect = $('.ModelCheckBox'); - for (let n = 0; n < ModelSelect.length; n++) { - let OneItem = ModelSelect[n]; - - let strModel = OneItem.getAttribute("model"); - let strVendor = OneItem.getAttribute("vendor"); - - let checked = GetModelSelect(strVendor, strModel); - - if (checked) - $(OneItem).addClass('ModelCheckBoxSelected'); - else - $(OneItem).removeClass('ModelCheckBoxSelected'); - } - - const $SidebarVendors = $('#SidebarVendors'); - let SidebarHTML = ""; - $(`.OneVendorBlock`).each((i, el)=>{ - UpdateVendorCheckbox(el.getAttribute("vendor")); - SidebarHTML +=`
${el.getAttribute('vendor')}
`; - }); - $SidebarVendors.html(SidebarHTML) - - const $content = $('#Content'); - $content.css("padding-right", $content[0].scrollHeight > $content[0].clientHeight ? "10px" : "20px"); - - // let AlreadySelect=$(".ModelCheckBoxSelected"); - // let nSelect=AlreadySelect.length; - // if(nSelect==0) - // { - // $("div.OneVendorBlock[vendor='"+BBL+"'] .ModelCheckBox").addClass('ModelCheckBoxSelected'); - // } - - TranslatePage(); -} - -function CreatePrinterBlock(OneModel) -{ - // ORCA use single functuon to create blocks to simplify code - let vendor = OneModel['vendor'] - vendorName = vendor=="BBL" ? "Bambu Lab" : vendor=="Custom" ? "Generic Printer" : vendor; - - let modelName = OneModel['name']; - // Most of it unneeded. this can be applied in profiles - if( vendor=="Custom") - modelName = modelName.split(" ")[1]; - // these uses different case in name; seckit, ratrig, blocks - else if (modelName.toLowerCase().startsWith(vendorName.toLowerCase())) - modelName = modelName.slice(vendorName.length); - // these not matches. have to fix in profiles to reduce conditions in here; - else if (vendor == "MagicMaker" && modelName.startsWith("MM")) - modelName = modelName.slice(("MM").length); - else if (vendor == "OrcaArena") - modelName = modelName.slice(("Orca Arena").length); - else if (vendor == "RolohaunDesign" && modelName.startsWith("Rolohaun")) - modelName = modelName.slice(("Rolohaun").length); - - return '
'+ - '
'+ - ''+ - '
'+ - '
?
'+ - '
'+ - //'
Print volume
'+ - //'
' + OneModel['printable_height'] + '
'+ - '
Nozzle
'+ - '
' + OneModel['nozzle_diameter'].replaceAll(";", " · ") + '
'+ - '
'+ - '
'+ - '
'+ - '
'+ modelName +'
'+ // >

'+ vendorName +'

- '
'+ - '
'; -} - -function SelectPrinterAll( sVendor ) -{ - $("div.OneVendorBlock[vendor='"+sVendor+"'] .ModelCheckBox").addClass('ModelCheckBoxSelected'); - $("div.OneVendorBlock[vendor='"+sVendor+"'] .ModelCheckBox").each(function() { - let strModel = this.getAttribute("model"); - SetModelSelect(sVendor, strModel, true); - }); -} - - -function SelectPrinterNone( sVendor ) -{ - $("div.OneVendorBlock[vendor='"+sVendor+"'] .ModelCheckBox").removeClass('ModelCheckBoxSelected'); - $("div.OneVendorBlock[vendor='"+sVendor+"'] .ModelCheckBox").each(function() { - let strModel = this.getAttribute("model"); - SetModelSelect(sVendor, strModel, false); - }); -} - -function ChooseVendor(sVendor) { - const $cbs = $(`.OneVendorBlock[vendor='${sVendor}'] .ModelCheckBox`); - const sel = $cbs.length && $cbs.not('.ModelCheckBoxSelected').length; - - sel ? $cbs.addClass('ModelCheckBoxSelected') - : $cbs.removeClass('ModelCheckBoxSelected'); - - $cbs.each((i, el)=>{SetModelSelect(sVendor, el.getAttribute('model'), sel)}); -} - -function UpdateVendorCheckbox(sVendor) { - const $vb = $(`.OneVendorBlock[vendor='${sVendor}']`); - const $cbs = $vb.find(`.ModelCheckBox`); - const $vcb = $vb.find(`.VendorCheckbox`); - - const selCount = $cbs.filter('.ModelCheckBoxSelected').length; - const allSel = selCount === $cbs.length && selCount > 0; - const nonSel = selCount === 0; - - $vcb.prop({checked: allSel , indeterminate: !allSel && !nonSel}); - - $vb.find(".modelCount").text(selCount + " / " + $cbs.length); -} - -function OnExitFilter() { - - let nTotal = 0; - let ModelAll = {}; - for (vendor in ModelNozzleSelected) { - for (model in ModelNozzleSelected[vendor]) { - if (!ModelNozzleSelected[vendor][model]) - continue; - - if (!ModelAll.hasOwnProperty(model)) { - //alert("ADD: "+strModel); - - ModelAll[model] = {}; - - ModelAll[model]["model"] = model; - } - - nTotal++; - } - } - - var tSend = {}; - tSend['sequence_id'] = Math.round(new Date() / 1000); - tSend['command'] = "save_userguide_models"; - tSend['data'] = ModelAll; - - SendWXMessage(JSON.stringify(tSend)); - - return nTotal; - -} - -// -function OnExit() -{ - let ModelAll={}; - - let ModelSelect=$(".ModelCheckBoxSelected"); - let nTotal=ModelSelect.length; - - if( nTotal==0 ) - { - ShowNotice(1); - - return 0; - } - - for(let n=0;n引导_P21 + @@ -13,8 +14,9 @@ - - + + +
@@ -49,65 +51,33 @@
- +-->
@@ -126,215 +96,10 @@
- - + From d6a49ace15377c601cdcf620aa912d32f7e81deb Mon Sep 17 00:00:00 2001 From: Bingo2023 <61052575+Bingo2023@users.noreply.github.com> Date: Mon, 1 Jun 2026 16:15:34 +0200 Subject: [PATCH 56/69] Update Bambu Lab X2D 0.4 nozzle.json (#13985) * Update Bambu Lab X2D 0.4 nozzle.json corrected mistake from 31.5.2026 " is correct in machine code. * Update Bambu Lab X2D 0.4 nozzle.json fixed error with " -> \" * Merge branch 'main' into patch-2 --- resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json index beeb01dd8a..b32ce9af25 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X2D 0.4 nozzle.json @@ -8,7 +8,7 @@ "change_filament_gcode": "======== X2D filament_change gcode ==========\n;===== 2026/04/08 =====\n\nM620 S[next_extruder]A B H[next_hotend]\n;M204 S9000\n{if toolchange_count > 1 && (z_hop_types[current_extruder] == 0 || z_hop_types[current_extruder] == 3)}\nG17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\n\n;nozzle_change_gcode\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_extruder] == \"PLA\") || (filament_type[current_extruder] == \"PLA-CF\") || (filament_type[current_extruder] == \"PETG\")) && (nozzle_diameter[current_extruder] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P[old_filament_temp] S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P[old_filament_temp] S1\n{endif}\n\n{if ((filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG\")) && (nozzle_diameter[next_extruder] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P[new_filament_temp] S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P[new_filament_temp] S1\n{endif}\n\nM620.15 C{new_filament_temp - filament_cooling_before_tower[next_extruder]}\n\n{if long_retraction_when_cut}\nM620.11 P1 L0 I[current_extruder] B[current_hotend] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 P0 L0 I[current_extruder] B[current_hotend] E0\n{endif}\n\n{if long_retraction_when_ec}\nM620.11 K1 I[current_extruder] B[current_hotend] R{retraction_distance_when_ec} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 K0 I[current_extruder] B[current_hotend] R0\n{endif}\n\nM620.22 I[next_extruder] P1 ; enable remote extruder runout auto purge.\n \nT[next_extruder] H[next_hotend]\n\n;deretract\n{if filament_type[next_extruder] == \"TPU\"}\n{else}\n{if filament_type[next_extruder] == \"PA\"}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\nSYNC T{ceil(flush_length / 125) * 5}\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_extruder]}\n\nM400\nM83\n{if next_extruder < 255}\nM620.10 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\n\n;prime_tower_interface\n{if is_prime_tower_interface && filament_tower_interface_purge_volume !=0}\nG150.1\nM620.13 W0 L{filament_tower_interface_purge_volume} T{filament_tower_interface_print_temp} R0.0\n{endif}\n;prime_tower_interface\n\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\n\nM400\n\nG1 Z{max_layer_z + 3.0} F3000\n\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\n\nM621 S[next_extruder]A B\n\nM622.1 S0 ;for prev version, default skip\nM1002 judge_flag powerloss_resume_flag\nM622 J1\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM400\nG1 Z{max_layer_z + 3.0} F3000\nM1002 set_flag powerloss_resume_flag=0\nM623\n\nM620.6 I[next_extruder] H[next_hotend] W1 ;enable ams air printing detect\n\n{if (filament_type[next_extruder] == \"TPU\")}\nM1015.3 S1 H[nozzle_diameter];enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\n\nG1 Y256 F18000\n\n\n{if (overall_chamber_temperature < 40)}\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[next_extruder])}\n M106 P2 S{first_x_layer_fan_speed[next_extruder]*255.0/100.0 };set first x_layer fan\n\tM106 P10 S{first_x_layer_fan_speed[next_extruder]*255.0/100.0 };set first x_layer fan\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[next_extruder] && additional_fan_full_speed_layer[next_extruder] > close_additional_fan_first_x_layers[next_extruder])}\n M106 P2 S{(first_x_layer_fan_speed[next_extruder] + (additional_cooling_fan_speed[next_extruder] - first_x_layer_fan_speed[next_extruder]) * (layer_num + 1 - close_additional_fan_first_x_layers[next_extruder]) / (additional_fan_full_speed_layer[next_extruder] - close_additional_fan_first_x_layers[next_extruder])) * 255.0/100.0}\n\tM106 P10 S{(first_x_layer_fan_speed[next_extruder] + (additional_cooling_fan_speed[next_extruder] - first_x_layer_fan_speed[next_extruder]) * (layer_num + 1 - close_additional_fan_first_x_layers[next_extruder]) / (additional_fan_full_speed_layer[next_extruder] - close_additional_fan_first_x_layers[next_extruder])) * 255.0/100.0}\n{else}\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S35 U{max_additional_fan/100.0} V1.0 O40; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R35 S45 U{max_additional_fan/100.0} V0.5 O50; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 U{max_additional_fan/100.0} V0.5 O55; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n{endif}\n{endif}\n;not set fan changing filament", "layer_change_gcode": ";======== X2D layer_change gcode ==========\n;===== 2025/04/08 =====\n\n{if (layer_num + 1 == 1)}\n{if (overall_chamber_temperature >= 40)}\n ;not reset filter fan in first layer\n ;not reset fan\n{endif}\n{endif}\n\n{if (layer_num + 1 <= close_additional_fan_first_x_layers[current_extruder])}\n{if (overall_chamber_temperature < 40)}\n M106 P2 S{first_x_layer_fan_speed[current_extruder]*255.0/100.0}\n\tM106 P10 S{first_x_layer_fan_speed[current_extruder]*255.0/100.0}\n{endif}\n;not reset fan\n{elsif (layer_num + 1 < additional_fan_full_speed_layer[current_extruder] && additional_fan_full_speed_layer[current_extruder] > close_additional_fan_first_x_layers[current_extruder])}\n{if (overall_chamber_temperature < 40)}\n M106 P2 S{(first_x_layer_fan_speed[current_extruder] + (additional_cooling_fan_speed[current_extruder] - first_x_layer_fan_speed[current_extruder]) * (layer_num + 1 - close_additional_fan_first_x_layers[current_extruder]) / (additional_fan_full_speed_layer[current_extruder] - close_additional_fan_first_x_layers[current_extruder])) * 255.0/100.0}\n\tM106 P10 S{(first_x_layer_fan_speed[current_extruder] + (additional_cooling_fan_speed[current_extruder] - first_x_layer_fan_speed[current_extruder]) * (layer_num + 1 - close_additional_fan_first_x_layers[current_extruder]) / (additional_fan_full_speed_layer[current_extruder] - close_additional_fan_first_x_layers[current_extruder])) * 255.0/100.0}\n{endif}\n;not reset fan\n{elsif (layer_num + 1 == max(close_additional_fan_first_x_layers[current_extruder] + 1, additional_fan_full_speed_layer[current_extruder]))}\n{if (overall_chamber_temperature < 40)}\n ;updata chamber autocooling in Xth layer\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S35 U{max_additional_fan/100.0} V1.0 O40; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R35 S45 U{max_additional_fan/100.0} V0.5 O50; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R35 S50 U{max_additional_fan/100.0} V0.5 O55; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n{else}\n ;not reset filter fan in Xth layer\n{endif}\n;not reset fan\n{endif}\n\n\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n", "machine_end_gcode": ";======== X2D end gcode ==========\n;===== 2026/03/30 =====\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\n\nG90\nG1 Z{max_layer_z + 0.4} F900 ; lower z a little\nM1002 judge_flag timelapse_record_flag\nM622 J1\n G150.3\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nG90\nG1 Z{max_layer_z + 10} F900 ; lower z a little\n\nM140 S0 ; turn off bed\nM141 S0 ; turn off chamber heating\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P10 S0 ; turn off remote part1 cooling fan\n\n; pull back filament to AMS\nM620 S65279 B\n; M620.11 P1 L0 I65279 E-3\nT65279\nG150.1 F8000\nM621 S65279 B\n\nM620 S65535 B\n; M620.11 P1 L0 I65535 E-4\nT65535\nG150.1 F8000\nM621 S65535 B\n\nG150.3\n\nM104 S0 T0; turn off hotend\nM104 S0 T1; turn off hotend\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (80.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 80.0 - max_layer_z/2) < 256}\n G1 Z{max_layer_z + 80.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 78.0 - max_layer_z/2}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 256}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.3 S0 ;disable clog detect\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\nM622 J1\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P10 S255\nM400 S180\nM106 P10 S0\nM623\n\nM622 J2\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S255\nM400 S180\nM106 P3 S0\nM623\n;=====printer finish air purification=========\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L50 C48 D10 M50 E48 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L50 C60 D10 M50 E60 F10 N50 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\n", - "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\n;======== X2D start gcode==========\n;===== 2026/05/08 =====\n\n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n M400\n ;M73 P99\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B9 L50 C61 D9 M50 E61 F9 N50 \nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B18 L50 C61 D18 M50 E61 F18 N50 \nM1006 W\n;=====printer start sound ===================\n\n M1012.1 T1100\n M620 M ;enable remap\n M622.1 S0\n G383.4\n \n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n M220 S100 ;Reset Feedrate\n M1002 set_gcode_claim_speed_level: 5\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M982.2 S1 ; turn on cog noise reduction\n;===== reset machine status =================\n\n;==== set airduct mode ==== \n{if (overall_chamber_temperature >= 40)}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S0 ; turn off auxiliary fan\nM106 P10 S255 ; turn on filter fan\n{else}\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P10 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\n;M140 S0 ; stop heatbed from heating\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on auxiliary fan\nM106 P10 S102 ; turn on chamber fan\nM142 P6 R30 S40 U0.6 V0.8 ; set PLA/TPU/PETG exhaust chamber autocooling\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n M1002 gcode_claim_action : 2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]} \n \n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n;===== set chamber temperature ==========\n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n G28 X T300 R\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G150.3\n M972 S24 P0\n M1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\n M972 S26 P0 C0\n G90\n M83\n G1 Y128 F30000\n G1 X128\n G28 Z P0 T400\n M400\n;===== first homign end =====\n\n;===== detection start =====\n M1002 gcode_claim_action : 11\n\n M104 S0 T0\n M104 S0 T1\n M562 P1 E0 B1\n M562 P2 E0 B1\n M18 E\n M400 P200\n M1028 S1\n M972 S19 P0 ;heatbed detection\n M972 S31 P0 ;toolhead camera dirt detection\n M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 ;print plate deviation detection\n M1028 S0\n M562 P1 E1 B1\n M562 P2 E1 B1\n M17 D\n\n ;M400\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} T{filament_map[initial_no_support_extruder] % 2} ; rise temp in advance\n G151 P{filament_map[initial_no_support_extruder] % 2} M ; plug the heat nozzle\n {if max_print_z >= 145}\n M1002 gcode_claim_action : 75 ; Detect obstacles at the botton of the heated bed\n G3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n {endif}\n;===== detection end =====\n\n;===== prepare print temperature and material ==========\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-40} A ; rise temp in advance\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n M975 S1 ; turn on input shaping\n \n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG\")) && (nozzle_diameter[initial_no_support_extruder] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{endif}\n \n M620.11 P0 L0 I[initial_no_support_extruder] B[initial_no_support_hotend] E0\n M620.11 K0 I[initial_no_support_extruder] B[initial_no_support_hotend] R0\n\n M620 S[initial_no_support_extruder]A H[initial_no_support_hotend] B ; switch material if AMS exist\n M620.22 I[initial_no_support_extruder] P1 ; enable remote extruder runout auto purge.\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_extruder] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M621 S[initial_no_support_extruder]A B\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n;===== prepare print temperature and material ==========\n\n;===== auto extrude cali start =========================\n M975 S1\n M1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n;===== auto extrude cali end =========================\n\n {if hold_chamber_temp_for_flat_print}\n G150.3\n M1002 gcode_claim_action : 58\n M104 S{first_layer_temperature[initial_no_support_extruder]}\n {if bed_temperature_initial_layer_single > 89}\n {if overall_chamber_temperature < 40}\n M1030 S1200\n SYNC R0 T1200\n {else}\n M1030 S600\n SYNC R0 T600\n {endif} \n {else}\n M1030 S300\n SYNC R0 T300\n {endif}\n M1030 C\n {endif}\n\n {if filament_type[current_extruder] == \"TPU\" || filament_type[current_extruder] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G150.2\n G150.1 F8000\n G150.2\n G150.1 F8000\n\n G91\n G1 Y-16 F12000 ; move away from the trash bin\n G90\n M400\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} A\n\n;===== wipe right nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n;===== wipe left nozzle end =====\n\n{if filament_type[current_extruder] == \"PC\"}\n M109 S170 A\n{else}\n M109 S140 A\n{endif}\n M106 S0 ; turn off fan , too noisy\n G91\n G1 Z5 F1200\n G90\n M400\n G150.1\n\n{if (overall_chamber_temperature >= 40)}\nM1002 gcode_claim_action : 49\nM191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\n;===== z ofst cali start =====\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n G383 O0 M1 T140\n M400\n;===== z ofst cali end =====\nG90\nM83\nG0 Y200 F18000\n\n;===== bed leveling ==================================\n M1002 gcode_claim_action : 54\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n M109 S140 A\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n \n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n\n M622 J0\n G28 R\n M623\n G29.2 S1\n;===== bed leveling end ================================\n\n; cali eddy z pos\n;G383.13 T1 C1\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} A\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 X128 Y128 F20000\n G1 Z5 F1200\n M400 P200\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n M970.3 Q0 A7 K0 O1\n M974 Q0 S2 P0\n M975 S1\n M400\n;===== mech mode sweep end =====\n\nM104 S[nozzle_temperature_initial_layer] A\nG150.3\n\n M400 P50\n M500 D1\n M400 S3\n;===== xy ofst cali start =====\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J0\n M1012.5 N1 R1\nM623\n\nM622 J1\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n M620 D[initial_no_support_hotend]\n G383 O1 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M141 S[overall_chamber_temperature]\nM623\n\nM622 J2\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n M620 D[initial_no_support_hotend]\n G383.3 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M141 S[overall_chamber_temperature]\nM623\n;===== xy ofst cali end =====\n\n M104 S[nozzle_temperature_initial_layer] A\n\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n M140 S[bed_temperature_initial_layer_single] \n M190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n \n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n M983.4 S0 ; turn off deformation compensation \n\n;============switch again==================\n M211 X0 Y0 Z0 ;turn off soft endstop\n G91\n G1 Z6 F1200\n G90\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M620 S[initial_no_support_extruder]A H[initial_no_support_hotend] B\n M620.22 I[initial_no_support_extruder] P1 ; enable remote extruder runout auto purge.\n M400\n T[initial_no_support_extruder] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M621 S[initial_no_support_extruder]A B\n;============switch again==================\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if bed_temperature_initial_layer_single > 70}\n {if curr_bed_type=='Textured PEI Plate'}\n G29.1 Z{-0.003} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.017}\n {endif}\n {else}\n {if curr_bed_type=='Textured PEI Plate'}\n G29.1 Z{0.002} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.022}\n {endif}\n {endif}\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 X100 Y0 F24000\n M400\n ;G130 O0 X100 Y-0.4 Z0.6 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E20 D5\n G130 O0 X100 Y-0.2 Z0.6 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E12 D4\nG90\n G90\n M83\n G1 Z1\n M400\n;===== noozle load line end ===========================\nM1002 gcode_claim_action : 0\n G29.99\n\n;M993 A1 B1 C1 ; nozzle cam detection allowed.\n\nM620.6 I[initial_no_support_extruder] H[initial_no_support_hotend] W1 ;enable ams air printing detect\n\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\")}\nM1015.3 S1 H[nozzle_diameter];enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n", + "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\n;======== X2D start gcode==========\n;===== 2026/05/08 =====\n\n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n M400\n ;M73 P99\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B9 L50 C61 D9 M50 E61 F9 N50 \nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B18 L50 C61 D18 M50 E61 F18 N50 \nM1006 W\n;=====printer start sound ===================\n\n M1012.1 T1100\n M620 M ;enable remap\n M622.1 S0\n G383.4\n \n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n M220 S100 ;Reset Feedrate\n M1002 set_gcode_claim_speed_level: 5\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M982.2 S1 ; turn on cog noise reduction\n;===== reset machine status =================\n\n;==== set airduct mode ==== \n{if (overall_chamber_temperature >= 40)}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S0 ; turn off auxiliary fan\nM106 P10 S255 ; turn on filter fan\n{else}\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P10 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\n;M140 S0 ; stop heatbed from heating\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on auxiliary fan\nM106 P10 S102 ; turn on chamber fan\nM142 P6 R30 S40 U0.6 V0.8 ; set PLA/TPU/PETG exhaust chamber autocooling\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n M1002 gcode_claim_action : 2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]} \n \n ;===== set chamber temperature ==========\n {if (overall_chamber_temperature >= 40)}\n M145 P1 ; set airduct mode to heating mode\n M141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n {endif}\n;===== set chamber temperature ==========\n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n G28 X T300 R\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G150.3\n M972 S24 P0\n M1002 gcode_claim_action : 74 ; Heatbed surface foreign object detection\n M972 S26 P0 C0\n G90\n M83\n G1 Y128 F30000\n G1 X128\n G28 Z P0 T400\n M400\n;===== first homign end =====\n\n;===== detection start =====\n M1002 gcode_claim_action : 11\n\n M104 S0 T0\n M104 S0 T1\n M562 P1 E0 B1\n M562 P2 E0 B1\n M18 E\n M400 P200\n M1028 S1\n M972 S19 P0 ;heatbed detection\n M972 S31 P0 ;toolhead camera dirt detection\n M1002 gcode_claim_action : 73 ; Build plate alignment detection\n M972 S34 P0 ;print plate deviation detection\n M1028 S0\n M562 P1 E1 B1\n M562 P2 E1 B1\n M17 D\n\n ;M400\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} T{filament_map[initial_no_support_extruder] % 2} ; rise temp in advance\n G151 P{filament_map[initial_no_support_extruder] % 2} M ; plug the heat nozzle\n {if max_print_z >= 145}\n M1002 gcode_claim_action : 75 ; Detect obstacles at the botton of the heated bed\n G3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n {endif}\n;===== detection end =====\n\n;===== prepare print temperature and material ==========\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-40} A ; rise temp in advance\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n M975 S1 ; turn on input shaping\n \n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG\")) && (nozzle_diameter[initial_no_support_extruder] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{endif}\n \n M620.11 P0 L0 I[initial_no_support_extruder] B[initial_no_support_hotend] E0\n M620.11 K0 I[initial_no_support_extruder] B[initial_no_support_hotend] R0\n\n M620 S[initial_no_support_extruder]A H[initial_no_support_hotend] B ; switch material if AMS exist\n M620.22 I[initial_no_support_extruder] P1 ; enable remote extruder runout auto purge.\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_extruder] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M621 S[initial_no_support_extruder]A B\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n;===== prepare print temperature and material ==========\n\n;===== auto extrude cali start =========================\n M975 S1\n M1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n;===== auto extrude cali end =========================\n\n {if hold_chamber_temp_for_flat_print}\n G150.3\n M1002 gcode_claim_action : 58\n M104 S{first_layer_temperature[initial_no_support_extruder]}\n {if bed_temperature_initial_layer_single > 89}\n {if overall_chamber_temperature < 40}\n M1030 S1200\n SYNC R0 T1200\n {else}\n M1030 S600\n SYNC R0 T600\n {endif} \n {else}\n M1030 S300\n SYNC R0 T300\n {endif}\n M1030 C\n {endif}\n\n {if filament_type[current_extruder] == \"TPU\" || filament_type[current_extruder] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G150.2\n G150.1 F8000\n G150.2\n G150.1 F8000\n\n G91\n G1 Y-16 F12000 ; move away from the trash bin\n G90\n M400\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} A\n\n;===== wipe right nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n;===== wipe left nozzle end =====\n\n{if filament_type[current_extruder] == \"PC\"}\n M109 S170 A\n{else}\n M109 S140 A\n{endif}\n M106 S0 ; turn off fan , too noisy\n G91\n G1 Z5 F1200\n G90\n M400\n G150.1\n\n{if (overall_chamber_temperature >= 40)}\nM1002 gcode_claim_action : 49\nM191 S[overall_chamber_temperature] ; wait for chamber temp\n{endif}\n\n;===== z ofst cali start =====\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n G383 O0 M1 T140\n M400\n;===== z ofst cali end =====\nG90\nM83\nG0 Y200 F18000\n\n;===== bed leveling ==================================\n M1002 gcode_claim_action : 54\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n M109 S140 A\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n \n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H R\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]} R\n {endif}\n M400\n M623\n\n M622 J0\n G28 R\n M623\n G29.2 S1\n;===== bed leveling end ================================\n\n; cali eddy z pos\n;G383.13 T1 C1\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} A\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 X128 Y128 F20000\n G1 Z5 F1200\n M400 P200\n M970.3 Q1 A5 K0 O1\n M974 Q1 S2 P0\n M970.3 Q0 A7 K0 O1\n M974 Q0 S2 P0\n M975 S1\n M400\n;===== mech mode sweep end =====\n\nM104 S[nozzle_temperature_initial_layer] A\nG150.3\nM400 P50\n M500 D1\n M400 S3\n;===== xy ofst cali start =====\nM1002 judge_flag auto_cali_toolhead_offset_flag\n\nM622 J0\n M1012.5 N1 R1\nM623\n\nM622 J1\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n M620 D[initial_no_support_hotend]\n G383 O1 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M141 S[overall_chamber_temperature]\nM623\n\nM622 J2\n M1002 gcode_claim_action : 39\n M141 S0\n M620.17 T0 S{nozzle_temperature_initial_layer[(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])]} L{(first_non_support_filaments[0] != -1 ? first_non_support_filaments[0] : first_filaments[0])}\n M620.17 T1 S{nozzle_temperature_initial_layer[(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])]} L{(first_non_support_filaments[1] != -1 ? first_non_support_filaments[1] : first_filaments[1])}\n M620 D[initial_no_support_hotend]\n G383.3 T{nozzle_temperature_initial_layer[initial_no_support_extruder]} L{initial_no_support_extruder}\n M141 S[overall_chamber_temperature]\nM623\n;===== xy ofst cali end =====\n\n M104 S[nozzle_temperature_initial_layer] A\n\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n M140 S[bed_temperature_initial_layer_single] \n M190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n \n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n M983.4 S0 ; turn off deformation compensation \n\n;============switch again==================\n M211 X0 Y0 Z0 ;turn off soft endstop\n G91\n G1 Z6 F1200\n G90\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M620 S[initial_no_support_extruder]A H[initial_no_support_hotend] B\n M620.22 I[initial_no_support_extruder] P1 ; enable remote extruder runout auto purge.\n M400\n T[initial_no_support_extruder] H[initial_no_support_hotend]\n M400\n M628 S0\n M629\n M400\n M621 S[initial_no_support_extruder]A B\n;============switch again==================\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if bed_temperature_initial_layer_single > 70}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{-0.003} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.017}\n {endif}\n {else}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{0.002} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.022}\n {endif}\n {endif}\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 X100 Y0 F24000\n M400\n ;G130 O0 X100 Y-0.4 Z0.6 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E20 D5\n G130 O0 X100 Y-0.2 Z0.6 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E12 D4\nG90\n G90\n M83\n G1 Z1\n M400\n;===== noozle load line end ===========================\nM1002 gcode_claim_action : 0\n G29.99\n\n;M993 A1 B1 C1 ; nozzle cam detection allowed.\n\nM620.6 I[initial_no_support_extruder] H[initial_no_support_hotend] W1 ;enable ams air printing detect\n\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\")}\nM1015.3 S1 H[nozzle_diameter];enable tpu clog detect\n{else}\nM1015.3 S0;disable tpu clog detect\n{endif}\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n", "time_lapse_gcode": ";======== X2D timelapse gcode ========\n;======== 2025/08/15 ========\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firware, default turned on\n\nM1002 judge_flag timelapse_record_flag\n\nM622 J1\n\n{if !spiral_mode && !(has_timelapse_safe_pos && print_sequence != \"by object\") }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n M83\n G1 Z{max_layer_z + 0.4} F1200\n M400\n {endif}\n{endif}\n\n{if has_timelapse_safe_pos && print_sequence != \"by object\"}\nM9711 M{timelapse_type} E{most_used_physical_extruder_id} X{timelapse_pos_x} Y{timelapse_pos_y} Z{layer_z + 0.4} S11 C10 O0 T3000\n{else}\nM9711 M{timelapse_type} E{most_used_physical_extruder_id} Z{layer_z + 0.4} S11 C10 O0 T3000\n{endif}\n\n{if !spiral_mode && !(has_timelapse_safe_pos && print_sequence != \"by object\") }\n {if most_used_physical_extruder_id!= curr_physical_extruder_id || timelapse_type == 1}\n G90\n M83\n G1 Z{max_layer_z + 3.0} F1200\n G0 F18000\n {endif}\n{endif}\n\nM623\n; SKIPPABLE_END\n", "nozzle_diameter": [ "0.4", From ac92125012c95b0ae51e17d5173624acb2ab6cc8 Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Tue, 2 Jun 2026 09:34:43 +0300 Subject: [PATCH 57/69] Fix counterbore hole bridge (#13956) Fix counterbore hole partial bridge --- src/libslic3r/PerimeterGenerator.cpp | 226 +++++++++++---------------- 1 file changed, 94 insertions(+), 132 deletions(-) diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index 0769fb76de..a5cdfe5bc4 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -1727,9 +1727,12 @@ void PerimeterGenerator::add_infill_contour_for_arachne( ExPolygons infil // Orca: sacrificial bridge layer algorithm ported from SuperSlicer void PerimeterGenerator::process_no_bridge(Surfaces& all_surfaces, coord_t perimeter_spacing, coord_t ext_perimeter_width) { + + if (this->config->counterbore_hole_bridging == chbNone) + return; // return if counterbore hole is not enabled + //store surface for bridge infill to avoid unsupported perimeters (but the first one, this one is always good) - if (this->config->counterbore_hole_bridging != chbNone - && this->lower_slices != NULL && !this->lower_slices->empty()) { + if (this->lower_slices != NULL && !this->lower_slices->empty()) { const coordf_t bridged_infill_margin = scale_(BRIDGE_INFILL_MARGIN); for (size_t surface_idx = 0; surface_idx < all_surfaces.size(); surface_idx++) { @@ -1738,11 +1741,8 @@ void PerimeterGenerator::process_no_bridge(Surfaces& all_surfaces, coord_t perim //compute our unsupported surface ExPolygons unsupported = diff_ex(last, *this->lower_slices, ApplySafetyOffset::Yes); if (!unsupported.empty()) { - // remove small overhangs (when using chbFilled we need to be less aggressive in removing small overhangs, - // to avoid affecting bridging detection.) - const int outset_divisor = this->config->counterbore_hole_bridging.value == chbFilled ? 2 : 1; - ExPolygons unsupported_filtered = offset2_ex(unsupported, double(-perimeter_spacing), - double(perimeter_spacing) / outset_divisor); + //remove small overhangs + ExPolygons unsupported_filtered = offset2_ex(unsupported, double(-perimeter_spacing), double(perimeter_spacing)); if (!unsupported_filtered.empty()) { //to_draw.insert(to_draw.end(), last.begin(), last.end()); @@ -1759,13 +1759,18 @@ void PerimeterGenerator::process_no_bridge(Surfaces& all_surfaces, coord_t perim for (ExPolygon unsupported : unsupported_filtered) { BridgeDetector detector{ unsupported, lower_island.expolygons, - perimeter_spacing }; + perimeter_spacing / 4}; // Use a finer BridgeDetector. This affects coverage resolution, not extrusion spacing. + if (detector.detect_angle(Geometry::deg2rad(this->config->bridge_angle.value))) expolygons_append(bridgeable, union_ex(detector.coverage(-1, true))); } - if (!bridgeable.empty()) { - //check if we get everything or just the bridgeable area - if (/*this->config->counterbore_hole_bridging.value == chbNoPeri || */this->config->counterbore_hole_bridging.value == chbFilled) { + if (!bridgeable.empty() && !surface->expolygon.holes.empty()) { // keep out if cannot be bridged or no holes to bridge + const coordf_t bridge_anchor_offset = std::min({bridged_infill_margin, coordf_t(perimeter_spacing), coordf_t(ext_perimeter_width)}); + + // Handle filled vs partial counterbore bridging modes. + if (this->config->counterbore_hole_bridging.value == chbFilled) { + unsupported_filtered = offset_ex(unsupported_filtered, -perimeter_spacing); // shrink it to survive the strict bridge-candidate filter + //we bridge everything, even the not-bridgeable bits for (size_t i = 0; i < unsupported_filtered.size();) { ExPolygon& poly_unsupp = *(unsupported_filtered.begin() + i); @@ -1785,139 +1790,96 @@ void PerimeterGenerator::process_no_bridge(Surfaces& all_surfaces, coord_t perim unsupported_filtered.erase(unsupported_filtered.begin() + i); } } - unsupported_filtered = intersection_ex(last, - offset_ex(unsupported_filtered, 0.5 * double(bridged_infill_margin))); - if (this->config->counterbore_hole_bridging.value == chbFilled) { - for (ExPolygon& expol : unsupported_filtered) { - //check if the holes won't be covered by the upper layer - //TODO: if we want to do that, we must modify the geometry before making perimeters. - //if (this->upper_slices != nullptr && !this->upper_slices->expolygons.empty()) { - // for (Polygon &poly : expol.holes) poly.make_counter_clockwise(); - // float perimeterwidth = this->config->perimeters == 0 ? 0 : (this->ext_perimeter_flow.scaled_width() + (this->config->perimeters - 1) + this->perimeter_flow.scaled_spacing()); - // std::cout << "test upper slices with perimeterwidth=" << perimeterwidth << "=>" << offset_ex(this->upper_slices->expolygons, -perimeterwidth).size(); - // if (intersection(Polygons() = { expol.holes }, to_polygons(offset_ex(this->upper_slices->expolygons, -this->ext_perimeter_flow.scaled_width() / 2))).empty()) { - // std::cout << " EMPTY"; - // expol.holes.clear(); - // } else { - // } - // std::cout << "\n"; - //} else { - expol.holes.clear(); - //} - //detect inside volume - for (size_t surface_idx_other = 0; surface_idx_other < all_surfaces.size(); surface_idx_other++) { - if (surface_idx == surface_idx_other) continue; - if (intersection_ex(ExPolygons() = { expol }, ExPolygons() = { all_surfaces[surface_idx_other].expolygon }).size() > 0) { - //this means that other_surf was inside an expol holes - //as we removed them, we need to add a new one - ExPolygons new_poly = offset2_ex(ExPolygons{ all_surfaces[surface_idx_other].expolygon }, double(-bridged_infill_margin - perimeter_spacing), double(perimeter_spacing)); - if (new_poly.size() == 1) { - all_surfaces[surface_idx_other].expolygon = new_poly[0]; - expol.holes.push_back(new_poly[0].contour); + unsupported_filtered = offset_ex(unsupported_filtered, perimeter_spacing + bridge_anchor_offset); // restore it back to its original size and add anchor + unsupported_filtered = intersection_ex(last, unsupported_filtered); // clamp to the original surface, to avoid creating new unsupported areas + + for (ExPolygon& expol : unsupported_filtered) { + // Remove holes that need sacrificial fill, but keep holes + // whose wall is already supported by the lower layer. + const float hole_wall_width = float(ext_perimeter_width / 2); + for (size_t hole_idx = 0; hole_idx < expol.holes.size();) { + Polygon hole_area_contour = expol.holes[hole_idx]; + hole_area_contour.make_counter_clockwise(); + + const ExPolygons hole_area = { ExPolygon(hole_area_contour) }; + ExPolygons hole_wall_area = diff_ex( + offset_ex(hole_area_contour, hole_wall_width), + hole_area, + ApplySafetyOffset::Yes); + hole_wall_area = intersection_ex(hole_wall_area, ExPolygons{ expol }, ApplySafetyOffset::Yes); + if (!hole_wall_area.empty() && + intersection_ex(hole_wall_area, *this->lower_slices, ApplySafetyOffset::Yes).empty()) + expol.holes.erase(expol.holes.begin() + hole_idx); + // After erase(), the next hole shifts into the same index. So hole_idx + // must not be incremented, otherwise the next hole would be skipped. + else + ++hole_idx; // keep this hole, it won't be bridged, so we need to keep it as a hole + } + + //detect inside volume + for (size_t surface_idx_other = 0; surface_idx_other < all_surfaces.size(); surface_idx_other++) { + if (surface_idx == surface_idx_other) continue; + if (intersection_ex(ExPolygons() = { expol }, ExPolygons() = { all_surfaces[surface_idx_other].expolygon }).size() > 0) { + //this means that other_surf was inside an expol holes + //as we removed them, we need to add a new one + ExPolygons new_poly = offset2_ex(ExPolygons{ all_surfaces[surface_idx_other].expolygon }, double(-bridged_infill_margin - perimeter_spacing), double(perimeter_spacing)); + if (new_poly.size() == 1) { + all_surfaces[surface_idx_other].expolygon = new_poly[0]; + expol.holes.push_back(new_poly[0].contour); + expol.holes.back().make_clockwise(); + } else { + for (size_t idx = 0; idx < new_poly.size(); idx++) { + Surface new_surf = all_surfaces[surface_idx_other]; + new_surf.expolygon = new_poly[idx]; + all_surfaces.push_back(new_surf); + expol.holes.push_back(new_poly[idx].contour); expol.holes.back().make_clockwise(); - } else { - for (size_t idx = 0; idx < new_poly.size(); idx++) { - Surface new_surf = all_surfaces[surface_idx_other]; - new_surf.expolygon = new_poly[idx]; - all_surfaces.push_back(new_surf); - expol.holes.push_back(new_poly[idx].contour); - expol.holes.back().make_clockwise(); - } - all_surfaces.erase(all_surfaces.begin() + surface_idx_other); - if (surface_idx_other < surface_idx) { - surface_idx--; - surface = &all_surfaces[surface_idx]; - } - surface_idx_other--; } + all_surfaces.erase(all_surfaces.begin() + surface_idx_other); + if (surface_idx_other < surface_idx) { + surface_idx--; + surface = &all_surfaces[surface_idx]; + } + surface_idx_other--; } } } - } //TODO: add other polys as holes inside this one (-margin) - } else if (/*this->config->counterbore_hole_bridging.value == chbBridgesOverhangs || */this->config->counterbore_hole_bridging.value == chbBridges) { - // Partially bridged counterbore handling should not rewrite generic bridge islands - // because by doing so regular bridges will lose their overhang-wall perimeters. - if (surface->expolygon.holes.empty()) { - unsupported_filtered.clear(); // "Partially bridged" only applies to hole-bearing bridge islands. - continue; - } - //simplify to avoid most of artefacts from printing lines. - ExPolygons bridgeable_simplified; + } else { // if(this->config->counterbore_hole_bridging.value == chbBridges) + // Orca: Partial counterbore bridging is mask-based. Preserve the supported + // remainder (`last`) and use simplified BridgeDetector coverage to derive the + // bridgeable counterbore span. The span is grown from supported material, + // shrunk back, stripped from `last`, and expanded back. It is then prevented + // from intruding deeper into `last` than the explicit anchor overlap. + // Finally, add the allowed anchor band from `last` then remove the + // narrow hole-side wall contact, which must remain unbridgeable. + + last = diff_ex(last, unsupported_filtered, ApplySafetyOffset::Yes); + + ExPolygons bridgeable_filtered; for (ExPolygon& poly : bridgeable) { - poly.simplify(perimeter_spacing, &bridgeable_simplified); + poly.simplify(perimeter_spacing, &bridgeable_filtered); } - bridgeable_simplified = offset2_ex(bridgeable_simplified, -ext_perimeter_width, ext_perimeter_width); - //bridgeable_simplified = intersection_ex(bridgeable_simplified, unsupported_filtered); - //offset by perimeter spacing because the simplify may have reduced it a bit. - //it's not dangerous as it will be intersected by 'unsupported' later - //FIXME: add overlap in this->fill_surfaces->append - //FIXME: it overlap inside unsuppported not-bridgeable area! + bridgeable_filtered = opening_ex(bridgeable_filtered, ext_perimeter_width); - //bridgeable_simplified = offset2_ex(bridgeable_simplified, (double)-perimeter_spacing, (double)perimeter_spacing * 2); - //ExPolygons unbridgeable = offset_ex(diff_ex(unsupported, bridgeable_simplified), perimeter_spacing * 3 / 2); - //ExPolygons unbridgeable = intersection_ex(unsupported, diff_ex(unsupported_filtered, offset_ex(bridgeable_simplified, ext_perimeter_width / 2))); - //unbridgeable = offset2_ex(unbridgeable, -ext_perimeter_width, ext_perimeter_width); + // Get rid of coarseness of the resulted bridgeable area by using the original supported area as reference. + // This is to avoid keeping tiny bridgeable areas that are far from the supported area, or protrude into it. + bridgeable_filtered = union_ex(offset_ex(last, perimeter_spacing), bridgeable_filtered); + bridgeable_filtered = offset_ex(bridgeable_filtered, -perimeter_spacing); + bridgeable_filtered = diff_ex(bridgeable_filtered, last, ApplySafetyOffset::Yes); + bridgeable_filtered = opening_ex(bridgeable_filtered, perimeter_spacing); // filter noise from the diff_ex + bridgeable_filtered = offset_ex(bridgeable_filtered, perimeter_spacing); // restore the size to the original bridgeable area + // Safety measure: Keep the bridge mask from intruding deeper into the + // supported anchor region (`last`) than the explicit anchor overlap. + bridgeable_filtered = diff_ex(bridgeable_filtered, offset_ex(last, -bridge_anchor_offset)); - - // if (this->config->counterbore_hole_bridging.value == chbBridges) { - ExPolygons unbridgeable = unsupported_filtered; - for (ExPolygon& expol : unbridgeable) - expol.holes.clear(); - unbridgeable = diff_ex(unbridgeable, bridgeable_simplified); - unbridgeable = offset2_ex(unbridgeable, -ext_perimeter_width * 2, ext_perimeter_width * 2); - ExPolygons bridges_temp = offset2_ex(intersection_ex(last, diff_ex(unsupported_filtered, unbridgeable), ApplySafetyOffset::Yes), -ext_perimeter_width / 4, ext_perimeter_width / 4); - //remove the overhangs section from the surface polygons - ExPolygons reference = last; - last = diff_ex(last, unsupported_filtered); - //ExPolygons no_bridge = diff_ex(offset_ex(unbridgeable, ext_perimeter_width * 3 / 2), last); - //bridges_temp = diff_ex(bridges_temp, no_bridge); - coordf_t offset_to_do = bridged_infill_margin; - bool first = true; - unbridgeable = diff_ex(unbridgeable, offset_ex(bridges_temp, ext_perimeter_width)); - while (offset_to_do > ext_perimeter_width * 1.5) { - unbridgeable = offset2_ex(unbridgeable, -ext_perimeter_width / 4, ext_perimeter_width * 2.25, ClipperLib::jtSquare); - bridges_temp = diff_ex(bridges_temp, unbridgeable); - bridges_temp = offset_ex(bridges_temp, ext_perimeter_width, ClipperLib::jtMiter, 6.); - unbridgeable = diff_ex(unbridgeable, offset_ex(bridges_temp, ext_perimeter_width)); - offset_to_do -= ext_perimeter_width; - first = false; - } - unbridgeable = offset_ex(unbridgeable, ext_perimeter_width + offset_to_do, ClipperLib::jtSquare); - bridges_temp = diff_ex(bridges_temp, unbridgeable); - unsupported_filtered = offset_ex(bridges_temp, offset_to_do); - unsupported_filtered = intersection_ex(unsupported_filtered, reference); - - // Normalize anchor size for partial bridges: - // derive the bridge core first, then add a fixed overlap into support. - const coordf_t anchor_overlap = bridged_infill_margin; - ExPolygons bridge_core = diff_ex(unsupported_filtered, support, ApplySafetyOffset::Yes); - if (bridge_core.empty()) { - bridge_core = unsupported_filtered; - } - ExPolygons anchor_overlap_area = intersection_ex( - offset_ex(bridge_core, anchor_overlap), - support, - ApplySafetyOffset::Yes); - unsupported_filtered = union_ex(bridge_core, anchor_overlap_area); - unsupported_filtered = intersection_ex(unsupported_filtered, reference); - // } else { - // ExPolygons unbridgeable = intersection_ex(unsupported, diff_ex(unsupported_filtered, offset_ex(bridgeable_simplified, ext_perimeter_width / 2))); - // unbridgeable = offset2_ex(unbridgeable, -ext_perimeter_width, ext_perimeter_width); - // unsupported_filtered = unbridgeable; - - // ////put the bridge area inside the unsupported_filtered variable - // //unsupported_filtered = intersection_ex(last, - // // diff_ex( - // // offset_ex(bridgeable_simplified, (double)perimeter_spacing / 2), - // // unbridgeable - // // ) - // // ); - // } - } else { - unsupported_filtered.clear(); + ExPolygons bridge_anchor_areas = intersection_ex(last, offset_ex(unsupported_filtered, bridge_anchor_offset)); + unsupported_filtered = union_ex(bridgeable_filtered, bridge_anchor_areas); // add bridge anchor + unsupported_filtered = opening_ex(unsupported_filtered, bridge_anchor_offset); // remove anchor area from hole-side walls, it must remain unbridgeable + // TODO: Fix the case with thin outer walls around the bridge (1~2 walls) where classic wall + // might generate two walls in a tiny space or non at all if "Detect thin walls" is not activated } } else { unsupported_filtered.clear(); From 1b72dbf6fa460c410aa44f610d56a2475c29be40 Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Tue, 2 Jun 2026 09:39:27 +0300 Subject: [PATCH 58/69] Fix inconsistent ordering of support base outline and fill (#11761) * Preserve support base outline/fill order Honor no_sort when emitting support toolpaths to keep outline-first order. Group tree support base paths (including lightning) into per-area no_sort collections to prevent interleaving across islands. Keep lightning layer lookup side-effect free. * Tag Orca specific changes Tag Orca specific changes vs. Bambu using the comment //ORCA: . This helps when reviewing merge commits from upstream Bambu so we don't end up causing regressions when pulling in commits from upstream --- src/libslic3r/GCode.cpp | 4 +- src/libslic3r/Support/TreeSupport.cpp | 99 ++++++++++++--------------- 2 files changed, 48 insertions(+), 55 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 179bd564c1..6390bfbaf4 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -6174,7 +6174,9 @@ std::string GCode::extrude_support(const ExtrusionEntityCollection &support_fill if (extrusions.empty()) return gcode; - chain_and_reorder_extrusion_entities(extrusions, m_last_pos.to_point()); + //ORCA: Respect no_sort to preserve support base outline->fill order. + if (!support_fills.no_sort) + chain_and_reorder_extrusion_entities(extrusions, m_last_pos.to_point()); const double support_speed = m_config.support_speed.value; const double support_interface_speed = m_config.get_abs_value("support_interface_speed"); diff --git a/src/libslic3r/Support/TreeSupport.cpp b/src/libslic3r/Support/TreeSupport.cpp index aaf3ba4443..6f77c4a77b 100644 --- a/src/libslic3r/Support/TreeSupport.cpp +++ b/src/libslic3r/Support/TreeSupport.cpp @@ -1610,80 +1610,71 @@ void TreeSupport::generate_toolpaths() filler_support->angle = Geometry::deg2rad(object_config.support_angle.value); Polygons loops = to_polygons(poly); + //ORCA: Group base per area as no_sort to keep outline->fill together. + std::unique_ptr base_eec = std::make_unique(); + base_eec->no_sort = true; + ExtrusionEntitiesPtr &base_dst = base_eec->entities; if (layer_id == 0) { float density = float(m_object_config->raft_first_layer_density.value * 0.01); - fill_expolygons_with_sheath_generate_paths(ts_layer->support_fills.entities, loops, filler_support.get(), density, erSupportMaterial, flow, + fill_expolygons_with_sheath_generate_paths(base_dst, loops, filler_support.get(), density, erSupportMaterial, flow, m_support_params, true, false); } else { + //ORCA: Force base walls before infill to keep outline->fill order. if (need_infill && m_support_params.base_fill_pattern != ipLightning) { // allow infill-only mode if support is thick enough (so min_wall_count is 0); // otherwise must draw 1 wall // Don't need extra walls if we have infill. Extra walls may overlap with the infills. size_t min_wall_count = offset(poly, -scale_(support_spacing * 1.5)).empty() ? 1 : 0; - make_perimeter_and_infill(ts_layer->support_fills.entities, poly, std::max(min_wall_count, wall_count), flow, - erSupportMaterial, filler_support.get(), support_density); + make_perimeter_and_infill(base_dst, poly, std::max(min_wall_count, wall_count), flow, + erSupportMaterial, filler_support.get(), support_density, false); } else { SupportParameters support_params = m_support_params; if (area_group.need_extra_wall && object_config.tree_support_wall_count.value == 0) support_params.tree_branch_diameter_double_wall_area_scaled = 0.1; - tree_supports_generate_paths(ts_layer->support_fills.entities, loops, flow, support_params); + tree_supports_generate_paths(base_dst, loops, flow, support_params); } } - } - } - if (m_support_params.base_fill_pattern == ipLightning) - { - double print_z = ts_layer->print_z; - if (printZ_to_lightninglayer.find(print_z) == printZ_to_lightninglayer.end()) - continue; - //TODO: - //1.the second parameter of convertToLines seems to decide how long the lightning should be trimmed from its root, so that the root wont overlap/detach the support contour. - // whether current value works correctly remained to be tested - //2.related to previous one, that lightning roots need to be trimed more when support has multiple walls - //3.function connect_infill() and variable 'params' helps create connection pattern along contours between two lightning roots, - // strengthen lightnings while it may make support harder. decide to enable it or not. if yes, proper values for params are remained to be tested - auto& lightning_layer = generator->getTreesForLayer(printZ_to_lightninglayer[print_z]); - - Flow flow = (layer_id == 0 && m_raft_layers == 0) ? m_support_params.first_layer_flow : support_flow; - ExPolygons areas = offset_ex(ts_layer->base_areas, -flow.scaled_spacing()); - - for (auto& area : areas) - { - Polylines polylines = lightning_layer.convertToLines(to_polygons(area), 0); - for (auto itr = polylines.begin(); itr != polylines.end();) - { - if (itr->length() < scale_(1.0)) - itr = polylines.erase(itr); - else - itr++; - } - Polylines opt_polylines; -#if 1 - //this wont create connection patterns along contours - append(opt_polylines, chain_polylines(std::move(polylines))); -#else - //this will create connection patterns along contours - FillParams params; - params.anchor_length = float(Fill::infill_anchor * 0.01 * flow.spacing()); - params.anchor_length_max = Fill::infill_anchor_max; - params.anchor_length = std::min(params.anchor_length, params.anchor_length_max); - Fill::connect_infill(std::move(polylines), area, opt_polylines, flow.spacing(), params); -#endif - extrusion_entities_append_paths(ts_layer->support_fills.entities, opt_polylines, erSupportMaterial, - float(flow.mm3_per_mm()), float(flow.width()), float(flow.height())); + //ORCA: Emit lightning infill per base area to avoid interleaving across islands. + if (m_support_params.base_fill_pattern == ipLightning) { + double print_z = ts_layer->print_z; + auto lightning_layer_mapping = printZ_to_lightninglayer.find(print_z); + if (lightning_layer_mapping != printZ_to_lightninglayer.end()) { + auto &lightning_layer = generator->getTreesForLayer(lightning_layer_mapping->second); + ExPolygons areas; + areas.emplace_back(poly); + areas = offset_ex(areas, -flow.scaled_spacing()); + for (auto &area : areas) { + Polylines polylines = lightning_layer.convertToLines(to_polygons(area), 0); + for (auto itr = polylines.begin(); itr != polylines.end();) { + if (itr->length() < scale_(1.0)) + itr = polylines.erase(itr); + else + itr++; + } + Polylines opt_polylines; + append(opt_polylines, chain_polylines(std::move(polylines))); + extrusion_entities_append_paths(base_dst, opt_polylines, erSupportMaterial, + float(flow.mm3_per_mm()), float(flow.width()), float(flow.height())); #ifdef SUPPORT_TREE_DEBUG_TO_SVG - std::string name = debug_out_path("trees_polyline_%.2f.svg", ts_layer->print_z); - BoundingBox bbox = get_extents(ts_layer->base_areas); - SVG svg(name, bbox); - if (svg.is_opened()) { - svg.draw(ts_layer->base_areas, "blue"); - svg.draw(generator->Overhangs()[printZ_to_lightninglayer[print_z]], "red"); - for (auto &line : opt_polylines) svg.draw(line, "yellow"); - } + std::string name = debug_out_path("trees_polyline_%.2f.svg", ts_layer->print_z); + BoundingBox bbox = get_extents(ts_layer->base_areas); + SVG svg(name, bbox); + if (svg.is_opened()) { + svg.draw(ts_layer->base_areas, "blue"); + svg.draw(generator->Overhangs()[lightning_layer_mapping->second], "red"); + for (auto &line : opt_polylines) svg.draw(line, "yellow"); + } #endif + } + } + } + + //ORCA: Keep per-area base paths grouped for outline->fill preservation. + if (!base_eec->empty()) + ts_layer->support_fills.entities.push_back(base_eec.release()); } } From 065540e48f3af9daab0b8b7e52cde5ad71159104 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Wed, 3 Jun 2026 10:12:26 -0300 Subject: [PATCH 59/69] ENH: Relative bridge direction + Align bridge/Ironing angles with model (#12055) Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> --- src/libslic3r/Fill/Fill.cpp | 17 +++++++--- src/libslic3r/LayerRegion.cpp | 49 +++++++++++++++++++++++---- src/libslic3r/PerimeterGenerator.cpp | 10 ++++-- src/libslic3r/PerimeterGenerator.hpp | 3 ++ src/libslic3r/Preset.cpp | 1 + src/libslic3r/PrintConfig.cpp | 34 +++++++++++++++---- src/libslic3r/PrintConfig.hpp | 1 + src/libslic3r/PrintObject.cpp | 16 +++++++-- src/slic3r/GUI/ConfigManipulation.cpp | 2 +- src/slic3r/GUI/Tab.cpp | 1 + 10 files changed, 112 insertions(+), 22 deletions(-) diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index e30c7ee9ec..fc0e447382 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -935,10 +935,13 @@ std::vector group_fills(const Layer &layer, LockRegionParam &lock_p params.fixed_angle = !region_config.solid_infill_rotate_template.value.empty(); } params.bridge_angle = float(surface.bridge_angle); - + + // ORCA: Align infill angle to model + float align_offset = 0.f; if (region_config.align_infill_direction_to_model) { auto m = layer.object()->trafo().matrix(); - params.angle += atan2((float) m(1, 0), (float) m(0, 0)); + align_offset = atan2((float)m(1, 0), (float)m(0, 0)); + params.angle += align_offset; } // Calculate the actual flow we'll be using for this infill. @@ -1024,6 +1027,7 @@ std::vector group_fills(const Layer &layer, LockRegionParam &lock_p if (fill.region_id == size_t(-1)) { fill.region_id = region_id; fill.surface = surface; + fill.surface.bridge_angle = params->bridge_angle; fill.expolygons.emplace_back(std::move(fill.surface.expolygon)); //BBS fill.region_id_group.push_back(region_id); @@ -1578,7 +1582,7 @@ void Layer::make_ironing() if (ironing_params.extruder != -1) { //TODO just_infill is currently not used. ironing_params.just_infill = false; - // Get filament-specific overrides if configured, otherwise use default values + // ORCA: Get filament-specific overrides if configured, otherwise use process values size_t extruder_idx = ironing_params.extruder - 1; ironing_params.line_spacing = (!config.filament_ironing_spacing.is_nil(extruder_idx) ? config.filament_ironing_spacing.get_at(extruder_idx) @@ -1592,7 +1596,12 @@ void Layer::make_ironing() ironing_params.speed = (!config.filament_ironing_speed.is_nil(extruder_idx) ? config.filament_ironing_speed.get_at(extruder_idx) : config.ironing_speed); - ironing_params.angle = (config.ironing_angle_fixed ? 0 : calculate_infill_rotation_angle(this->object(), this->id(), config.solid_infill_direction.value, config.solid_infill_rotate_template.value)) + config.ironing_angle * M_PI / 180.; + double ironing_angle = (config.ironing_angle_fixed ? 0 : calculate_infill_rotation_angle(this->object(), this->id(), config.solid_infill_direction.value, config.solid_infill_rotate_template.value)) + config.ironing_angle * M_PI / 180.; + if (config.align_infill_direction_to_model) { + auto m = this->object()->trafo().matrix(); + ironing_angle += atan2((double)m(1, 0), (double)m(0, 0)); + } + ironing_params.angle = ironing_angle; ironing_params.fixed_angle = config.ironing_angle_fixed || !config.solid_infill_rotate_template.value.empty(); ironing_params.pattern = config.ironing_pattern; ironing_params.layerm = layerm; diff --git a/src/libslic3r/LayerRegion.cpp b/src/libslic3r/LayerRegion.cpp index fdf03570a8..20ded6e72c 100644 --- a/src/libslic3r/LayerRegion.cpp +++ b/src/libslic3r/LayerRegion.cpp @@ -83,6 +83,12 @@ void LayerRegion::make_perimeters(const SurfaceCollection &slices, const LayerRe (this->layer()->id() >= size_t(region_config.bottom_shell_layers.value) && this->layer()->print_z >= region_config.bottom_shell_thickness - EPSILON); + double model_rotation_rad = 0.0; + if (region_config.align_infill_direction_to_model) { + auto m = this->layer()->object()->trafo().matrix(); + model_rotation_rad = std::atan2((double)m(1, 0), (double)m(0, 0)); + } + PerimeterGenerator g( // input: &slices, @@ -94,6 +100,7 @@ void LayerRegion::make_perimeters(const SurfaceCollection &slices, const LayerRe &this->layer()->object()->config(), &print_config, spiral_mode, + model_rotation_rad, // output: &this->perimeters, @@ -517,10 +524,27 @@ void LayerRegion::process_external_surfaces(const Layer *lower_layer, const Poly SurfaceCollection bridges; { BOOST_LOG_TRIVIAL(trace) << "Processing external surface, detecting bridges. layer" << this->layer()->print_z; - const double custom_angle = this->region().config().bridge_angle.value; - bridges.surfaces = custom_angle > 0 ? - expand_merge_surfaces(this->fill_surfaces.surfaces, stBottomBridge, expansion_zones, closing_radius, Geometry::deg2rad(custom_angle)) : + // ORCA: Relative/Align Bridge Angle + const auto ®ion_config = this->region().config(); + const double custom_angle_deg = region_config.bridge_angle.value; + const bool relative_angle = region_config.relative_bridge_angle.value; + const double custom_angle_rad = Geometry::deg2rad(custom_angle_deg); + + double align_offset_rad = 0.0; + if (region_config.align_infill_direction_to_model) { + auto m = this->layer()->object()->trafo().matrix(); + align_offset_rad = std::atan2((double)m(1, 0), (double)m(0, 0)); + } + + bridges.surfaces = (custom_angle_deg > 0.0 && !relative_angle) ? + expand_merge_surfaces(this->fill_surfaces.surfaces, stBottomBridge, expansion_zones, closing_radius, custom_angle_rad + align_offset_rad) : expand_bridges_detect_orientations(this->fill_surfaces.surfaces, expansion_zones, closing_radius); + if (custom_angle_deg > 0.0 && relative_angle) { + for (Surface &bridge_surface : bridges.surfaces) { + if (bridge_surface.bridge_angle >= 0) + bridge_surface.bridge_angle += custom_angle_rad; + } + } BOOST_LOG_TRIVIAL(trace) << "Processing external surface, detecting bridges - done"; #ifdef SLIC3R_DEBUG_SLICE_PROCESSING { @@ -782,12 +806,25 @@ void LayerRegion::process_external_surfaces(const Layer *lower_layer, const Poly // would get merged into a single one while they need different directions // also, supply the original expolygon instead of the grown one, because in case // of very thin (but still working) anchors, the grown expolygon would go beyond them - double custom_angle = Geometry::deg2rad(this->region().config().bridge_angle.value); - if (custom_angle > 0.0) { - bridges[idx_last].bridge_angle = custom_angle; + // ORCA: Relative/Align Bridge Angle + const auto ®ion_config = this->region().config(); + const double custom_angle_deg = region_config.bridge_angle.value; + const bool relative_angle = region_config.relative_bridge_angle.value; + const double custom_angle_rad = Geometry::deg2rad(custom_angle_deg); + + double align_offset_rad = 0.0; + if (region_config.align_infill_direction_to_model) { + auto m = this->layer()->object()->trafo().matrix(); + align_offset_rad = std::atan2((double)m(1, 0), (double)m(0, 0)); + } + + if (custom_angle_deg > 0.0 && !relative_angle) { + bridges[idx_last].bridge_angle = custom_angle_rad + align_offset_rad; } else { auto [bridging_dir, unsupported_dist] = detect_bridging_direction(to_polygons(initial), to_polygons(lower_layer->lslices)); bridges[idx_last].bridge_angle = PI + std::atan2(bridging_dir.y(), bridging_dir.x()); + if (custom_angle_deg > 0.0 && relative_angle) + bridges[idx_last].bridge_angle += custom_angle_rad; } /* diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index a5cdfe5bc4..58d2e038df 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -1760,8 +1760,14 @@ void PerimeterGenerator::process_no_bridge(Surfaces& all_surfaces, coord_t perim BridgeDetector detector{ unsupported, lower_island.expolygons, perimeter_spacing / 4}; // Use a finer BridgeDetector. This affects coverage resolution, not extrusion spacing. - - if (detector.detect_angle(Geometry::deg2rad(this->config->bridge_angle.value))) + // ORCA: Relative/Align Bridge Angle + const double custom_angle_deg = this->config->bridge_angle.value; + const bool relative_angle = this->config->relative_bridge_angle.value; + const double detect_angle_rad = (custom_angle_deg > 0.0 && !relative_angle) + ? Geometry::deg2rad(custom_angle_deg) + + (this->config->align_infill_direction_to_model ? this->m_model_rotation_rad : 0.0) + : 0.0; + if (detector.detect_angle(detect_angle_rad)) expolygons_append(bridgeable, union_ex(detector.coverage(-1, true))); } if (!bridgeable.empty() && !surface->expolygon.holes.empty()) { // keep out if cannot be bridged or no holes to bridge diff --git a/src/libslic3r/PerimeterGenerator.hpp b/src/libslic3r/PerimeterGenerator.hpp index 9ccf8c4d8c..e4f918d8bd 100644 --- a/src/libslic3r/PerimeterGenerator.hpp +++ b/src/libslic3r/PerimeterGenerator.hpp @@ -117,6 +117,7 @@ public: const PrintObjectConfig* object_config, const PrintConfig* print_config, const bool spiral_mode, + const double model_rotation_rad, // Output: // Loops with the external thin walls ExtrusionEntityCollection* loops, @@ -132,6 +133,7 @@ public: config(config), object_config(object_config), print_config(print_config), m_spiral_vase(spiral_mode), m_scaled_resolution(scaled(print_config->resolution.value > EPSILON ? print_config->resolution.value : EPSILON)), + m_model_rotation_rad(model_rotation_rad), loops(loops), gap_fill(gap_fill), fill_surfaces(fill_surfaces), fill_no_overlap(fill_no_overlap), m_ext_mm3_per_mm(-1), m_mm3_per_mm(-1), m_mm3_per_mm_overhang(-1), m_ext_mm3_per_mm_smaller_width(-1) {} @@ -157,6 +159,7 @@ private: private: bool m_spiral_vase; double m_scaled_resolution; + double m_model_rotation_rad; double m_ext_mm3_per_mm; double m_mm3_per_mm; double m_mm3_per_mm_overhang; diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 0070bdcbd7..21050ee09f 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -1161,6 +1161,7 @@ static std::vector s_Preset_print_options{ "small_perimeter_threshold", "bridge_angle", "internal_bridge_angle", + "relative_bridge_angle", "filter_out_gap_fill", "travel_acceleration", "inner_wall_acceleration", diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 8fdcede569..a113c3057a 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1241,11 +1241,16 @@ void PrintConfigDef::init_fff_params() def->label = L("External bridge infill direction"); def->category = L("Strength"); // xgettext:no-c-format, no-boost-format - def->tooltip = L("Bridging angle override. If left to zero, the bridging angle will be calculated " - "automatically. Otherwise the provided angle will be used for external bridges. " - "Use 180° for zero angle."); + def->tooltip = L("External Bridging angle override.\n" + "If left to zero, the bridging angle will be calculated automatically for each specific bridge.\n" + "Otherwise the provided angle will be used according to:\n" + " - The absolute coordinates\n" + " - The absolute coordinates + Model rotation: If Align infill direction to model is enabled\n" + " - The optimal automatic angle + this value: If 'Relative Bridge Angle' is enabled\n\n" + "Use 180° for zero absolute angle."); def->sidetext = u8"°"; // degrees, don't need translation def->min = 0; + def->max = 180; def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloat(0.)); @@ -1253,14 +1258,28 @@ void PrintConfigDef::init_fff_params() def = this->add("internal_bridge_angle", coFloat); def->label = L("Internal bridge infill direction"); def->category = L("Strength"); - def->tooltip = L("Internal bridging angle override. If left to zero, the bridging angle will be calculated " - "automatically. Otherwise the provided angle will be used for internal bridges. " - "Use 180° for zero angle.\n\nIt is recommended to leave it at 0 unless there is a specific model need not to."); + def->tooltip = L("Internal Bridging angle override.\n" + "If left to zero, the bridging angle will be calculated automatically for each specific bridge.\n" + "Otherwise the provided angle will be used according to:\n" + " - The absolute coordinates\n" + " - The absolute coordinates + Model rotation: If Align infill direction to model is enabled\n" + " - The optimal automatic angle + this value: If 'Relative Bridge Angle' is enabled\n\n" + "Use 180° for zero absolute angle."); def->sidetext = u8"°"; // degrees, don't need translation def->min = 0; + def->max = 180; def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloat(0.)); + // ORCA: Relative bridge angle + def = this->add("relative_bridge_angle", coBool); + def->label = L("Relative bridge angle"); + def->category = L("Strength"); + def->tooltip = L("When enabled, the bridge angle values are added to the automatically calculated bridge direction instead of overriding it.\n" + "Recommended to add a small angle (<10°) to improve bridge covering in closed shapes."); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionBool(false)); + def = this->add("bridge_density", coPercent); def->label = L("External bridge density"); def->category = L("Strength"); @@ -2924,7 +2943,8 @@ void PrintConfigDef::init_fff_params() def = this->add("align_infill_direction_to_model", coBool); def->label = L("Align infill direction to model"); def->category = L("Strength"); - def->tooltip = L("Aligns infill and surface fill directions to follow the model's orientation on the build plate. When enabled, fill directions rotate with the model to maintain optimal strength characteristics."); + def->tooltip = L("Aligns infill, bridge, ironing and surface fill directions to follow the model's orientation on the build plate.\n" + "When enabled, directions rotate with the model to maintain optimal strength characteristics."); def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(false)); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index aae20833d4..5cf095b588 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1080,6 +1080,7 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionFloat, bottom_shell_thickness)) ((ConfigOptionFloat, bridge_angle)) ((ConfigOptionFloat, internal_bridge_angle)) // ORCA: Internal bridge angle override + ((ConfigOptionBool, relative_bridge_angle)) // ORCA: Relative bridge angle flag ((ConfigOptionFloat, bridge_flow)) ((ConfigOptionFloat, internal_bridge_flow)) ((ConfigOptionFloat, bridge_speed)) diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 65d624be46..732e0bb900 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -1275,6 +1275,7 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "ensure_vertical_shell_thickness" || opt_key == "bridge_angle" || opt_key == "internal_bridge_angle" // ORCA: Internal bridge angle override + || opt_key == "relative_bridge_angle" // ORCA: Relative bridge angle //BBS || opt_key == "bridge_density" || opt_key == "internal_bridge_density") { @@ -3217,8 +3218,19 @@ void PrintObject::bridge_over_infill() } // ORCA: Internal bridge angle override - if (candidate.region->region().config().internal_bridge_angle > 0) - bridging_angle = candidate.region->region().config().internal_bridge_angle.value * PI / 180.0; // Convert degrees to radians + if (candidate.region->region().config().internal_bridge_angle.value > 0) { + const auto ®ion_config = candidate.region->region().config(); + const double custom_angle_rad = Geometry::deg2rad(region_config.internal_bridge_angle.value); + if (region_config.relative_bridge_angle.value) + bridging_angle += custom_angle_rad; + else { + bridging_angle = custom_angle_rad; + if (region_config.align_infill_direction_to_model) { + auto m = po->trafo().matrix(); + bridging_angle += std::atan2((double)m(1, 0), (double)m(0, 0)); + } + } + } boundary_plines.insert(boundary_plines.end(), anchors.begin(), anchors.end()); if (!lightning_area.empty() && !intersection(area_to_be_bridge, lightning_area).empty()) { diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 1e5b350039..c4a4a6449e 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -655,7 +655,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co toggle_field("bottom_surface_density", has_bottom_shell); for (auto el : { "infill_direction", "sparse_infill_line_width", "gap_fill_target","filter_out_gap_fill","infill_wall_overlap", - "sparse_infill_speed", "bridge_speed", "internal_bridge_speed", "bridge_angle", "internal_bridge_angle", + "sparse_infill_speed", "bridge_speed", "internal_bridge_speed", "bridge_angle", "internal_bridge_angle", "relative_bridge_angle", "solid_infill_direction", "solid_infill_rotate_template", "internal_solid_infill_pattern", "solid_infill_filament", }) toggle_field(el, have_infill || has_solid_infill); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 071a4b24eb..9df41c954d 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2499,6 +2499,7 @@ void TabPrint::build() optgroup->append_single_option_line("extra_solid_infills", "strength_settings_infill#extra-solid-infill"); optgroup->append_single_option_line("bridge_angle", "strength_settings_advanced#bridge-infill-direction"); optgroup->append_single_option_line("internal_bridge_angle", "strength_settings_advanced#bridge-infill-direction"); // ORCA: Internal bridge angle override + optgroup->append_single_option_line("relative_bridge_angle", "strength_settings_advanced#bridge-infill-direction"); optgroup->append_single_option_line("minimum_sparse_infill_area", "strength_settings_advanced#minimum-sparse-infill-threshold"); optgroup->append_single_option_line("infill_combination", "strength_settings_advanced#infill-combination"); optgroup->append_single_option_line("infill_combination_max_layer_height", "strength_settings_advanced#max-layer-height"); From ae16c76dd26166e37b4fbb512d74340c668d2de5 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Wed, 3 Jun 2026 10:16:59 -0300 Subject: [PATCH 60/69] Bridge Line Width + Improve bridge density (#11255) * Base * Standarized Co-Authored-By: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> * Wiki * Improved descriptions based in RF47 Tests Co-Authored-By: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> * Bridge Flow Wiki * Removed CMATH Co-Authored-By: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> * Default to 100 * Revert "TESTING BRIDGE DENSITY" This reverts commit 8634f802311cd3877b0dd5651029b30b2d4eab60. Removed desc change * Minor changes Co-Authored-By: Noisyfox * Update LayerRegion.cpp * Missing ; Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> * Restrict bridge line width to nozzle diameter * Clarification * Increased both Bridge Densitys to 125 Co-Authored-By: Valerii Bokhan <80919135+valerii-bokhan@users.noreply.github.com> * Valerii check Co-Authored-By: Valerii Bokhan <80919135+valerii-bokhan@users.noreply.github.com> * Fix error handling * Clarify thick bridges documentation and tooltips Updated the documentation and tooltips for 'thick_bridges' and 'thick_internal_bridges' to clarify that bridge extrusion uses a line height equal to the nozzle diameter, and to better explain the trade-offs between strength, reliability, and appearance. * Partially restore bridge_flow description * Suggestions --------- Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> Co-authored-by: Noisyfox Co-authored-by: Valerii Bokhan <80919135+valerii-bokhan@users.noreply.github.com> --- src/libslic3r/Flow.cpp | 30 +++++++++--- src/libslic3r/LayerRegion.cpp | 18 ++++++-- src/libslic3r/Preset.cpp | 1 + src/libslic3r/Print.cpp | 31 ++++++++++--- src/libslic3r/PrintConfig.cpp | 86 +++++++++++++++++++++++++---------- src/libslic3r/PrintConfig.hpp | 1 + src/libslic3r/PrintObject.cpp | 1 + src/slic3r/GUI/Tab.cpp | 17 +++---- 8 files changed, 137 insertions(+), 48 deletions(-) diff --git a/src/libslic3r/Flow.cpp b/src/libslic3r/Flow.cpp index dbe7e157ab..42fd6e8ea1 100644 --- a/src/libslic3r/Flow.cpp +++ b/src/libslic3r/Flow.cpp @@ -49,6 +49,8 @@ static inline FlowRole opt_key_to_flow_role(const std::string &opt_key) return frInfill; else if (opt_key == "internal_solid_infill_line_width") return frSolidInfill; + else if (opt_key == "bridge_line_width") + return frSolidInfill; else if (opt_key == "top_surface_line_width") return frTopSolidInfill; else if (opt_key == "support_line_width") @@ -67,6 +69,26 @@ double Flow::extrusion_width(const std::string& opt_key, const ConfigOptionFloat { assert(opt != nullptr); + auto opt_nozzle_diameters = config.option("nozzle_diameter"); + if (opt_nozzle_diameters == nullptr) + throw_on_missing_variable(opt_key, "nozzle_diameter"); + const float nozzle_diameter = float(opt_nozzle_diameters->get_at(first_printing_extruder)); + + if (opt_key == "bridge_line_width") { + if (opt->percent) { + const double bridge_width = opt->get_abs_value(nozzle_diameter); + if (bridge_width > 0.) + return bridge_width; + } else if (opt->value > 0.) { + return opt->value; + } + + opt = config.option("internal_solid_infill_line_width"); + if (opt == nullptr) + throw_on_missing_variable(opt_key, "internal_solid_infill_line_width"); + return extrusion_width("internal_solid_infill_line_width", opt, config, first_printing_extruder); + } + #if 0 // This is the logic used for skit / brim, but not for the rest of the 1st layer. if (opt->value == 0. && first_layer) { @@ -84,17 +106,13 @@ double Flow::extrusion_width(const std::string& opt_key, const ConfigOptionFloat throw_on_missing_variable(opt_key, "line_width"); } - auto opt_nozzle_diameters = config.option("nozzle_diameter"); - if (opt_nozzle_diameters == nullptr) - throw_on_missing_variable(opt_key, "nozzle_diameter"); - if (opt->percent) { - return opt->get_abs_value(float(opt_nozzle_diameters->get_at(first_printing_extruder))); + return opt->get_abs_value(nozzle_diameter); } if (opt->value == 0.) { // If user left option to 0, calculate a sane default width. - return auto_extrusion_width(opt_key_to_flow_role(opt_key), float(opt_nozzle_diameters->get_at(first_printing_extruder))); + return auto_extrusion_width(opt_key_to_flow_role(opt_key), nozzle_diameter); } return opt->value; diff --git a/src/libslic3r/LayerRegion.cpp b/src/libslic3r/LayerRegion.cpp index 20ded6e72c..22e0a26898 100644 --- a/src/libslic3r/LayerRegion.cpp +++ b/src/libslic3r/LayerRegion.cpp @@ -34,16 +34,26 @@ Flow LayerRegion::bridging_flow(FlowRole role, bool thick_bridge) const const PrintRegionConfig ®ion_config = region.config(); const PrintObject &print_object = *this->layer()->object(); Flow bridge_flow; + // Here this->extruder(role) - 1 may underflow to MAX_INT, but then the get_at() will fall back to zero'th element, so everything is all right. auto nozzle_diameter = float(print_object.print()->config().nozzle_diameter.get_at(region.extruder(role) - 1)); + const ConfigOptionFloatOrPercent& bridge_width_opt = region_config.bridge_line_width; + const double bridge_width = bridge_width_opt.get_abs_value(nozzle_diameter); + const bool has_bridge_width = bridge_width > 0.; + const double bridge_flow_ratio = region_config.bridge_flow; + if (thick_bridge) { // The old Slic3r way (different from all other slicers): Use rounded extrusions. // Get the configured nozzle_diameter for the extruder associated to the flow role requested. - // Here this->extruder(role) - 1 may underflow to MAX_INT, but then the get_at() will follback to zero'th element, so everything is all right. - // Applies default bridge spacing. - bridge_flow = Flow::bridging_flow(float(sqrt(region_config.bridge_flow)) * nozzle_diameter, nozzle_diameter); + float thread_diameter = has_bridge_width ? float(bridge_width) : nozzle_diameter; + if (bridge_flow_ratio > 0.) + thread_diameter *= float(sqrt(bridge_flow_ratio)); + bridge_flow = Flow::bridging_flow(thread_diameter, nozzle_diameter); } else { // The same way as other slicers: Use normal extrusions. Apply bridge_flow while maintaining the original spacing. - bridge_flow = this->flow(role).with_flow_ratio(region_config.bridge_flow); + Flow base_flow = this->flow(role); + if (has_bridge_width) + base_flow = Flow(float(bridge_width), base_flow.height(), nozzle_diameter); + bridge_flow = base_flow.with_flow_ratio(bridge_flow_ratio); } return bridge_flow; diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 21050ee09f..b26d28d314 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -1097,6 +1097,7 @@ static std::vector s_Preset_print_options{ "infill_wall_overlap", "top_bottom_infill_wall_overlap", "bridge_flow", + "bridge_line_width", "internal_bridge_flow", "elefant_foot_compensation", "elefant_foot_compensation_layers", diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index d53a168ec2..4ce97eb8aa 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -1540,12 +1540,12 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons* auto validate_extrusion_width = [min_nozzle_diameter, max_nozzle_diameter](const ConfigBase &config, const char *opt_key, double layer_height, std::string &err_msg) -> bool { double extrusion_width_min = config.get_abs_value(opt_key, min_nozzle_diameter); double extrusion_width_max = config.get_abs_value(opt_key, max_nozzle_diameter); - if (extrusion_width_min == 0) { - // Default "auto-generated" extrusion width is always valid. - } else if (extrusion_width_min <= layer_height) { - err_msg = L("Too small line width"); - return false; - } else if (extrusion_width_max > max_nozzle_diameter * MAX_LINE_WIDTH_MULTIPLIER) { + if (extrusion_width_min == 0) { + // Default "auto-generated" extrusion width is always valid. + } else if (extrusion_width_min <= layer_height) { + err_msg = L("Too small line width"); + return false; + } else if (extrusion_width_max > max_nozzle_diameter * MAX_LINE_WIDTH_MULTIPLIER) { err_msg = L("Too large line width"); return false; } @@ -1667,6 +1667,25 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons* for (const PrintRegion ®ion : object->all_regions()) if (!validate_extrusion_width(region.config(), opt_key, layer_height, err_msg)) return {err_msg, object, opt_key}; + + const bool allow_thin_bridge_width = object->config().thick_bridges && object->config().thick_internal_bridges; + for (const PrintRegion ®ion : object->all_regions()) { + const auto &bridge_width_opt = region.config().bridge_line_width; + for (FlowRole bridge_role : { frPerimeter, frInfill, frSolidInfill, frTopSolidInfill }) { + const double nozzle_diameter = m_config.nozzle_diameter.get_at(region.extruder(bridge_role) - 1); + const double bridge_width = bridge_width_opt.get_abs_value(nozzle_diameter); + if (bridge_width <= 0.) + continue; + if (bridge_width > nozzle_diameter) { + err_msg = L("Bridge line width must not exceed nozzle diameter"); + return { err_msg, object, "bridge_line_width" }; + } + if (!allow_thin_bridge_width && bridge_width <= layer_height) { + err_msg = L("Too small line width"); + return { err_msg, object, "bridge_line_width" }; + } + } + } } } diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index a113c3057a..4d7034f61f 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1283,47 +1283,73 @@ void PrintConfigDef::init_fff_params() def = this->add("bridge_density", coPercent); def->label = L("External bridge density"); def->category = L("Strength"); - def->tooltip = L("Controls the density (spacing) of external bridge lines. Default is 100%.\n\n" - "Lower density external bridges can help improve reliability as there is more space for air to circulate " - "around the extruded bridge, improving its cooling speed. Minimum is 10%.\n\n" - "Higher densities can produce smoother bridge surfaces, as overlapping lines provide " - "additional support during printing. Maximum is 120%.\n" - "Note: Bridge density that is too high can cause warping or overextrusion."); + def->tooltip = L("Controls the density (spacing) of external bridge lines. Default is 100%.\n" + "Theoretically, 100% means a solid bridge, but due to the tendency of bridge extrusions to sag, 100% may not be sufficient.\n\n" + "- Higher than 100% density (Recommended Max 125%):\n" + " - Pros: Produces smoother bridge surfaces, as overlapping lines provide additional support during printing.\n" + " - Cons: Can cause overextrusion, which may reduce lower and upper surface quality and increase the risk of warping.\n\n" + "- Lower than 100% density (Min 10%):\n" + " - Pros: Can create a string-like first layer. Faster and with better cooling because there is more space for air to circulate around the extruded bridge.\n" + " - Cons: May lead to sagging and poorer surface finish.\n\n" + "Recommended range: Minimum 10% - Maximum 125%."); def->sidetext = "%"; def->min = 10; - def->max = 120; + def->max = 125; def->mode = comAdvanced; def->set_default_value(new ConfigOptionPercent(100)); def = this->add("internal_bridge_density", coPercent); def->label = L("Internal bridge density"); def->category = L("Strength"); - def->tooltip = L("Controls the density (spacing) of internal bridge lines. 100% means solid bridge. Default is 100%.\n\n" - "Lower density internal bridges can help reduce top surface pillowing and improve internal bridge reliability as there is more space for " - "air to circulate around the extruded bridge, improving its cooling speed.\n\n" - "This option works particularly well when combined with the second internal bridge over infill option, " - "further improving internal bridging structure before solid infill is extruded."); + def->tooltip = L("Controls the density (spacing) of internal bridge lines. Default is 100%. 100% means a solid internal bridge.\n\n" + "Internal bridges act as intermediate support between sparse infill and top solid infill and can strongly affect top surface quality.\n\n" + "- Higher than 100% density (Recommended Max 125%):\n" + " - Pros: Improves internal bridge strength and support under top layers, reducing sagging and improving top-surface finish.\n" + " - Cons: Increases material use and print time; excessive density may cause overextrusion and internal stresses.\n\n" + "- Lower than 100% density (Min 10%):\n" + " - Pros: Can reduce pillowing and improve cooling (more airflow through the bridge), and may speed up printing.\n" + " - Cons: May reduce internal support, increasing the risk of sagging and top surface defects.\n\n" + "This option works particularly well when combined with the second internal bridge over infill option to improve bridging further before solid infill is extruded."); def->sidetext = "%"; def->min = 10; - def->max = 100; + def->max = 125; def->mode = comAdvanced; def->set_default_value(new ConfigOptionPercent(100)); def = this->add("bridge_flow", coFloat); def->label = L("Bridge flow ratio"); def->category = L("Quality"); - def->tooltip = L("Decrease this value slightly (for example 0.9) to reduce the amount of material for bridge, to improve sag.\n\n" + def->tooltip = L("This value governs the thickness of the external (visible) bridge layer.\n" + "Values above 1.0: Increase the amount of material while maintaining line spacing. This can improve line contact and strength.\n" + "Values below 1.0: Reduce the amount of material while adjusting line spacing to maintain contact. This can improve sagging.\n\n" "The actual bridge flow used is calculated by multiplying this value with the filament flow ratio, and if set, the object's flow ratio."); def->min = 0; def->max = 2.0; def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloat(1)); + def = this->add("bridge_line_width", coFloatOrPercent); + def->label = L("Bridge"); + def->category = L("Quality"); + def->tooltip = L("Bridge line width is expressed either as an absolute value or as a percentage of the active nozzle diameter (percentages are computed from the nozzle diameter).\n" + "Recommended to use with a higher Bridge density or Bridge flow ratio.\n\n" + "The maximum value is 100% or the nozzle diameter.\n" + "If set to 0, the line width will match the Internal solid infill width."); + def->sidetext = L("mm or %"); + def->ratio_over = "nozzle_diameter"; + def->min = 0; + def->max = 100; + def->max_literal = 10; + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionFloatOrPercent(100., true)); + def = this->add("internal_bridge_flow", coFloat); def->label = L("Internal bridge flow ratio"); def->category = L("Quality"); - def->tooltip = L("This value governs the thickness of the internal bridge layer. This is the first layer over sparse infill. Decrease this value slightly (for example 0.9) to improve surface quality over sparse infill." - "\n\nThe actual internal bridge flow used is calculated by multiplying this value with the bridge flow ratio, the filament flow ratio, and if set, the object's flow ratio."); + def->tooltip = L("This value governs the thickness of the internal bridge layer. This is the first layer over sparse infill so increasing it may increase strength and upper layer quality.\n" + "Values above 1.0: Increase the amount of material while maintaining line spacing. This can improve line contact and strength.\n" + "Values below 1.0: Reduce the amount of material while adjusting line spacing to maintain contact. This can improve sagging.\n\n" + "The actual bridge flow used is calculated by multiplying this value with the filament flow ratio, and if set, the object's flow ratio."); def->min = 0; def->max = 2.0; def->mode = comAdvanced; @@ -1907,16 +1933,18 @@ void PrintConfigDef::init_fff_params() def = this->add("thick_bridges", coBool); def->label = L("Thick external bridges"); def->category = L("Quality"); - def->tooltip = L("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."); + def->tooltip = L("If enabled, bridge extrusion uses a line height equal to the nozzle diameter.\n" + "This increases bridge strength and reliability, allowing longer spans, but may worsen appearance.\n" + "If disabled, bridges may look better but are generally reliable only for shorter spans."); def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(false)); def = this->add("thick_internal_bridges", coBool); def->label = L("Thick internal bridges"); def->category = L("Quality"); - def->tooltip = L("If enabled, thick internal bridges will be used. It's usually recommended to have this feature turned on. However, " - "consider turning it off if you are using large nozzles."); + def->tooltip = L("If enabled, internal bridge extrusion uses a line height equal to the nozzle diameter.\n" + "This increases internal bridge strength and reliability when printed over sparse infill, but may worsen appearance.\n" + "If disabled, internal bridges may look better but can be less reliable over sparse infill."); def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(true)); @@ -10269,8 +10297,8 @@ std::map validate(const FullPrintConfig &cfg, bool und error_message.emplace("bridge_flow", L("invalid value ") + std::to_string(cfg.bridge_flow)); } - // --bridge-flow-ratio - if (cfg.bridge_flow <= 0) { + // --internal-bridge-flow-ratio + if (cfg.internal_bridge_flow <= 0) { error_message.emplace("internal_bridge_flow", L("invalid value ") + std::to_string(cfg.internal_bridge_flow)); } @@ -10328,13 +10356,18 @@ std::map validate(const FullPrintConfig &cfg, bool und // extrusion widths { double max_nozzle_diameter = 0.; + double min_nozzle_diameter = std::numeric_limits::max(); for (double dmr : cfg.nozzle_diameter.values) + { max_nozzle_diameter = std::max(max_nozzle_diameter, dmr); + min_nozzle_diameter = std::min(min_nozzle_diameter, dmr); + } const char *widths[] = { "outer_wall_line_width", "inner_wall_line_width", "sparse_infill_line_width", "internal_solid_infill_line_width", + "bridge_line_width", "top_surface_line_width", "support_line_width", "initial_layer_line_width", @@ -10342,8 +10375,13 @@ std::map validate(const FullPrintConfig &cfg, bool und "skeleton_infill_line_width"}; for (size_t i = 0; i < sizeof(widths) / sizeof(widths[i]); ++ i) { std::string key(widths[i]); - if (cfg.get_abs_value(key, max_nozzle_diameter) > MAX_LINE_WIDTH_MULTIPLIER * max_nozzle_diameter) { - error_message.emplace(key, L("too large line width ") + std::to_string(cfg.get_abs_value(key))); + double abs_width = cfg.get_abs_value(key, max_nozzle_diameter); + double allowed_max = (key == "bridge_line_width") ? min_nozzle_diameter : MAX_LINE_WIDTH_MULTIPLIER * max_nozzle_diameter; + if (abs_width > allowed_max) { + if (key == "bridge_line_width") + error_message.emplace(key, L("Bridge line width must not exceed nozzle diameter: ") + std::to_string(abs_width)); + else + error_message.emplace(key, L("too large line width ") + std::to_string(abs_width)); //return std::string("Too Large line width: ") + key; } } diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 5cf095b588..2dabe8e892 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1082,6 +1082,7 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionFloat, internal_bridge_angle)) // ORCA: Internal bridge angle override ((ConfigOptionBool, relative_bridge_angle)) // ORCA: Relative bridge angle flag ((ConfigOptionFloat, bridge_flow)) + ((ConfigOptionFloatOrPercent, bridge_line_width)) ((ConfigOptionFloat, internal_bridge_flow)) ((ConfigOptionFloat, bridge_speed)) ((ConfigOptionFloatOrPercent, internal_bridge_speed)) diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 732e0bb900..830ac50f51 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -1277,6 +1277,7 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "internal_bridge_angle" // ORCA: Internal bridge angle override || opt_key == "relative_bridge_angle" // ORCA: Relative bridge angle //BBS + || opt_key == "bridge_line_width" || opt_key == "bridge_density" || opt_key == "internal_bridge_density") { steps.emplace_back(posPrepareInfill); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 9df41c954d..5955b8a3e3 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2321,13 +2321,14 @@ void TabPrint::build() optgroup = page->new_optgroup(L("Line width"), L"param_line_width"); optgroup->append_single_option_line("line_width","quality_settings_line_width"); - optgroup->append_single_option_line("initial_layer_line_width","quality_settings_line_width"); - optgroup->append_single_option_line("outer_wall_line_width","quality_settings_line_width"); - optgroup->append_single_option_line("inner_wall_line_width","quality_settings_line_width"); - optgroup->append_single_option_line("top_surface_line_width","quality_settings_line_width"); - optgroup->append_single_option_line("sparse_infill_line_width","quality_settings_line_width"); - optgroup->append_single_option_line("internal_solid_infill_line_width","quality_settings_line_width"); - optgroup->append_single_option_line("support_line_width","quality_settings_line_width"); + optgroup->append_single_option_line("initial_layer_line_width","quality_settings_line_width#first-layer"); + optgroup->append_single_option_line("outer_wall_line_width","quality_settings_line_width#outer-wall"); + optgroup->append_single_option_line("inner_wall_line_width","quality_settings_line_width#inner-wall"); + optgroup->append_single_option_line("top_surface_line_width","quality_settings_line_width#top-surface"); + optgroup->append_single_option_line("sparse_infill_line_width","quality_settings_line_width#sparse-infill"); + optgroup->append_single_option_line("internal_solid_infill_line_width","quality_settings_line_width#internal-solid-infill"); + optgroup->append_single_option_line("support_line_width","quality_settings_line_width#support"); + optgroup->append_single_option_line("bridge_line_width","quality_settings_line_width#bridge"); optgroup = page->new_optgroup(L("Seam"), L"param_seam"); optgroup->append_single_option_line("seam_position", "quality_settings_seam#seam-position"); @@ -2427,7 +2428,7 @@ void TabPrint::build() optgroup = page->new_optgroup(L("Bridging"), L"param_bridge"); optgroup->append_single_option_line("bridge_flow", "quality_settings_bridging#flow-ratio"); - optgroup->append_single_option_line("internal_bridge_flow", "quality_settings_bridging#flow-ratio"); + optgroup->append_single_option_line("internal_bridge_flow", "quality_settings_bridging#flow-ratio"); optgroup->append_single_option_line("bridge_density", "quality_settings_bridging#bridge-density"); optgroup->append_single_option_line("internal_bridge_density", "quality_settings_bridging#bridge-density"); optgroup->append_single_option_line("thick_bridges", "quality_settings_bridging#thick-bridges"); From 6f011c9f6a194f1c509438a86ee1c8be29df9ee5 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Wed, 3 Jun 2026 10:19:04 -0300 Subject: [PATCH 61/69] External bridge fix (#12568) * Internal bridge fix Co-Authored-By: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> * Revert expansion increasing Co-Authored-By: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> * Recover assert * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update RegionExpansion.cpp * Update RegionExpansion.cpp --------- Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/libslic3r/Algorithm/RegionExpansion.cpp | 34 +++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/libslic3r/Algorithm/RegionExpansion.cpp b/src/libslic3r/Algorithm/RegionExpansion.cpp index db127ce207..6a77c470e7 100644 --- a/src/libslic3r/Algorithm/RegionExpansion.cpp +++ b/src/libslic3r/Algorithm/RegionExpansion.cpp @@ -266,10 +266,44 @@ std::vector wave_seeds( //(front.z() < 0 && back.z() < 0)); // Hope that at least one end of an open polyline is clipped by the boundary, thus an intersection point is created. (front.z() < 0 || back.z() < 0)); + // However, with complex geometry, both endpoints may coincide with existing polygon + // vertices (z >= 0), which is handled below. if (front != back && front.z() >= 0 && back.z() >= 0) { // Very rare case when both endpoints intersect boundary ExPolygons in existing points. // So the ZFillFunction callback hasn't been called. + // Both endpoints coincide with existing polygon vertices, so the + // ZFillFunction callback was never called. With complex geometry + // this is common because source and boundary contours share many + // vertices. Determine src_id / boundary_id from Z coordinates + // (and fall back to an AABB-tree point-in-polygon test when a + // boundary ID is not directly available). + coord_t src_z = -1, boundary_z = -1; + // Scan all path points for the information we need. + for (const ClipperLib_Z::IntPoint &point : path) { + if (point.z() >= idx_boundary_end && point.z() < idx_src_end && src_z < 0) + src_z = point.z(); + else if (point.z() >= idx_boundary_begin && point.z() < idx_boundary_end && boundary_z < 0) + boundary_z = point.z(); + if (src_z >= 0 && boundary_z >= 0) + break; + } + if (src_z >= 0) { + uint32_t src_id = uint32_t(src_z - idx_boundary_end); + if (boundary_z >= 0) { + out.push_back({ src_id, uint32_t(boundary_z - 1), ClipperZUtils::from_zpath(path) }); + } else { + // Source ID known but boundary unknown – use AABB tree. + if (aabb_tree.empty()) + aabb_tree = build_aabb_tree_over_expolygons(boundary); + int boundary_id = sample_in_expolygons(aabb_tree, boundary, Point(front.x(), front.y())); + if (boundary_id >= 0) + out.push_back({ src_id, uint32_t(boundary_id), ClipperZUtils::from_zpath(path) }); + } + ++ iseed; + continue; + } + // Unable to determine source ID – drop the segment. continue; } else if (front == back && (front.z() < idx_boundary_end)) { From 757b6a5c467f17e7c125a87f09a05cf26ca1a37e Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Wed, 3 Jun 2026 10:58:25 -0300 Subject: [PATCH 62/69] Minor desc and wiki redirection fixe (#14011) --- src/libslic3r/PrintConfig.cpp | 3 +-- src/slic3r/GUI/Tab.cpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 4d7034f61f..dafa3bfdb9 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1275,8 +1275,7 @@ void PrintConfigDef::init_fff_params() def = this->add("relative_bridge_angle", coBool); def->label = L("Relative bridge angle"); def->category = L("Strength"); - def->tooltip = L("When enabled, the bridge angle values are added to the automatically calculated bridge direction instead of overriding it.\n" - "Recommended to add a small angle (<10°) to improve bridge covering in closed shapes."); + def->tooltip = L("When enabled, the bridge angle values are added to the automatically calculated bridge direction instead of overriding it."); def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(false)); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 5955b8a3e3..e5d8d793ea 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2500,7 +2500,7 @@ void TabPrint::build() optgroup->append_single_option_line("extra_solid_infills", "strength_settings_infill#extra-solid-infill"); optgroup->append_single_option_line("bridge_angle", "strength_settings_advanced#bridge-infill-direction"); optgroup->append_single_option_line("internal_bridge_angle", "strength_settings_advanced#bridge-infill-direction"); // ORCA: Internal bridge angle override - optgroup->append_single_option_line("relative_bridge_angle", "strength_settings_advanced#bridge-infill-direction"); + optgroup->append_single_option_line("relative_bridge_angle", "strength_settings_advanced#relative-bridge-angle"); optgroup->append_single_option_line("minimum_sparse_infill_area", "strength_settings_advanced#minimum-sparse-infill-threshold"); optgroup->append_single_option_line("infill_combination", "strength_settings_advanced#infill-combination"); optgroup->append_single_option_line("infill_combination_max_layer_height", "strength_settings_advanced#max-layer-height"); From c467990724b4f16bdaec898d5f11bf14a6be5821 Mon Sep 17 00:00:00 2001 From: 3DPrinterOS SDK <74248977+3DPrinterOS-SDK@users.noreply.github.com> Date: Wed, 3 Jun 2026 21:31:57 +0300 Subject: [PATCH 63/69] Support for 3DPrinterOS cloud integration (#10403) --- src/libslic3r/PrintConfig.cpp | 5 +- src/libslic3r/PrintConfig.hpp | 2 +- src/slic3r/CMakeLists.txt | 2 + src/slic3r/GUI/PhysicalPrinterDialog.cpp | 23 +- src/slic3r/Utils/3DPrinterOS.cpp | 667 +++++++++++++++++++++++ src/slic3r/Utils/3DPrinterOS.hpp | 80 +++ src/slic3r/Utils/PrintHost.cpp | 2 + 7 files changed, 776 insertions(+), 5 deletions(-) create mode 100755 src/slic3r/Utils/3DPrinterOS.cpp create mode 100755 src/slic3r/Utils/3DPrinterOS.hpp diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index dafa3bfdb9..8da03fd969 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -148,7 +148,8 @@ static t_config_enum_values s_keys_map_PrintHostType { { "obico", htObico }, { "flashforge", htFlashforge }, { "simplyprint", htSimplyPrint }, - { "elegoolink", htElegooLink } + { "elegoolink", htElegooLink }, + { "3dprinteros", ht3DPrinterOS } }; CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(PrintHostType) @@ -4860,6 +4861,7 @@ void PrintConfigDef::init_fff_params() def->enum_values.push_back("flashforge"); def->enum_values.push_back("simplyprint"); def->enum_values.push_back("elegoolink"); + def->enum_values.push_back("3dprinteros"); def->enum_labels.push_back("PrusaLink"); def->enum_labels.push_back("PrusaConnect"); def->enum_labels.push_back("Octo/Klipper"); @@ -4874,6 +4876,7 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back("Flashforge"); def->enum_labels.push_back("SimplyPrint"); def->enum_labels.push_back("Elegoo Link"); + def->enum_labels.push_back("3DPrinterOS"); def->mode = comAdvanced; def->cli = ConfigOptionDef::nocli; def->set_default_value(new ConfigOptionEnum(htOctoPrint)); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 2dabe8e892..5cc89f4ae5 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -77,7 +77,7 @@ enum class WipeTowerType { }; enum PrintHostType { - htPrusaLink, htPrusaConnect, htOctoPrint, htDuet, htFlashAir, htAstroBox, htRepetier, htMKS, htESP3D, htCrealityPrint, htObico, htFlashforge, htSimplyPrint, htElegooLink + htPrusaLink, htPrusaConnect, htOctoPrint, htDuet, htFlashAir, htAstroBox, htRepetier, htMKS, htESP3D, htCrealityPrint, htObico, htFlashforge, htSimplyPrint, htElegooLink, ht3DPrinterOS }; enum AuthorizationType { diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt index c4d6369b72..34286d1411 100644 --- a/src/slic3r/CMakeLists.txt +++ b/src/slic3r/CMakeLists.txt @@ -659,6 +659,8 @@ set(SLIC3R_GUI_SOURCES Utils/UndoRedo.cpp Utils/UndoRedo.hpp Utils/WebSocketClient.hpp + Utils/3DPrinterOS.hpp + Utils/3DPrinterOS.cpp Utils/WxFontUtils.cpp Utils/WxFontUtils.hpp Utils/FileTransferUtils.cpp diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.cpp b/src/slic3r/GUI/PhysicalPrinterDialog.cpp index 7a85a4c1f2..4a371a46a6 100644 --- a/src/slic3r/GUI/PhysicalPrinterDialog.cpp +++ b/src/slic3r/GUI/PhysicalPrinterDialog.cpp @@ -40,6 +40,7 @@ #include "MsgDialog.hpp" #include "OAuthDialog.hpp" #include "SimplyPrint.hpp" +#include "3DPrinterOS.hpp" namespace Slic3r { namespace GUI { @@ -273,6 +274,12 @@ void PhysicalPrinterDialog::build_printhost_settings(ConfigOptionsGroup* m_optgr } else { msg = r.error_message; } + } else if (const auto h = dynamic_cast(host.get()); h) { + GUI::MessageDialog dlg(this, _L("Valid session not detected. Proceed with login to 3DPrinterOS?"), _L("Proceed"), + wxICON_INFORMATION | wxYES | wxNO); + if (dlg.ShowModal() == wxID_YES) { + result = h->login(msg); + } } else { PrinterCloudAuthDialog dlg(this->GetParent(), host.get()); dlg.ShowModal(); @@ -644,7 +651,8 @@ void PhysicalPrinterDialog::update(bool printer_change) const auto current_host = temp->GetValue(); if (current_host == L"https://connect.prusa3d.com" || current_host == L"https://app.obico.io" || - current_host == "https://simplyprint.io" || current_host == "https://simplyprint.io/panel") { + current_host == "https://simplyprint.io" || current_host == "https://simplyprint.io/panel" || + current_host == C3DPrinterOS::default_host()) { temp->SetValue(wxString()); m_config->opt_string("print_host") = ""; } @@ -677,7 +685,7 @@ void PhysicalPrinterDialog::update(bool printer_change) m_config->opt_string("print_host") = "https://app.obico.io"; } } - } else if (opt->value == htSimplyPrint) { + } else if (opt->value == htSimplyPrint) { // Set the host url if (Field* printhost_field = m_optgroup->get_field("print_host"); printhost_field) { printhost_field->disable(); @@ -714,7 +722,16 @@ void PhysicalPrinterDialog::update(bool printer_change) m_optgroup->disable_field("printhost_ssl_ignore_revoke"); if (m_printhost_cafile_browse_btn) m_printhost_cafile_browse_btn->Disable(); - } + } else if (opt->value == ht3DPrinterOS) { + if (Field* printhost_field = m_optgroup->get_field("print_host"); printhost_field) { + if (wxTextCtrl* temp = dynamic_cast(printhost_field)->text_ctrl(); temp && temp->GetValue().IsEmpty()) { + temp->SetValue(C3DPrinterOS::default_host()); + m_config->opt_string("print_host") = C3DPrinterOS::default_host(); + } + } + m_optgroup->hide_field("print_host_webui"); + m_optgroup->hide_field("printhost_apikey"); + } } if (opt->value == htFlashforge) { diff --git a/src/slic3r/Utils/3DPrinterOS.cpp b/src/slic3r/Utils/3DPrinterOS.cpp new file mode 100755 index 0000000000..f135c1ff36 --- /dev/null +++ b/src/slic3r/Utils/3DPrinterOS.cpp @@ -0,0 +1,667 @@ +#include "3DPrinterOS.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Utils.hpp" +#include "slic3r/GUI/I18N.hpp" +#include "slic3r/GUI/GUI.hpp" +#include "slic3r/GUI/format.hpp" +#include "slic3r/GUI/GUI_Utils.hpp" +#include "slic3r/GUI/MsgDialog.hpp" +#include "slic3r/GUI/Widgets/ComboBox.hpp" +#include "slic3r/GUI/Widgets/Button.hpp" +#include "slic3r/GUI/GUI_App.hpp" + +#include "Http.hpp" +#include + + +namespace fs = boost::filesystem; +namespace pt = boost::property_tree; + +namespace { + +class UploadOptionsDialog : public Slic3r::GUI::DPIDialog +{ +public: + UploadOptionsDialog(wxWindow* parent, + const wxArrayString& cloud_projects, + const wxArrayString& cloud_printer_types, + const wxString preset_name) + : Slic3r::GUI::DPIDialog(parent, + wxID_ANY, + "3DPrinterOS Cloud upload options", + wxDefaultPosition, + wxSize(100 * Slic3r::GUI::wxGetApp().em_unit(), -1), + wxDEFAULT_DIALOG_STYLE), + okButton(nullptr) + { + SetFont(Slic3r::GUI::wxGetApp().normal_font()); + SetBackgroundColour(*wxWHITE); + SetForegroundColour(*wxBLACK); + + singleRadio = new wxRadioButton(this, wxID_ANY, "Single file", wxDefaultPosition, wxDefaultSize, wxRB_GROUP); + projectRadio = new wxRadioButton(this, wxID_ANY, "Project File"); + projectsLabel = new wxStaticText(this, wxID_ANY, "Project:"); + wxStaticText* printerLabel = new wxStaticText(this, wxID_ANY, "Printer type:"); + + projectsComboBox = new wxComboBox(this, wxID_ANY, wxString(""), wxDefaultPosition, wxDefaultSize, 0, nullptr, DD_NO_CHECK_ICON); + printerTypeComboBox = new wxComboBox(this, wxID_ANY, wxString(""), wxDefaultPosition, wxDefaultSize, 0, nullptr, DD_NO_CHECK_ICON | wxTE_READONLY); + + printerWarningLabel = new wxStaticText(this, wxID_ANY, "Printer type not found, please select manually."); + printerWarningLabel->SetForegroundColour(*wxRED); + printerWarningLabel->Hide(); + + for (int i = 0; i < cloud_projects.size(); i++) { + projectsComboBox->Append(cloud_projects[i]); + } + if (cloud_printer_types.size() > 0) { + for (int i = 0; i < cloud_printer_types.size(); i++) { + printerTypeComboBox->Append(cloud_printer_types[i]); + if (cloud_printer_types[i].Find(preset_name) != wxNOT_FOUND && printerTypeComboBox->GetSelection() == -1) { + printerTypeComboBox->SetSelection(i); + } + } + if (printerTypeComboBox->GetCount() > 1) { + printerWarningLabel->Show(); + } else { + printerTypeComboBox->SetSelection(0); + } + } + + okButton = new wxButton(this, wxID_OK, "OK"); + wxButton* cancelButton = new wxButton(this, wxID_CANCEL, "Cancel"); + + wxBoxSizer* radioSizer = new wxBoxSizer(wxHORIZONTAL); + wxBoxSizer* btnSizer = new wxBoxSizer(wxHORIZONTAL); + radioSizer->Add(singleRadio, 0, wxALL, 5); + radioSizer->Add(projectRadio, 0, wxALL, 5); + btnSizer->Add(okButton, 0, wxALL | wxALIGN_CENTER, 5); + btnSizer->Add(cancelButton, 0, wxALL | wxALIGN_CENTER, 5); + + wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); + sizer->Add(radioSizer, 0, wxALL, 5); + sizer->Add(projectsLabel, 0, wxALL, 5); + sizer->Add(projectsComboBox, 0, wxALL | wxEXPAND, 5); + sizer->Add(printerLabel, 0, wxALL, 5); + sizer->Add(printerTypeComboBox, 0, wxALL | wxEXPAND, 5); + sizer->Add(printerWarningLabel, 0, wxLEFT | wxRIGHT | wxBOTTOM, 5); + sizer->Add(btnSizer, 0, wxALL | wxALIGN_CENTER, 5); + SetSizer(sizer); + sizer->Fit(this); + projectsComboBox->Hide(); + projectsLabel->Hide(); + projectRadio->Bind(wxEVT_RADIOBUTTON, &UploadOptionsDialog::OnRadioButtonSelected, this); + singleRadio->Bind(wxEVT_RADIOBUTTON, &UploadOptionsDialog::OnRadioButtonSelected, this); + // Bind combo box selection change to validation + printerTypeComboBox->Bind(wxEVT_COMBOBOX, &UploadOptionsDialog::OnPrinterTypeChanged, this); + ValidateOkButton(); // Initial validation + Slic3r::GUI::wxGetApp().UpdateDlgDarkUI(this); + + CenterOnParent(); + } + + void OnRadioButtonSelected(wxCommandEvent& event) + { + wxRadioButton* selectedRadio = dynamic_cast(event.GetEventObject()); + if (selectedRadio) { + wxString label = selectedRadio->GetLabel(); + if (label == wxString("Project File")) { + projectsComboBox->Show(); + projectsLabel->Show(); + } else { + projectsComboBox->Hide(); + projectsLabel->Hide(); + } + Layout(); + } + } + + void on_dpi_changed(const wxRect& suggested_rect) {} + + void OnPrinterTypeChanged(wxCommandEvent& event) + { + ValidateOkButton(); + event.Skip(); + } + + void ValidateOkButton() + { + bool hasSelection = (printerTypeComboBox->GetSelection() != wxNOT_FOUND); + okButton->Enable(hasSelection); + } + + void GetValues(std::string& project, std::string& printer_type) + { + project = projectRadio->GetValue() ? std::string(projectsComboBox->GetValue().c_str()) : ""; + printer_type = std::string(printerTypeComboBox->GetValue().c_str()); + } + +private: + wxComboBox* projectsComboBox; + wxComboBox* printerTypeComboBox; + wxStaticText* projectsLabel; + wxStaticText* printerWarningLabel; + wxRadioButton* singleRadio; + wxRadioButton* projectRadio; + wxButton* okButton; +}; + + +class TokenAuthDialog : public Slic3r::GUI::DPIDialog +{ +public: + TokenAuthDialog(wxWindow* parent, const std::string &url, const std::string& token, const std::string &cafile, pt::ptree& resp) + : Slic3r::GUI::DPIDialog(parent, + wxID_ANY, + "3DPrinterOS", + wxDefaultPosition, + wxSize(45 * Slic3r::GUI::wxGetApp().em_unit(), -1), + wxDEFAULT_DIALOG_STYLE) + , m_url(url) + , m_token(token) + , m_cafile(cafile) + , m_resp(resp) + { + SetFont(Slic3r::GUI::wxGetApp().normal_font()); + SetBackgroundColour(*wxWHITE); + SetForegroundColour(*wxBLACK); + + auto* sizer = new wxBoxSizer(wxVERTICAL); + sizer->Add(new wxStaticText(this, wxID_ANY, "Authorizing..."), 1, wxALL | wxCENTER, 10); + auto* cancelBtn = new wxButton(this, wxID_CANCEL, "Cancel"); + sizer->Add(cancelBtn, 0, wxALL | wxALIGN_CENTER, 10); + SetSizerAndFit(sizer); + + Bind(wxEVT_THREAD, [this](wxThreadEvent& e) { EndModal(e.GetId()); }); + Bind(wxEVT_TIMER, &TokenAuthDialog::OnRetry, this); + Bind(wxEVT_SHOW, &TokenAuthDialog::OnShow, this); + Bind(wxEVT_BUTTON, &TokenAuthDialog::OnCancel, this, wxID_CANCEL); + + m_timer.SetOwner(this); + Slic3r::GUI::wxGetApp().UpdateDlgDarkUI(this); + CenterOnParent(); + } + + void on_dpi_changed(const wxRect& suggested_rect) {} + +private: + + void OnShow(wxShowEvent& event) + { + if (event.IsShown() && !m_started) { + m_started = true; + SendRequest(); + } + event.Skip(); + } + + void OnCancel(wxCommandEvent&) + { + m_cancelled = true; + if (m_http_ptr) { + m_http_ptr->cancel(); // abort the background request + } + EndModal(wxID_CANCEL); + } + + void OnRetry(wxTimerEvent&) { SendRequest(); } + + void SendRequest() + { + if (m_cancelled || m_attempt >= m_max_retries) { + if (m_attempt >= m_max_retries) { + m_resp.put("result", false); + m_resp.put("message", "Maximum login retries exceeded"); + } + wxQueueEvent(this, new wxThreadEvent(wxEVT_THREAD, wxID_ABORT)); + return; + } + + m_attempt++; + std::string postBody = "token=" + m_token; + auto http = Slic3r::Http::post(m_url); + http.timeout_max(60); + if (!m_cafile.empty()) { + http.ca_file(m_cafile); + } + http.header("Content-Length", std::to_string(postBody.size())); + http.set_post_body(postBody); + http.on_error([this](std::string, std::string error, unsigned status) { + if (!m_cancelled) { + m_resp.put("result", false); + m_resp.put("message", (status != 200) ? "HTTP error: " + std::to_string(status) : error); + wxQueueEvent(this, new wxThreadEvent(wxEVT_THREAD, wxID_ABORT)); + } + }) + .on_complete([this](std::string body, unsigned status) { + if (!m_cancelled) { + if (status != 200) { + m_resp.put("result", false); + m_resp.put("message", "HTTP error: " + std::to_string(status)); + wxQueueEvent(this, new wxThreadEvent(wxEVT_THREAD, wxID_ABORT)); + return; + } + + try { + std::stringstream ss(body); + pt::read_json(ss, m_resp); + } catch (...) { + m_resp.put("result", false); + m_resp.put("message", "Could not parse server response"); + } + + if (m_resp.get("result", false) && m_resp.get_optional("message.session").has_value()) { + wxQueueEvent(this, new wxThreadEvent(wxEVT_THREAD, wxID_OK)); + } else if (m_resp.get("result", false)) { + if (m_attempt < m_max_retries) + m_timer.StartOnce(m_retry_delay_ms); + else + wxQueueEvent(this, new wxThreadEvent(wxEVT_THREAD, wxID_ABORT)); + } else { + wxQueueEvent(this, new wxThreadEvent(wxEVT_THREAD, wxID_ABORT)); + } + } + }); + m_http_ptr = http.perform(); + } + +private: + std::string m_token; + std::string m_url; + std::string m_cafile; + pt::ptree& m_resp; + wxTimer m_timer; + std::shared_ptr m_http_ptr; + bool m_cancelled{false}; + bool m_started{false}; + int m_attempt{0}; + const int m_max_retries{10}; + const int m_retry_delay_ms{500}; +}; +} // namespace + +namespace Slic3r { + +static const std::string API_CREDENTIALS_PATH = "3dprinteros_api_cred.json"; + +C3DPrinterOS::C3DPrinterOS(DynamicPrintConfig *config) + : m_host(config->opt_string("print_host")) + , m_apikey(config->opt_string("printhost_apikey")) + , m_preset_name(config->opt_string("printer_model")) +{ + m_api_session_file_path = (boost::filesystem::path(Slic3r::data_dir()) / API_CREDENTIALS_PATH) + .make_preferred() + .string(); + load_api_session(); +} + +const char *C3DPrinterOS::get_name() const { return "3DPrinterOS"; } + +bool C3DPrinterOS::test(wxString &msg) const +{ + return check_session(msg); +} + +bool C3DPrinterOS::login(wxString& msg) const +{ + // Get token for auth + msg.clear(); + std::string token = get_api_auth_token(msg); + if (token.empty()) { + msg = "Error. Can't get api token for authorization"; + return false; + } + + auto login_url = make_url("noauth/apiglobal_login_with_token/" + token); + wxLaunchDefaultBrowser(login_url); + pt::ptree login_resp; + login_with_token(login_resp, token); + std::string session, email; + try { + if (login_resp.get("result")) { + session = login_resp.get("message.session"); + email = login_resp.get("message.email"); + } else { + msg = wxString(login_resp.get("message").c_str()); + return false; + } + } catch (const std::exception&) { + msg = "Could not parse server response"; + return false; + } + bool res = save_api_session(session, email); + if (!res) { + msg = "Error saving session to file"; + } + return res; +} + +wxString C3DPrinterOS::get_test_ok_msg() const +{ + return _("Connection to 3DPrinterOS cloud works correctly.") + (!m_username.empty() ? "" + _(" Logined as user: ") + m_username : ""); +} + +wxString C3DPrinterOS::get_test_failed_msg(wxString &msg) const +{ + return GUI::format_wxstr("%s: %s\n\n", _L("Error session check"), msg); +} + +bool C3DPrinterOS::upload( + PrintHostUpload upload_data, ProgressFn prorgess_fn, ErrorFn error_fn, InfoFn info_fn +) const +{ + const char *name = get_name(); + const auto upload_filename = upload_data.upload_path.filename(); + const auto upload_parent_path = upload_data.upload_path.parent_path(); + wxString test_msg; + if (!check_session(test_msg)) { + error_fn(std::move(test_msg)); + return false; + } + + pt::ptree cloud_project_resp; + pt::ptree cloud_printer_types_resp; + + get_cloud_projects_list(cloud_project_resp); + get_cloud_printer_types(cloud_printer_types_resp, m_preset_name); + wxArrayString cloud_projects_list; + wxArrayString cloud_printer_types_list; + + try { + if (cloud_project_resp.get("result")) { + for (const auto &messageItem : cloud_project_resp.get_child("message")) { + cloud_projects_list.Add(messageItem.second.get("name")); + } + } + + if (cloud_printer_types_resp.get("result")) { + for (const auto &messageItem : cloud_printer_types_resp.get_child("message")) { + cloud_printer_types_list.Add(messageItem.second.get("description")); + } + } + } catch (const std::exception &) { + error_fn("Could not parse server response"); + return false; + } + + // Show "Confirm cloud printer type and project for 3DPrinterOS upload + + UploadOptionsDialog dlg(GUI::wxGetApp().GetTopWindow(), cloud_projects_list, cloud_printer_types_list, m_preset_name); + + if (dlg.ShowModal() != wxID_OK) { + error_fn("Canceled"); + return false; + } + + std::string selected_project; + std::string selected_printer_type; + dlg.GetValues(selected_project, selected_printer_type); + std::string project_id; + std::string printer_type_id; + + // search for cloud project_id by name + if (!selected_project.empty()) { + for (const auto& messageItem : cloud_project_resp.get_child("message")) { + if (messageItem.second.get("name", "") == selected_project) { + project_id = messageItem.second.get("id", ""); + break; + } + } + } + + // search for cloud printer_type_id by name + for (const auto& messageItem : cloud_printer_types_resp.get_child("message")) { + if (messageItem.second.get("description", "") == selected_printer_type) { + printer_type_id = messageItem.second.get("id", ""); + break; + } + } + + bool res = true; + auto url = make_url("apiglobal/upload"); + std::string file_id; + pt::ptree uploadResponse; + auto http = Http::post(std::move(url)); + if (!m_cafile.empty()) { + http.ca_file(m_cafile); + } + http.form_add("session", m_apikey) + .form_add("upload_type_id", "7") + .form_add("upload_soft_name", "OrcaSlicer") + .form_add("zip", "false") + .form_add_file("file", upload_data.source_path.string(), upload_filename.string()); + + if (!project_id.empty()) { + http.form_add("project_id", project_id); + } else if (!selected_project.empty()) { + http.form_add("project_name", selected_project); + http.form_add("project_color", "grey"); + } + + http.on_complete([&](std::string body, unsigned status) { + std::stringstream ss(body); + try { + pt::read_json(ss, uploadResponse); + } catch (const std::exception &) { + uploadResponse.put("result", false); + uploadResponse.put("message", "Could not parse server response"); + } + }) + .on_error([&](std::string body, std::string error, unsigned status) { + error_fn(format_error(body, error, status)); + res = false; + }) + .on_progress([&](Http::Progress progress, bool &cancel) { + prorgess_fn(std::move(progress), cancel); + if (cancel) { + res = false; + } + }) + .perform_sync(); + + try { + if (uploadResponse.get("result")) { + file_id = uploadResponse.get("message.file_id"); + } else { + res = false; + error_fn(uploadResponse.get("message")); + } + } catch (const std::exception &) { + res = false; + error_fn("Error during file upload"); + } + // set printer type for uploaded gcode + if (res) { + pt::ptree update_file_response; + update_file(update_file_response, file_id, printer_type_id, "OrcaSlicer"); + try { + if (!update_file_response.get("result")) { + const std::string msg = update_file_response.get("message", "Unknown update error"); + BOOST_LOG_TRIVIAL(warning) << "Failed to update uploaded file: " << msg; + } + } catch (const std::exception& ex) { + BOOST_LOG_TRIVIAL(warning) << "Could not parse update response: " << ex.what(); + } + if (upload_data.post_action == PrintHostPostUploadAction::StartPrint && !upload_data.use_3mf) { + auto quick_print_url = make_url("quickprint?file_id=" + file_id); + wxLaunchDefaultBrowser(quick_print_url); + } + } + + return res; +} + +void C3DPrinterOS::log_out() const +{ + boost::filesystem::remove(m_api_session_file_path.c_str()); +} + +bool C3DPrinterOS::validate_version_text(const boost::optional &version_text) const +{ + return version_text ? boost::starts_with(*version_text, "3DPrinterOS") : true; +} + +std::string C3DPrinterOS::make_url(const std::string &path) const +{ + if (m_host.find("http://") == 0 || m_host.find("https://") == 0) { + if (m_host.back() == '/') { + return (boost::format("%1%%2%") % m_host % path).str(); + } else { + return (boost::format("%1%/%2%") % m_host % path).str(); + } + } else { + return (boost::format("https://%1%/%2%") % m_host % path).str(); + } +} + +std::string C3DPrinterOS::get_api_auth_token(wxString &err) const +{ + std::string result; + pt::ptree resp; + std::string postBody = "app_type=plugin&app_name=" + Http::url_encode("OrcaSlicer"); + send_form("apiglobal/generate_login_token", postBody, resp); + try { + if (resp.get("result")) { + result = resp.get("message"); + } else { + err = wxString(resp.get("message").c_str()); + } + } catch (const std::exception &) { + err = "Could not parse server response"; + } + return result; +} + +void C3DPrinterOS::login_with_token(pt::ptree &resp, const std::string &token) const { + auto url = make_url("apiglobal/login_with_token"); + TokenAuthDialog dlg(GUI::wxGetApp().GetTopWindow(), url, token, m_cafile, resp); + dlg.ShowModal(); +} + +bool C3DPrinterOS::check_session(wxString &msg) const { + std::string postBody = "session=" + m_apikey; + pt::ptree resp; + send_form("apiglobal/check_session", postBody, resp); + try { + if (resp.get("result")) { + return true; + } else { + msg = wxString(resp.get("message").c_str()); + return false; + } + + } catch (const std::exception &) { + msg = wxString("Could not parse server response"); + return false; + } + return false; +} + +bool C3DPrinterOS::save_api_session(const std::string &session, const std::string &email) const { + pt::ptree j; + j.put("session", session); + j.put("email", email); + try { + auto temp_path = m_api_session_file_path + ".tmp"; + pt::write_json(temp_path, j); + boost::filesystem::rename(temp_path, m_api_session_file_path); + } catch (const std::exception &err) { + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": failed to write json to file. Path = " + << m_api_session_file_path + << " Reason = " << err.what(); + return false; + } + return true; +} + +void C3DPrinterOS::load_api_session() +{ + m_apikey.clear(); + if (boost::filesystem::exists(m_api_session_file_path)) { + pt::ptree j; + try { + pt::read_json(m_api_session_file_path, j); + m_apikey = j.get("session"); + m_username = j.get("email"); + } catch (const std::exception &err) { + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": load_api_session failed, reason = " << err.what(); + // remove corrupted file to avoid repeated failures + try { + boost::filesystem::remove(m_api_session_file_path); + } catch (...) {} + } + }; +} + +void C3DPrinterOS::send_form( + const std::string &endpoint, + const std::string &postBody, + boost::property_tree::ptree &responseTree +) const +{ + responseTree.clear(); + auto url = make_url(endpoint); + auto http = Http::post(std::move(url)); + if (!m_cafile.empty()) { + http.ca_file(m_cafile); + } + http.header("Content-length", std::to_string(postBody.size())); + http.set_post_body(postBody); + http.on_error([&](std::string body, std::string error, unsigned status) { + BOOST_LOG_TRIVIAL(error) << boost::format("Error sending form: %1%") % error; + responseTree.put("result", false); + responseTree.put("message", error); + }) + .on_complete([&, this](std::string body, unsigned) { + std::stringstream ss(body); + try { + pt::read_json(ss, responseTree); + } catch (const std::exception &) { + responseTree.put("result", false); + responseTree.put("message", "Could not parse server response"); + } + }) + .perform_sync(); +} + +void C3DPrinterOS::get_cloud_projects_list(boost::property_tree::ptree &response) const +{ + std::string postBody = std::string("session=" + m_apikey); + send_form("apiglobal/get_projects", postBody, response); +} + +void C3DPrinterOS::get_cloud_printer_types(boost::property_tree::ptree &response, const std::string &query) const +{ + std::string postBody = std::string("session=" + m_apikey); + if (!query.empty()) { + postBody += "&description=" + Http::url_encode(query) + "&software_version=" + Http::url_encode("OrcaSlicer"); + } + send_form("apiglobal/get_printer_types", postBody, response); +} + +void C3DPrinterOS::update_file(boost::property_tree::ptree &response, const std::string &file_id, const std::string &ptype, const std::string >ype) const +{ + std::string postBody = "session=" + m_apikey + + "&updates[" + file_id + "][ptype]=" + ptype + + "&updates[" + file_id + "][gtype]=" + Http::url_encode(gtype) + + "&updates[" + file_id + "][zip]=false"; + send_form("apiglobal/file_update", postBody, response); +} + +}; + // namespace Slic3r diff --git a/src/slic3r/Utils/3DPrinterOS.hpp b/src/slic3r/Utils/3DPrinterOS.hpp new file mode 100755 index 0000000000..8c8e4ca6dc --- /dev/null +++ b/src/slic3r/Utils/3DPrinterOS.hpp @@ -0,0 +1,80 @@ +#ifndef slic3r_3DPrinterOS_hpp_ +#define slic3r_3DPrinterOS_hpp_ + +#include +#include +#include +#include + +#include "PrintHost.hpp" +#include "slic3r/GUI/GUI.hpp" + + + +namespace Slic3r { + +class DynamicPrintConfig; +class Http; + + +class C3DPrinterOS : public PrintHost +{ +public: + C3DPrinterOS(DynamicPrintConfig *config); + ~C3DPrinterOS() override = default; + + const char* get_name() const override; + bool test(wxString &curl_msg) const override; + bool login(wxString &msg) const; + wxString get_test_ok_msg () const override; + wxString get_test_failed_msg (wxString &msg) const override; + bool upload(PrintHostUpload upload_data, ProgressFn prorgess_fn, ErrorFn error_fn, InfoFn info_fn) const override; + bool has_auto_discovery() const override { return false; } + bool can_test() const override { return true; } + bool is_cloud() const override { return true; } + void log_out() const override; + bool is_logged_in() const override { return !m_apikey.empty(); } + PrintHostPostUploadActions get_post_upload_actions() const override { return PrintHostPostUploadAction::StartPrint | PrintHostPostUploadAction::QueuePrint; } + std::string get_host() const override { return m_host; } + static std::string default_host() { return "https://cloud.3dprinteros.com"; } + +protected: + bool validate_version_text(const boost::optional &version_text) const; + +private: + std::string m_host; + std::string m_apikey; + std::string m_cafile; + std::string m_username; + std::string m_host_type; + std::string m_preset_name; + std::string m_api_session_file_path; + + void load_api_session(); + bool save_api_session(const std::string &session, const std::string &email) const; + std::string parse_printer_model(const std::string& input) const; + std::string make_url(const std::string &path) const; + std::string get_api_auth_token(wxString &err) const; + void login_with_token(boost::property_tree::ptree &resp, const std::string &token) const; + bool check_session(wxString &msg) const; + void send_form( + const std::string &endpoint, + const std::string &postBody, + boost::property_tree::ptree &responseTree + ) const; + + + void get_cloud_projects_list(boost::property_tree::ptree &response) const; + void get_cloud_printer_types(boost::property_tree::ptree &response, const std::string &querry) const; + void update_file( + boost::property_tree::ptree &response, + const std::string &file_id, + const std::string &ptype, + const std::string >ype + ) const; + +}; + +} + +#endif diff --git a/src/slic3r/Utils/PrintHost.cpp b/src/slic3r/Utils/PrintHost.cpp index 3ed4e07382..e64220d30a 100644 --- a/src/slic3r/Utils/PrintHost.cpp +++ b/src/slic3r/Utils/PrintHost.cpp @@ -27,6 +27,7 @@ #include "Flashforge.hpp" #include "SimplyPrint.hpp" #include "ElegooLink.hpp" +#include "3DPrinterOS.hpp" namespace fs = boost::filesystem; using boost::optional; @@ -67,6 +68,7 @@ PrintHost* PrintHost::get_print_host(DynamicPrintConfig *config) case htFlashforge: return new Flashforge(config); case htSimplyPrint: return new SimplyPrint(config); case htElegooLink: return new ElegooLink(config); + case ht3DPrinterOS: return new C3DPrinterOS(config); default: return nullptr; } } else { From 9a053f15eb4e2115cfebfa69ba66a3d6667bb087 Mon Sep 17 00:00:00 2001 From: gedanke Date: Wed, 3 Jun 2026 20:34:18 +0200 Subject: [PATCH 64/69] Fix: macOS Print/Export dropdown dismissed before the cursor reaches the menu (#12936) (#13995) Since the wxWidgets 3.3 upgrade the Slice/Print split-button's transient popup was dismissed the moment the cursor entered the gap between the button and the menu, making "Print -> Export" impossible to select. Anchor the menu flush against the button (with a 2 px overlap) instead of 6 px below it, removing the dead-zone the cursor had to cross. Co-authored-by: Claude Opus 4.6 --- src/slic3r/GUI/Widgets/SideMenuPopup.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Widgets/SideMenuPopup.cpp b/src/slic3r/GUI/Widgets/SideMenuPopup.cpp index 392d62e547..caa6c8f802 100644 --- a/src/slic3r/GUI/Widgets/SideMenuPopup.cpp +++ b/src/slic3r/GUI/Widgets/SideMenuPopup.cpp @@ -56,15 +56,22 @@ void SidePopup::Popup(wxWindow* focus) } if (focus) { wxPoint pos = focus->ClientToScreen(wxPoint(0, -6)); + int anchor_h = focus->GetSize().y + 12; #ifdef __APPLE__ pos.x = pos.x - FromDIP(20); + // Orca #12936: since the wxWidgets 3.3 upgrade the transient popup is dismissed the + // instant the cursor enters the gap between the button and the menu, making + // "Print -> Export" unselectable. Anchor the menu flush against the button (slight + // overlap) so there is no dead-zone for the cursor to cross. + pos.y = focus->ClientToScreen(wxPoint(0, 0)).y; + anchor_h = focus->GetSize().y - 2; #endif // __APPLE__ if (pos.x + max_width > screenwidth) - Position({pos.x - (pos.x + max_width - screenwidth),pos.y}, {0, focus->GetSize().y + 12}); + Position({pos.x - (pos.x + max_width - screenwidth), pos.y}, {0, anchor_h}); else - Position(pos, {0, focus->GetSize().y + 12}); + Position(pos, {0, anchor_h}); } Slic3r::GUI::wxGetApp().set_side_menu_popup_status(true); PopupWindow::Popup(); From dfe4b5282204eca4ac3cbf5f52f2f882986da75a Mon Sep 17 00:00:00 2001 From: Terasit Juntarasombut <93132156+Icezaza2543@users.noreply.github.com> Date: Thu, 4 Jun 2026 01:35:47 +0700 Subject: [PATCH 65/69] l10n: Update Thai translation (th) and fix font issues (#14006) * i18n: complete Thai (th) localization * feat: fix thi translation * feat: fix Thai language localization file * feat: implement ImGuiWrapper with icon/font support and add Thai localization files * l10n: Update Thai translation and fix font rendering issues --------- Co-authored-by: SoftFever --- localization/i18n/th/OrcaSlicer_th.po | 38 +++++++++++++++++--------- resources/fonts/Sarabun-Medium.ttf | Bin 0 -> 90292 bytes resources/fonts/Sarabun-SemiBold.ttf | Bin 0 -> 90200 bytes src/slic3r/GUI/ImGuiWrapper.cpp | 8 ++++++ 4 files changed, 33 insertions(+), 13 deletions(-) create mode 100644 resources/fonts/Sarabun-Medium.ttf create mode 100644 resources/fonts/Sarabun-SemiBold.ttf diff --git a/localization/i18n/th/OrcaSlicer_th.po b/localization/i18n/th/OrcaSlicer_th.po index 4da62aac06..7777cff221 100644 --- a/localization/i18n/th/OrcaSlicer_th.po +++ b/localization/i18n/th/OrcaSlicer_th.po @@ -4,7 +4,19 @@ # Icezaza, 2026. # msgid "" -msgstr "Project-Id-Version: Orca Slicer\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2026-05-22 02:24+0800\nPO-Revision-Date: 2026-05-28 22:39+0700\nLast-Translator: Icezaza\nLanguage-Team: Thai\nLanguage: th\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPlural-Forms: nplurals=1; plural=0;\nX-Generator: Codex Thai translation bootstrap" +msgstr "" +"Project-Id-Version: Orca Slicer\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-22 02:24+0800\n" +"PO-Revision-Date: 2026-05-28 22:39+0700\n" +"Last-Translator: Icezaza\n" +"Language-Team: Thai\n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Codex Thai translation bootstrap\n" msgid "right" msgstr "ขวา" @@ -9608,10 +9620,10 @@ msgid "Normal" msgstr "ปกติ" msgid "Resonance Compensation" -msgstr "การชดเชยเสียงสะท้อน" +msgstr "การชดเชยการสั่นพ้อง" msgid "Resonance Avoidance Speed" -msgstr "ความเร็วการหลีกเลี่ยงเสียงสะท้อน" +msgstr "ความเร็วการหลีกเลี่ยงการสั่นพ้อง" msgid "Frequency" msgstr "ความถี่" @@ -9758,7 +9770,7 @@ msgid "Continue" msgstr "ดำเนินการต่อ" msgid "Back" -msgstr "ย้อนกลับ" +msgstr "หลัง" msgid "Don't warn again for this preset" msgstr "ไม่ต้องเตือนอีกสำหรับค่าที่กำหนดล่วงหน้านี้" @@ -9799,7 +9811,7 @@ msgid "Transfer" msgstr "โอนย้าย" msgid "Don't save" -msgstr "อย่าบันทึก" +msgstr "ไม่บันทึก" msgid "Discard" msgstr "ทิ้ง" @@ -11852,10 +11864,10 @@ msgid "" msgstr "สร้างเส้นทางรอบขอบเพิ่มไส้ในเหนือส่วนยื่นสูงชันและพื้นที่ที่ไม่สามารถทอดสมอสะพานได้" msgid "Reverse on even" -msgstr "ย้อนกลับในคู่" +msgstr "กลับด้านหน้าเลขคู่" msgid "Overhang reversal" -msgstr "การกลับรายการยื่นออกมา" +msgstr "การกลับด้านส่วนยื่นออกมา" msgid "" "Extrude perimeters that have a part over an overhang in the reverse " @@ -11867,7 +11879,7 @@ msgid "" msgstr "รีดเส้นรอบวงที่มีส่วนยื่นออกมาในทิศทางย้อนกลับบนชั้นคู่ รูปแบบการสลับนี้สามารถปรับปรุงระยะยื่นที่สูงชันได้อย่างมาก\n\nการตั้งค่านี้ยังช่วยลดการบิดงอของชิ้นส่วนเนื่องจากการลดความเค้นในผนังชิ้นส่วนอีกด้วย" msgid "Reverse only internal perimeters" -msgstr "ย้อนกลับเฉพาะขอบเขตภายในเท่านั้น" +msgstr "กลับด้านเฉพาะขอบเขตภายในเท่านั้น" msgid "" "Apply the reverse perimeters logic only on internal perimeters.\n" @@ -11902,7 +11914,7 @@ msgid "Sacrificial layer" msgstr "ชั้นบูชายัญ" msgid "Reverse threshold" -msgstr "เกณฑ์ย้อนกลับ" +msgstr "เกณฑ์การกลับด้าน" msgid "Overhang reversal threshold" msgstr "เกณฑ์การกลับรายการส่วนเกิน" @@ -14395,25 +14407,25 @@ msgid "Maximum acceleration for travel (M204 T), it only applies to Marlin 2." msgstr "อัตราเร่งสูงสุดสำหรับการเดินทาง (M204 T) ใช้กับ Marlin 2 เท่านั้น" msgid "Resonance avoidance" -msgstr "การหลีกเลี่ยงเสียงสะท้อน" +msgstr "การหลีกเลี่ยงการสั่นพ้อง" msgid "" "By reducing the speed of the outer wall to avoid the resonance zone of the " "printer, ringing on the surface of the model are avoided.\n" "Please turn this option off when testing ringing." -msgstr "โดยการลดความเร็วของผนังด้านนอกเพื่อหลีกเลี่ยงโซนเสียงสะท้อนของเครื่องพิมพ์ หลีกเลี่ยงเสียงกริ่งบนพื้นผิวของแบบจำลอง\nโปรดปิดตัวเลือกนี้เมื่อทดสอบเสียงเรียกเข้า" +msgstr "โดยการลดความเร็วของผนังด้านนอกเพื่อหลีกเลี่ยงโซนสั่นพ้องของเครื่องพิมพ์ หลีกเลี่ยงรอยคลื่นบนพื้นผิวของโมเดล\nโปรดปิดตัวเลือกนี้เมื่อทดสอบการสั่นพ้อง" msgid "Min" msgstr "นาที" msgid "Minimum speed of resonance avoidance." -msgstr "ความเร็วขั้นต่ำของการหลีกเลี่ยงเสียงสะท้อน" +msgstr "ความเร็วขั้นต่ำของการหลีกเลี่ยงเสียงการสั่นพ้อง" msgid "Max" msgstr "สูงสุด" msgid "Maximum speed of resonance avoidance." -msgstr "ความเร็วสูงสุดของการหลีกเลี่ยงเสียงสะท้อน" +msgstr "ความเร็วสูงสุดของการหลีกเลี่ยงการสั่นพ้อง" msgid "Emit input shaping" msgstr "ปล่อยรูปร่างอินพุต" diff --git a/resources/fonts/Sarabun-Medium.ttf b/resources/fonts/Sarabun-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..baa59c922d9a4f1fa8dc74dec00983dc458b1cc0 GIT binary patch literal 90292 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�%=Bm6Y~il0G*?62^%{2V{eFQ_Ll$3Lwe z!&%pp>QO`#{SCj!zvY+sWqyTUMf8T(`1kw={v*H6Z}6M^C;l_P#c%UFh!OBt{u>@! zQ4xx8B!cs=-bggk7uh1x9~p=YMz)L$MHWRC<5X;EWUHQ)6XWC2^km)NUO@ygsXLF{U)@6*#N?FFGN2Q#WRN$nYzVx(Ls0X#abWjRv{ze1|t<*|h zq1E*J(ymSivxQ2%(3+mA`bQ3Ai$T*XU@hH@<_aDLBB=*n)4;U^ujNKv%|_JKolI*+ zxXB7tS)n2;++-62?i_d-B7|qseXbDd8bYN#8{J!D7~FfF$gs(>9cN(g1<)L;XP-&0 zZiYJP!F{^N*shb{75he4%xM6U&70m?kz97PZ-o%D!VnT&(X3R9{@}jdz$`nSijHdm zM#txbfZ9yYILI!+UVL2G^UT` z*n%b{Xi{!;qElA!kXy^njYv8sX+}~JyDKttQ@s=OGIE8myb$KLWhTg6cW9zZMiXK_ z6UKacC&CLZI-!jyy3Vk_Zl3-Ab;XKb_ZyW)bX}?LZSn`#&o_ny+U}^RBcF(_*Ii6? zUZk8KjUKGQ4jjDTdKhz}2MjkFmL2ux-fIRc)RBT|8rHu83ocAqD*@WlCe^UlZfjVKE9+zu4x=#LiX^lZD9Ahz;RU-J?5 zJ6bdCD_F?N3K>~pCz~Ab=inO2WrXrfrVnQp+CBPRUPmLeoa9)vq%jSa=BYGB% zTW&1XeZN-qYQ;(+TGe8WR_7#yF4>+cXf?dYMNDy#L0qsW;?bJXNX?rG8qInzQ}&~^ z4loI^w>dX867lEU(^xd9WH%UexTm_2N4yBnB+b}&e_V?nAN3sMoc+jdVQy{&oKxI$1~2y)x95@c?E zsMRH#me^HG+)_)srIv9^vxe>2dA9p!=iJh)aZ8)$8;vE6iW>6C=;lthBy8u$qDN`4 z14k{mP{!iXl6FfW9LE~baIE;45lGzl6$Gp{f^aR(qUBoJsE`^tyO!ziTE<_wmKGS= zH33MCU|ma#3S}c;*V3XwIXf863s@9bZXzl9RG8OS8{E#~&B1y&?`GMn3|IX|L+ah7 z#Q>+8MNc<0pcH*=0b+h>GgytY%8d(KY-y;ay0}o6kotsBpOE%MyIrJbRO#48 z^^P^F$060@km_+r^*E$@98%3EQZ03)nlq%DGo+d`n69D2G82krWegpbnM%?3N@U`#V9a>3NA zwU-pR7`T?36uBVEj%gRGG9D4_qPe8-H>&jkeziWpkCaD@eyntEV5(AT)%_xtgN8+8 zu(*xUCPkE=5W_Q07gw2}c67aC$yIBmWn5h9Gs&SsPz`F+5J=OjZ|*4uwNj7Uss{#N z#_6e6>YfxdGRI1%qBDL2{iRyeoe}blx*YN9NR4_N@gNpfKwiBb%(i9*bgFO7^y_Rf zn5~&y)t_o=@X2hdf2vZg`o+oM$i8O1;+0x6rUm;tT`uYcx05tGA}1;Kku*y%lnr4? zvv$dk<_+_txLp=wzjA z)=HLRc4}xh%5k#BTR7PLgyZ7kI^)(zzxM37?K0V~oq3p(J_cr7+;ZIP4KdazHg2W+ z_2kkqA~94Bf{or}unF9>;nGetGlyphRangesKorean()) { font_name_regular = "NanumGothic-Regular.ttf"; font_name_bold = "NanumGothic-Bold.ttf"; + } else if (m_glyph_ranges == ImGui::GetIO().Fonts->GetGlyphRangesThai()) { + font_name_regular = "Sarabun-Medium.ttf"; + font_name_bold = "Sarabun-SemiBold.ttf"; } default_font = io.Fonts->AddFontFromFileTTF((Slic3r::resources_dir() + "/fonts/" + font_name_regular).c_str(), m_font_size, &cfg, ranges.Data); if (default_font == nullptr) { @@ -2804,6 +2807,11 @@ void ImGuiWrapper::init_font(bool compress) if (bold_font == nullptr) { throw Slic3r::RuntimeError("ImGui: Could not load deafult font"); } } + if (m_glyph_ranges == ImGui::GetIO().Fonts->GetGlyphRangesThai()) { + default_font->Scale *= 1.25f; + bold_font->Scale *= 1.25f; + } + #ifdef _WIN32 // Render the text a bit larger (see GLCanvas3D::_resize() and issue #3401), but only if the scale factor // for the Display is greater than 300%. From 58a8722a6993de3aff4851137b51102a70dfb7cf Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Thu, 4 Jun 2026 09:02:09 +0800 Subject: [PATCH 66/69] Don't show unsupported presets in drop down list (#13959) * Don't show unsupported presets in drop down list, since it's not useful * Add option to show unsupported presets * Explicitly set the default value to `false` * update filament list without restart on preference change --------- Co-authored-by: yw4z --- src/libslic3r/AppConfig.cpp | 3 +++ src/slic3r/GUI/Preferences.cpp | 7 +++++++ src/slic3r/GUI/PresetComboBoxes.cpp | 4 +++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index 13782fbad2..f8e6d87f6d 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -326,6 +326,9 @@ void AppConfig::set_defaults() if (get("developer_mode").empty()) set_bool("developer_mode", false); + if (get("show_unsupported_presets").empty()) + set_bool("show_unsupported_presets", false); + if (get("enable_ssl_for_mqtt").empty()) set_bool("enable_ssl_for_mqtt", true); diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 8720da84a1..31b3ba95a7 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -1040,6 +1040,10 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxString too } } + if (param == "show_unsupported_presets") { + wxGetApp().plater()->sidebar().update_presets(Preset::TYPE_FILAMENT); + } + if (param == "enable_high_low_temp_mixed_printing") { if (checkbox->GetValue()) { const wxString warning_title = _L("Bed Temperature Difference Warning"); @@ -1874,6 +1878,9 @@ void PreferencesDialog::create_items() auto item_keep_painting = create_item_checkbox(_L("(Experimental) Keep painted feature after mesh change"), _L("Attempt to keep painted features (color/seam/support/fuzzy etc.) after changing the object mesh (such as cut/reload from disk/simplify/fix etc.)\nHighly experimental! Slow and may create artifact."), "keep_painting"); g_sizer->Add(item_keep_painting); + auto item_show_unsupported = create_item_checkbox(_L("Show unsupported presets"), _L("Show incompatible/unsupported presets in the printer and filament dropdown lists. These presets cannot be selected."), "show_unsupported_presets"); + g_sizer->Add(item_show_unsupported); + g_sizer->Add(create_item_title(_L("Storage")), 1, wxEXPAND); auto item_allow_abnormal_storage = create_item_checkbox(_L("Allow Abnormal Storage"), _L("This allows the use of Storage that is marked as abnormal by the Printer.\nUse at your own risk, can cause issues!"), "allow_abnormal_storage"); g_sizer->Add(item_allow_abnormal_storage); diff --git a/src/slic3r/GUI/PresetComboBoxes.cpp b/src/slic3r/GUI/PresetComboBoxes.cpp index 70cbd5688a..a2a4422010 100644 --- a/src/slic3r/GUI/PresetComboBoxes.cpp +++ b/src/slic3r/GUI/PresetComboBoxes.cpp @@ -1408,7 +1408,9 @@ void PlaterPresetComboBox::update() add_presets(bundle_presets, selected_bundle_preset, L("Bundle presets"), bundle_group_name); // BBS: move system to the end add_presets(system_presets, selected_system_preset, L("System presets"), _L("System")); - add_presets(uncompatible_presets, {}, L("Unsupported presets"), _L("Unsupported") + " "); + // Orca: optionally show unsupported presets (controlled by developer preference, default off) + if (wxGetApp().app_config->get_bool("show_unsupported_presets")) + add_presets(uncompatible_presets, {}, L("Unsupported presets"), _L("Unsupported") + " "); //BBS: remove unused pysical printer logic /*if (m_type == Preset::TYPE_PRINTER) From dc5d6b45de6000c435e45d420a306f28c28906f7 Mon Sep 17 00:00:00 2001 From: Tobias Gloth Date: Thu, 4 Jun 2026 01:28:51 -0400 Subject: [PATCH 67/69] add "logfile" option to log diagnostics to file using boost (#13931) add some logging options Co-authored-by: SoftFever --- src/OrcaSlicer.cpp | 4 ++++ src/libslic3r/PrintConfig.cpp | 7 +++++++ src/libslic3r/Utils.hpp | 1 + src/libslic3r/utils.cpp | 5 +++++ 4 files changed, 17 insertions(+) diff --git a/src/OrcaSlicer.cpp b/src/OrcaSlicer.cpp index 2e445cadfd..f30550a4e3 100644 --- a/src/OrcaSlicer.cpp +++ b/src/OrcaSlicer.cpp @@ -1357,6 +1357,10 @@ int CLI::run(int argc, char **argv) else { set_logging_level(2); } + const ConfigOptionString* opt_logfile = m_config.opt("logfile"); + if (opt_logfile) { + set_logging_file(opt_logfile->value); + } global_begin_time = (long long)Slic3r::Utils::get_current_time_utc(); BOOST_LOG_TRIVIAL(warning) << boost::format("cli mode, Current OrcaSlicer Version %1%")%SoftFever_VERSION; diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 8da03fd969..2113b78467 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -9750,6 +9750,7 @@ void DynamicPrintConfig::update_values_to_printer_extruders_for_multiple_filamen BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(", Line %1%: can not find opt define for %2%")%__LINE__%key; continue; } + switch (optdef->type) { case coStrings: { @@ -10846,6 +10847,12 @@ CLIMiscConfigDef::CLIMiscConfigDef() def->cli_params = "level"; def->set_default_value(new ConfigOptionInt(1)); + def = this->add("logfile", coInt); + def->label = L("Log file"); + def->tooltip = L("Redirects debug logging to file.\n"); + def->cli_params = "file"; + def->set_default_value(new ConfigOptionString()); + def = this->add("enable_timelapse", coBool); def->label = L("Enable timelapse for print"); def->tooltip = L("If enabled, this slicing will be considered using timelapse."); diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp index 95ad6ea9d2..51cb2e5787 100644 --- a/src/libslic3r/Utils.hpp +++ b/src/libslic3r/Utils.hpp @@ -79,6 +79,7 @@ namespace boost { namespace filesystem { class directory_entry; }} namespace Slic3r { extern void set_logging_level(unsigned int level); +extern void set_logging_file(const std::string &file); extern unsigned int level_string_to_boost(std::string level); extern std::string get_string_logging_level(unsigned level); extern unsigned get_logging_level(); diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp index 2cccfbe02b..675286d3a1 100644 --- a/src/libslic3r/utils.cpp +++ b/src/libslic3r/utils.cpp @@ -129,6 +129,11 @@ void set_logging_level(unsigned int level) ); } +void set_logging_file(const std::string &file) +{ + boost::log::add_file_log(file); +} + unsigned int level_string_to_boost(std::string level) { std::map Control_Param; From a3e479af4e7351cf9759192f0b22dc5789d6dc51 Mon Sep 17 00:00:00 2001 From: gyarros Date: Thu, 4 Jun 2026 03:15:28 -0300 Subject: [PATCH 68/69] Add FilAr filament vendor (PLA, PLA-mate, PETG) (#13977) --- resources/profiles/OrcaFilamentLibrary.json | 252 ++++++++++++++++++ .../filament/FilAr/FilAr PETG @base.json | 53 ++++ .../FilAr/FilAr PETG Amarillo Lima.json | 14 + .../FilAr/FilAr PETG Amarillo Radiante.json | 14 + .../FilAr/FilAr PETG Azul Boreal.json | 14 + .../FilAr/FilAr PETG Azul Francia.json | 14 + .../FilAr/FilAr PETG Azul Imperial.json | 14 + .../FilAr/FilAr PETG Blanco Antartida.json | 14 + .../filament/FilAr/FilAr PETG Cian.json | 14 + .../filament/FilAr/FilAr PETG Coral.json | 14 + .../filament/FilAr/FilAr PETG Cristal.json | 14 + .../FilAr/FilAr PETG Gris Ceniza.json | 14 + .../filament/FilAr/FilAr PETG Gris Plata.json | 14 + .../filament/FilAr/FilAr PETG Magenta.json | 14 + .../FilAr/FilAr PETG Negro Azabache.json | 14 + .../FilAr/FilAr PETG Rojo Carmesi.json | 14 + .../filament/FilAr/FilAr PLA @base.json | 47 ++++ .../FilAr/FilAr PLA Amarillo Lirio.json | 14 + .../FilAr/FilAr PLA Azul Francia.json | 14 + .../FilAr/FilAr PLA Blanco Antartida.json | 14 + .../FilAr/FilAr PLA Blanco Calido.json | 14 + .../filament/FilAr/FilAr PLA Bronce.json | 14 + .../FilAr/FilAr PLA Cafe con Leche.json | 14 + .../filament/FilAr/FilAr PLA Carpincho.json | 14 + .../FilAr/FilAr PLA Celeste Cielo.json | 14 + .../filament/FilAr/FilAr PLA Cobre.json | 14 + .../filament/FilAr/FilAr PLA Dorado.json | 14 + .../filament/FilAr/FilAr PLA Gris Ceniza.json | 14 + .../FilAr/FilAr PLA Gris Pizarra.json | 14 + .../filament/FilAr/FilAr PLA Gris Plata.json | 14 + .../filament/FilAr/FilAr PLA Manteca.json | 14 + .../FilAr/FilAr PLA Marron Oxido.json | 14 + .../FilAr/FilAr PLA Naranja Tigre.json | 14 + .../FilAr/FilAr PLA Negro Azabache.json | 14 + .../filament/FilAr/FilAr PLA Oro.json | 14 + .../filament/FilAr/FilAr PLA Piel.json | 14 + .../FilAr/FilAr PLA Rojo de Carreras.json | 14 + .../FilAr/FilAr PLA Rosa Amaranto.json | 14 + .../FilAr/FilAr PLA Rosa Flamenco.json | 14 + .../filament/FilAr/FilAr PLA Tabaco.json | 14 + .../filament/FilAr/FilAr PLA Titanio.json | 14 + .../filament/FilAr/FilAr PLA Verde FilAr.json | 14 + .../FilAr/FilAr PLA Verde Manzana.json | 14 + .../filament/FilAr/FilAr PLA Verde Oliva.json | 14 + .../filament/FilAr/FilAr PLA Verde Pixel.json | 14 + .../FilAr/FilAr PLA Violeta Jacaranda.json | 14 + .../filament/FilAr/FilAr PLA-mate @base.json | 47 ++++ .../FilAr/FilAr PLA-mate Amarillo.json | 14 + .../filament/FilAr/FilAr PLA-mate Azul.json | 14 + .../filament/FilAr/FilAr PLA-mate Beige.json | 14 + .../filament/FilAr/FilAr PLA-mate Blanco.json | 14 + .../filament/FilAr/FilAr PLA-mate Bordo.json | 14 + .../FilAr/FilAr PLA-mate Celeste Cielo.json | 14 + .../FilAr/FilAr PLA-mate Chocolate.json | 14 + .../filament/FilAr/FilAr PLA-mate Gris.json | 14 + .../filament/FilAr/FilAr PLA-mate Marron.json | 14 + .../FilAr/FilAr PLA-mate Naranja.json | 14 + .../filament/FilAr/FilAr PLA-mate Negro.json | 14 + .../filament/FilAr/FilAr PLA-mate Piel.json | 14 + .../filament/FilAr/FilAr PLA-mate Rojo.json | 14 + .../filament/FilAr/FilAr PLA-mate Rosa.json | 14 + .../filament/FilAr/FilAr PLA-mate Uva.json | 14 + .../filament/FilAr/FilAr PLA-mate Verde.json | 14 + .../FilAr/FilAr PLA-mate Violeta.json | 14 + 64 files changed, 1239 insertions(+) create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Amarillo Lima.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Amarillo Radiante.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Boreal.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Francia.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Imperial.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Blanco Antartida.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Cian.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Coral.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Cristal.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Gris Ceniza.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Gris Plata.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Magenta.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Negro Azabache.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Rojo Carmesi.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Amarillo Lirio.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Azul Francia.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Blanco Antartida.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Blanco Calido.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Bronce.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Cafe con Leche.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Carpincho.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Celeste Cielo.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Cobre.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Dorado.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Ceniza.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Pizarra.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Plata.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Manteca.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Marron Oxido.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Naranja Tigre.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Negro Azabache.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Oro.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Piel.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rojo de Carreras.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rosa Amaranto.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rosa Flamenco.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Tabaco.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Titanio.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde FilAr.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Manzana.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Oliva.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Pixel.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Violeta Jacaranda.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate @base.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Amarillo.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Azul.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Beige.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Blanco.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Bordo.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Celeste Cielo.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Chocolate.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Gris.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Marron.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Naranja.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Negro.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Piel.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Rojo.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Rosa.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Uva.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Verde.json create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Violeta.json diff --git a/resources/profiles/OrcaFilamentLibrary.json b/resources/profiles/OrcaFilamentLibrary.json index 3a0072476b..dd6888f0a0 100644 --- a/resources/profiles/OrcaFilamentLibrary.json +++ b/resources/profiles/OrcaFilamentLibrary.json @@ -68,6 +68,258 @@ "name": "fdm_filament_pla", "sub_path": "filament/base/fdm_filament_pla.json" }, + { + "name": "FilAr PLA @base", + "sub_path": "filament/FilAr/FilAr PLA @base.json" + }, + { + "name": "FilAr PLA Bronce", + "sub_path": "filament/FilAr/FilAr PLA Bronce.json" + }, + { + "name": "FilAr PLA Gris Plata", + "sub_path": "filament/FilAr/FilAr PLA Gris Plata.json" + }, + { + "name": "FilAr PLA Cobre", + "sub_path": "filament/FilAr/FilAr PLA Cobre.json" + }, + { + "name": "FilAr PLA Titanio", + "sub_path": "filament/FilAr/FilAr PLA Titanio.json" + }, + { + "name": "FilAr PLA Tabaco", + "sub_path": "filament/FilAr/FilAr PLA Tabaco.json" + }, + { + "name": "FilAr PLA Cafe con Leche", + "sub_path": "filament/FilAr/FilAr PLA Cafe con Leche.json" + }, + { + "name": "FilAr PLA Manteca", + "sub_path": "filament/FilAr/FilAr PLA Manteca.json" + }, + { + "name": "FilAr PLA Marron Oxido", + "sub_path": "filament/FilAr/FilAr PLA Marron Oxido.json" + }, + { + "name": "FilAr PLA Carpincho", + "sub_path": "filament/FilAr/FilAr PLA Carpincho.json" + }, + { + "name": "FilAr PLA Rosa Amaranto", + "sub_path": "filament/FilAr/FilAr PLA Rosa Amaranto.json" + }, + { + "name": "FilAr PLA Rosa Flamenco", + "sub_path": "filament/FilAr/FilAr PLA Rosa Flamenco.json" + }, + { + "name": "FilAr PLA Piel", + "sub_path": "filament/FilAr/FilAr PLA Piel.json" + }, + { + "name": "FilAr PLA Verde FilAr", + "sub_path": "filament/FilAr/FilAr PLA Verde FilAr.json" + }, + { + "name": "FilAr PLA Verde Manzana", + "sub_path": "filament/FilAr/FilAr PLA Verde Manzana.json" + }, + { + "name": "FilAr PLA Verde Pixel", + "sub_path": "filament/FilAr/FilAr PLA Verde Pixel.json" + }, + { + "name": "FilAr PLA Verde Oliva", + "sub_path": "filament/FilAr/FilAr PLA Verde Oliva.json" + }, + { + "name": "FilAr PLA Blanco Antartida", + "sub_path": "filament/FilAr/FilAr PLA Blanco Antartida.json" + }, + { + "name": "FilAr PLA Blanco Calido", + "sub_path": "filament/FilAr/FilAr PLA Blanco Calido.json" + }, + { + "name": "FilAr PLA Negro Azabache", + "sub_path": "filament/FilAr/FilAr PLA Negro Azabache.json" + }, + { + "name": "FilAr PLA Naranja Tigre", + "sub_path": "filament/FilAr/FilAr PLA Naranja Tigre.json" + }, + { + "name": "FilAr PLA Rojo de Carreras", + "sub_path": "filament/FilAr/FilAr PLA Rojo de Carreras.json" + }, + { + "name": "FilAr PLA Amarillo Lirio", + "sub_path": "filament/FilAr/FilAr PLA Amarillo Lirio.json" + }, + { + "name": "FilAr PLA Violeta Jacaranda", + "sub_path": "filament/FilAr/FilAr PLA Violeta Jacaranda.json" + }, + { + "name": "FilAr PLA Gris Pizarra", + "sub_path": "filament/FilAr/FilAr PLA Gris Pizarra.json" + }, + { + "name": "FilAr PLA Gris Ceniza", + "sub_path": "filament/FilAr/FilAr PLA Gris Ceniza.json" + }, + { + "name": "FilAr PLA Azul Francia", + "sub_path": "filament/FilAr/FilAr PLA Azul Francia.json" + }, + { + "name": "FilAr PLA Celeste Cielo", + "sub_path": "filament/FilAr/FilAr PLA Celeste Cielo.json" + }, + { + "name": "FilAr PLA Oro", + "sub_path": "filament/FilAr/FilAr PLA Oro.json" + }, + { + "name": "FilAr PLA Dorado", + "sub_path": "filament/FilAr/FilAr PLA Dorado.json" + }, + { + "name": "FilAr PLA-mate @base", + "sub_path": "filament/FilAr/FilAr PLA-mate @base.json" + }, + { + "name": "FilAr PLA-mate Amarillo", + "sub_path": "filament/FilAr/FilAr PLA-mate Amarillo.json" + }, + { + "name": "FilAr PLA-mate Azul", + "sub_path": "filament/FilAr/FilAr PLA-mate Azul.json" + }, + { + "name": "FilAr PLA-mate Beige", + "sub_path": "filament/FilAr/FilAr PLA-mate Beige.json" + }, + { + "name": "FilAr PLA-mate Blanco", + "sub_path": "filament/FilAr/FilAr PLA-mate Blanco.json" + }, + { + "name": "FilAr PLA-mate Bordo", + "sub_path": "filament/FilAr/FilAr PLA-mate Bordo.json" + }, + { + "name": "FilAr PLA-mate Celeste Cielo", + "sub_path": "filament/FilAr/FilAr PLA-mate Celeste Cielo.json" + }, + { + "name": "FilAr PLA-mate Chocolate", + "sub_path": "filament/FilAr/FilAr PLA-mate Chocolate.json" + }, + { + "name": "FilAr PLA-mate Gris", + "sub_path": "filament/FilAr/FilAr PLA-mate Gris.json" + }, + { + "name": "FilAr PLA-mate Marron", + "sub_path": "filament/FilAr/FilAr PLA-mate Marron.json" + }, + { + "name": "FilAr PLA-mate Naranja", + "sub_path": "filament/FilAr/FilAr PLA-mate Naranja.json" + }, + { + "name": "FilAr PLA-mate Negro", + "sub_path": "filament/FilAr/FilAr PLA-mate Negro.json" + }, + { + "name": "FilAr PLA-mate Piel", + "sub_path": "filament/FilAr/FilAr PLA-mate Piel.json" + }, + { + "name": "FilAr PLA-mate Rojo", + "sub_path": "filament/FilAr/FilAr PLA-mate Rojo.json" + }, + { + "name": "FilAr PLA-mate Rosa", + "sub_path": "filament/FilAr/FilAr PLA-mate Rosa.json" + }, + { + "name": "FilAr PLA-mate Uva", + "sub_path": "filament/FilAr/FilAr PLA-mate Uva.json" + }, + { + "name": "FilAr PLA-mate Verde", + "sub_path": "filament/FilAr/FilAr PLA-mate Verde.json" + }, + { + "name": "FilAr PLA-mate Violeta", + "sub_path": "filament/FilAr/FilAr PLA-mate Violeta.json" + }, + { + "name": "FilAr PETG @base", + "sub_path": "filament/FilAr/FilAr PETG @base.json" + }, + { + "name": "FilAr PETG Amarillo Lima", + "sub_path": "filament/FilAr/FilAr PETG Amarillo Lima.json" + }, + { + "name": "FilAr PETG Amarillo Radiante", + "sub_path": "filament/FilAr/FilAr PETG Amarillo Radiante.json" + }, + { + "name": "FilAr PETG Azul Boreal", + "sub_path": "filament/FilAr/FilAr PETG Azul Boreal.json" + }, + { + "name": "FilAr PETG Azul Francia", + "sub_path": "filament/FilAr/FilAr PETG Azul Francia.json" + }, + { + "name": "FilAr PETG Azul Imperial", + "sub_path": "filament/FilAr/FilAr PETG Azul Imperial.json" + }, + { + "name": "FilAr PETG Blanco Antartida", + "sub_path": "filament/FilAr/FilAr PETG Blanco Antartida.json" + }, + { + "name": "FilAr PETG Cian", + "sub_path": "filament/FilAr/FilAr PETG Cian.json" + }, + { + "name": "FilAr PETG Coral", + "sub_path": "filament/FilAr/FilAr PETG Coral.json" + }, + { + "name": "FilAr PETG Cristal", + "sub_path": "filament/FilAr/FilAr PETG Cristal.json" + }, + { + "name": "FilAr PETG Gris Ceniza", + "sub_path": "filament/FilAr/FilAr PETG Gris Ceniza.json" + }, + { + "name": "FilAr PETG Gris Plata", + "sub_path": "filament/FilAr/FilAr PETG Gris Plata.json" + }, + { + "name": "FilAr PETG Magenta", + "sub_path": "filament/FilAr/FilAr PETG Magenta.json" + }, + { + "name": "FilAr PETG Negro Azabache", + "sub_path": "filament/FilAr/FilAr PETG Negro Azabache.json" + }, + { + "name": "FilAr PETG Rojo Carmesi", + "sub_path": "filament/FilAr/FilAr PETG Rojo Carmesi.json" + }, { "name": "fdm_filament_pp", "sub_path": "filament/base/fdm_filament_pp.json" diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG @base.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG @base.json new file mode 100644 index 0000000000..5195e151e3 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG @base.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "name": "FilAr PETG @base", + "inherits": "fdm_filament_pet", + "from": "system", + "filament_id": "FILARB03", + "instantiation": "false", + "filament_type": [ + "PETG" + ], + "filament_vendor": [ + "FilAr" + ], + "filament_diameter": [ + "1.75" + ], + "filament_density": [ + "1.27" + ], + "filament_flow_ratio": [ + "0.95" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "245" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "hot_plate_temp": [ + "78" + ], + "hot_plate_temp_initial_layer": [ + "78" + ], + "textured_plate_temp": [ + "78" + ], + "textured_plate_temp_initial_layer": [ + "78" + ], + "fan_min_speed": [ + "40" + ], + "fan_max_speed": [ + "60" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Amarillo Lima.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Amarillo Lima.json new file mode 100644 index 0000000000..8a5b7c62c4 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Amarillo Lima.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Amarillo Lima", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0047", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#C7E03A" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Amarillo Radiante.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Amarillo Radiante.json new file mode 100644 index 0000000000..80b1befd65 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Amarillo Radiante.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Amarillo Radiante", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0048", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FFD400" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Boreal.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Boreal.json new file mode 100644 index 0000000000..eaf601bb40 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Boreal.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Azul Boreal", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0049", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#1B4F9C" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Francia.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Francia.json new file mode 100644 index 0000000000..d1aeed176d --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Francia.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Azul Francia", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0050", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#0033A0" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Imperial.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Imperial.json new file mode 100644 index 0000000000..06ce3516e1 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Azul Imperial.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Azul Imperial", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0051", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#14306B" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Blanco Antartida.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Blanco Antartida.json new file mode 100644 index 0000000000..e5e2fdbf9f --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Blanco Antartida.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Blanco Antartida", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0052", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#F7FAFC" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Cian.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Cian.json new file mode 100644 index 0000000000..379a12065f --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Cian.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Cian", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0053", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#00B7D4" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Coral.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Coral.json new file mode 100644 index 0000000000..15962cc994 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Coral.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Coral", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0054", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FF6F5E" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Cristal.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Cristal.json new file mode 100644 index 0000000000..fa13ab3ae9 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Cristal.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Cristal", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0055", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#E8F0EC" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Gris Ceniza.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Gris Ceniza.json new file mode 100644 index 0000000000..59d7b64ed4 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Gris Ceniza.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Gris Ceniza", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0056", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#B4B6B1" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Gris Plata.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Gris Plata.json new file mode 100644 index 0000000000..9c0668a87b --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Gris Plata.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Gris Plata", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0057", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#8C8686" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Magenta.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Magenta.json new file mode 100644 index 0000000000..e832faadb6 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Magenta.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Magenta", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0058", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#B5174B" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Negro Azabache.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Negro Azabache.json new file mode 100644 index 0000000000..18daa0e204 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Negro Azabache.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Negro Azabache", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0059", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#000000" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Rojo Carmesi.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Rojo Carmesi.json new file mode 100644 index 0000000000..54eece5902 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PETG Rojo Carmesi.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PETG Rojo Carmesi", + "inherits": "FilAr PETG @base", + "from": "system", + "filament_id": "FILAR0060", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#8C1020" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA @base.json new file mode 100644 index 0000000000..04426a96ca --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA @base.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "FilAr PLA @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "FILARB01", + "instantiation": "false", + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "FilAr" + ], + "filament_diameter": [ + "1.75" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.98" + ], + "nozzle_temperature": [ + "210" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "nozzle_temperature_range_low": [ + "200" + ], + "nozzle_temperature_range_high": [ + "220" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Amarillo Lirio.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Amarillo Lirio.json new file mode 100644 index 0000000000..11344db00c --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Amarillo Lirio.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Amarillo Lirio", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0022", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FFD52B" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Azul Francia.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Azul Francia.json new file mode 100644 index 0000000000..165e6d9fe1 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Azul Francia.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Azul Francia", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0026", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#0000FF" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Blanco Antartida.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Blanco Antartida.json new file mode 100644 index 0000000000..e207e06848 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Blanco Antartida.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Blanco Antartida", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0017", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#F7FAFC" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Blanco Calido.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Blanco Calido.json new file mode 100644 index 0000000000..f196d4d2e7 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Blanco Calido.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Blanco Calido", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0018", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FFF8E7" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Bronce.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Bronce.json new file mode 100644 index 0000000000..11a2fb85f1 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Bronce.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Bronce", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0001", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#AD8428" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Cafe con Leche.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Cafe con Leche.json new file mode 100644 index 0000000000..44f7dedd85 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Cafe con Leche.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Cafe con Leche", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0006", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#E0B269" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Carpincho.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Carpincho.json new file mode 100644 index 0000000000..8cc2fd5f35 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Carpincho.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Carpincho", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0009", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#E8DFC1" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Celeste Cielo.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Celeste Cielo.json new file mode 100644 index 0000000000..a0355fb918 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Celeste Cielo.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Celeste Cielo", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0027", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#A1EBFF" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Cobre.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Cobre.json new file mode 100644 index 0000000000..3acabfaa12 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Cobre.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Cobre", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0003", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#87421E" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Dorado.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Dorado.json new file mode 100644 index 0000000000..17e58030bf --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Dorado.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Dorado", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0029", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#A67F00" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Ceniza.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Ceniza.json new file mode 100644 index 0000000000..bb22078212 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Ceniza.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Gris Ceniza", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0025", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#B4B6B1" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Pizarra.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Pizarra.json new file mode 100644 index 0000000000..5fb961188e --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Pizarra.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Gris Pizarra", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0024", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#4B4B4B" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Plata.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Plata.json new file mode 100644 index 0000000000..98b1a7fef0 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Gris Plata.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Gris Plata", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0002", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#8C8686" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Manteca.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Manteca.json new file mode 100644 index 0000000000..5ae126efba --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Manteca.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Manteca", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0007", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FFF5AB" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Marron Oxido.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Marron Oxido.json new file mode 100644 index 0000000000..3813ddee5a --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Marron Oxido.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Marron Oxido", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0008", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#5E190E" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Naranja Tigre.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Naranja Tigre.json new file mode 100644 index 0000000000..563d8bb3e9 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Naranja Tigre.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Naranja Tigre", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0020", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FC5017" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Negro Azabache.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Negro Azabache.json new file mode 100644 index 0000000000..44b5e7ee43 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Negro Azabache.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Negro Azabache", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0019", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#000000" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Oro.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Oro.json new file mode 100644 index 0000000000..bc5150bf30 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Oro.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Oro", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0028", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FFD700" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Piel.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Piel.json new file mode 100644 index 0000000000..a422bfc092 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Piel.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Piel", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0012", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FADDAC" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rojo de Carreras.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rojo de Carreras.json new file mode 100644 index 0000000000..b9d6a2f257 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rojo de Carreras.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Rojo de Carreras", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0021", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FA0F0F" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rosa Amaranto.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rosa Amaranto.json new file mode 100644 index 0000000000..aa0b5179df --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rosa Amaranto.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Rosa Amaranto", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0010", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FA4164" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rosa Flamenco.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rosa Flamenco.json new file mode 100644 index 0000000000..8e7f67b108 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Rosa Flamenco.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Rosa Flamenco", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0011", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#FFC7C2" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Tabaco.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Tabaco.json new file mode 100644 index 0000000000..b2e973a0fe --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Tabaco.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Tabaco", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0005", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#7D5429" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Titanio.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Titanio.json new file mode 100644 index 0000000000..bb95f95a11 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Titanio.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Titanio", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0004", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#878681" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde FilAr.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde FilAr.json new file mode 100644 index 0000000000..8512127f18 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde FilAr.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Verde FilAr", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0013", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#036D6B" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Manzana.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Manzana.json new file mode 100644 index 0000000000..2f7f30801e --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Manzana.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Verde Manzana", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0014", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#D4FF38" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Oliva.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Oliva.json new file mode 100644 index 0000000000..85b31f128c --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Oliva.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Verde Oliva", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0016", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#595900" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Pixel.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Pixel.json new file mode 100644 index 0000000000..c9d98b2750 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Verde Pixel.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Verde Pixel", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0015", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#02E32F" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Violeta Jacaranda.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Violeta Jacaranda.json new file mode 100644 index 0000000000..cee7b7a2e1 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA Violeta Jacaranda.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA Violeta Jacaranda", + "inherits": "FilAr PLA @base", + "from": "system", + "filament_id": "FILAR0023", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#9342C9" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate @base.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate @base.json new file mode 100644 index 0000000000..d012487eb7 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate @base.json @@ -0,0 +1,47 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate @base", + "inherits": "fdm_filament_pla", + "from": "system", + "filament_id": "FILARB02", + "instantiation": "false", + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "FilAr" + ], + "filament_diameter": [ + "1.75" + ], + "filament_density": [ + "1.24" + ], + "filament_flow_ratio": [ + "0.98" + ], + "nozzle_temperature": [ + "200" + ], + "nozzle_temperature_initial_layer": [ + "205" + ], + "nozzle_temperature_range_low": [ + "195" + ], + "nozzle_temperature_range_high": [ + "210" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "textured_plate_temp": [ + "60" + ], + "textured_plate_temp_initial_layer": [ + "60" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Amarillo.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Amarillo.json new file mode 100644 index 0000000000..4ba4263151 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Amarillo.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Amarillo", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0030", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#E8C547" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Azul.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Azul.json new file mode 100644 index 0000000000..ea4fe63a2b --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Azul.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Azul", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0031", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#2D5DA8" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Beige.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Beige.json new file mode 100644 index 0000000000..bee307127d --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Beige.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Beige", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0032", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#D8C4A0" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Blanco.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Blanco.json new file mode 100644 index 0000000000..20ddf69fd6 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Blanco.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Blanco", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0033", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#F2F2EC" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Bordo.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Bordo.json new file mode 100644 index 0000000000..9a74f6e819 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Bordo.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Bordo", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0034", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#6E1A2B" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Celeste Cielo.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Celeste Cielo.json new file mode 100644 index 0000000000..ba363ff6de --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Celeste Cielo.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Celeste Cielo", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0035", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#9DC8E8" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Chocolate.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Chocolate.json new file mode 100644 index 0000000000..996657bd0f --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Chocolate.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Chocolate", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0036", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#4A2E22" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Gris.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Gris.json new file mode 100644 index 0000000000..c12616b93a --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Gris.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Gris", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0037", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#7E7E7E" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Marron.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Marron.json new file mode 100644 index 0000000000..646fdc68a7 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Marron.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Marron", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0038", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#6B4226" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Naranja.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Naranja.json new file mode 100644 index 0000000000..ea32b090a0 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Naranja.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Naranja", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0039", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#E0662A" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Negro.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Negro.json new file mode 100644 index 0000000000..2c210c4da6 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Negro.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Negro", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0040", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#1A1A1A" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Piel.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Piel.json new file mode 100644 index 0000000000..1d6e17e841 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Piel.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Piel", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0041", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#E8C9A8" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Rojo.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Rojo.json new file mode 100644 index 0000000000..dd48e730f3 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Rojo.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Rojo", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0042", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#B5302E" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Rosa.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Rosa.json new file mode 100644 index 0000000000..b04a0e32f8 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Rosa.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Rosa", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0043", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#E07A9B" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Uva.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Uva.json new file mode 100644 index 0000000000..ddfc5c4ad7 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Uva.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Uva", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0044", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#5B2A6B" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Verde.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Verde.json new file mode 100644 index 0000000000..9cb05a6ac1 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Verde.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Verde", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0045", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#3A7D44" + ] +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Violeta.json b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Violeta.json new file mode 100644 index 0000000000..77c330fd19 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/FilAr/FilAr PLA-mate Violeta.json @@ -0,0 +1,14 @@ +{ + "type": "filament", + "name": "FilAr PLA-mate Violeta", + "inherits": "FilAr PLA-mate @base", + "from": "system", + "filament_id": "FILAR0046", + "instantiation": "true", + "filament_vendor": [ + "FilAr" + ], + "default_filament_colour": [ + "#6B3FA0" + ] +} \ No newline at end of file From e0a47c61a2246bc311bb928379e9622016042d83 Mon Sep 17 00:00:00 2001 From: TheLegendTubaGuy <95944177+thelegendtubaguy@users.noreply.github.com> Date: Wed, 3 Jun 2026 23:19:10 -0700 Subject: [PATCH 69/69] [FIX] Fix Elegoo process profiles (#14020) * Bump Elegoo profile version to refresh installed bundle Bumps the Elegoo vendor profile version so installed profile bundles are refreshed from bundled resources after the recent Elegoo profile sync.\n\nThe previous version stayed at 02.04.00.00 after the profile layout changed, so existing installs could keep loading stale system/Elegoo files. That stale bundle can abort during profile loading and cause user presets inheriting from Elegoo machines, such as OrangeStorm Giga and Neptune 3 Max, to report missing parents.\n\nValidation:\n- jq parsed resources/profiles/Elegoo.json\n- verified all Elegoo.json sub_path entries exist\n- git diff --check * Fix Elegoo process profile manifest --- resources/profiles/Elegoo.json | 454 ++++++++++++++++++++++++++++++++- 1 file changed, 453 insertions(+), 1 deletion(-) diff --git a/resources/profiles/Elegoo.json b/resources/profiles/Elegoo.json index d22fb9f0f0..a80b129b68 100644 --- a/resources/profiles/Elegoo.json +++ b/resources/profiles/Elegoo.json @@ -1,6 +1,6 @@ { "name": "Elegoo", - "version": "02.04.00.00", + "version": "02.04.00.02", "force_update": "0", "description": "Elegoo configurations", "machine_model_list": [ @@ -286,6 +286,10 @@ "name": "0.40mm Standard @Elegoo Neptune 0.8 nozzle", "sub_path": "process/EN2SERIES/0.40mm Standard @Elegoo Neptune 0.8 nozzle.json" }, + { + "name": "0.50mm Standard @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json" + }, { "name": "0.50mm Standard @Elegoo N3Max 1.0 nozzle", "sub_path": "process/EN3SERIES/0.50mm Standard @Elegoo N3Max 1.0 nozzle.json" @@ -314,6 +318,42 @@ "name": "0.50mm Standard @Elegoo N4Pro 1.0 nozzle", "sub_path": "process/EN4SERIES/0.50mm Standard @Elegoo N4Pro 1.0 nozzle.json" }, + { + "name": "0.08mm Optimal @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.08mm Optimal @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.12mm Draft @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.14mm Extra Draft @Elegoo C 0.2 nozzle", + "sub_path": "process/EC/0.14mm Extra Draft @Elegoo C 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.08mm Optimal @Elegoo CC 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.12mm Draft @Elegoo CC 0.2 nozzle.json" + }, + { + "name": "0.14mm Extra Draft @Elegoo CC 0.2 nozzle", + "sub_path": "process/ECC/0.14mm Extra Draft @Elegoo CC 0.2 nozzle.json" + }, + { + "name": "0.08mm Optimal @Elegoo CC2 0.2 nozzle", + "sub_path": "process/ECC2/0.08mm Optimal @Elegoo CC2 0.2 nozzle.json" + }, + { + "name": "0.12mm Draft @Elegoo CC2 0.2 nozzle", + "sub_path": "process/ECC2/0.12mm Draft @Elegoo CC2 0.2 nozzle.json" + }, + { + "name": "0.14mm Extra Draft @Elegoo CC2 0.2 nozzle", + "sub_path": "process/ECC2/0.14mm Extra Draft @Elegoo CC2 0.2 nozzle.json" + }, { "name": "0.08mm Optimal @Elegoo N3Max 0.2 nozzle", "sub_path": "process/EN3SERIES/0.08mm Optimal @Elegoo N3Max 0.2 nozzle.json" @@ -370,6 +410,322 @@ "name": "0.12mm Draft @Elegoo N4Pro 0.2 nozzle", "sub_path": "process/EN4SERIES/0.12mm Draft @Elegoo N4Pro 0.2 nozzle.json" }, + { + "name": "0.12mm Fine @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.12mm Fine @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.16mm Optimal @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.20mm Strength @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.24mm Draft @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo C 0.4 nozzle", + "sub_path": "process/EC/0.28mm Extra Draft @Elegoo C 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.12mm Fine @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.16mm Optimal @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.20mm Strength @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.24mm Draft @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo CC 0.4 nozzle", + "sub_path": "process/ECC/0.28mm Extra Draft @Elegoo CC 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.12mm Fine @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.16mm Optimal @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.20mm Strength @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.24mm Draft @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo CC2 0.4 nozzle", + "sub_path": "process/ECC2/0.28mm Extra Draft @Elegoo CC2 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo Giga 0.4 nozzle", + "sub_path": "process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Max 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Plus 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.12mm Fine @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.16mm Optimal @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.20mm Strength @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.24mm Draft @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle", + "sub_path": "process/EN3SERIES/0.28mm Extra Draft @Elegoo N3Pro 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Max 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Plus 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.12mm Fine @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.16mm Optimal @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.20mm Strength @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.24mm Draft @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle", + "sub_path": "process/EN4SERIES/0.28mm Extra Draft @Elegoo N4Pro 0.4 nozzle.json" + }, + { + "name": "0.12mm Fine @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.12mm Fine @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.16mm Optimal @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.20mm Strength @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.20mm Strength @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.24mm Draft @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.24mm Draft @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle", + "sub_path": "process/EN2SERIES/0.28mm Extra Draft @Elegoo Neptune 0.4 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.18mm Fine @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.24mm Optimal @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.30mm Strength @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.36mm Draft @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo C 0.6 nozzle", + "sub_path": "process/EC/0.42mm Extra Draft @Elegoo C 0.6 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.18mm Fine @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.24mm Optimal @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.30mm Strength @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.36mm Draft @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo CC 0.6 nozzle", + "sub_path": "process/ECC/0.42mm Extra Draft @Elegoo CC 0.6 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.18mm Fine @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.24mm Optimal @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.30mm Strength @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.36mm Draft @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo CC2 0.6 nozzle", + "sub_path": "process/ECC2/0.42mm Extra Draft @Elegoo CC2 0.6 nozzle.json" + }, + { + "name": "0.18mm Fine @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.24mm Optimal @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.30mm Strength @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo Giga 0.6 nozzle", + "sub_path": "process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json" + }, { "name": "0.24mm Optimal @Elegoo N3Max 0.6 nozzle", "sub_path": "process/EN3SERIES/0.24mm Optimal @Elegoo N3Max 0.6 nozzle.json" @@ -454,6 +810,82 @@ "name": "0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle", "sub_path": "process/EN4SERIES/0.42mm Extra Draft @Elegoo N4Pro 0.6 nozzle.json" }, + { + "name": "0.24mm Optimal @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.24mm Optimal @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.36mm Draft @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle", + "sub_path": "process/EN2SERIES/0.42mm Extra Draft @Elegoo Neptune 0.6 nozzle.json" + }, + { + "name": "0.16mm Extra Fine @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.16mm Extra Fine @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.24mm Fine @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.32mm Optimal @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo C 0.8 nozzle", + "sub_path": "process/EC/0.48mm Draft @Elegoo C 0.8 nozzle.json" + }, + { + "name": "0.16mm Extra Fine @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.16mm Extra Fine @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.24mm Fine @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.32mm Optimal @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo CC 0.8 nozzle", + "sub_path": "process/ECC/0.48mm Draft @Elegoo CC 0.8 nozzle.json" + }, + { + "name": "0.16mm Extra Fine @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.16mm Extra Fine @Elegoo CC2 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.24mm Fine @Elegoo CC2 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.32mm Optimal @Elegoo CC2 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo CC2 0.8 nozzle", + "sub_path": "process/ECC2/0.48mm Draft @Elegoo CC2 0.8 nozzle.json" + }, + { + "name": "0.24mm Fine @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json" + }, + { + "name": "0.48mm Draft @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json" + }, + { + "name": "0.56mm Extra Draft @Elegoo Giga 0.8 nozzle", + "sub_path": "process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json" + }, { "name": "0.24mm Fine @Elegoo N3Max 0.8 nozzle", "sub_path": "process/EN3SERIES/0.24mm Fine @Elegoo N3Max 0.8 nozzle.json" @@ -538,6 +970,26 @@ "name": "0.48mm Draft @Elegoo N4Pro 0.8 nozzle", "sub_path": "process/EN4SERIES/0.48mm Draft @Elegoo N4Pro 0.8 nozzle.json" }, + { + "name": "0.24mm Fine @Elegoo Neptune 0.8 nozzle", + "sub_path": "process/EN2SERIES/0.24mm Fine @Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "0.32mm Optimal @Elegoo Neptune 0.8 nozzle", + "sub_path": "process/EN2SERIES/0.32mm Optimal @Elegoo Neptune 0.8 nozzle.json" + }, + { + "name": "0.30mm Fine @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json" + }, + { + "name": "0.40mm Optimal @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json" + }, + { + "name": "0.60mm Draft @Elegoo Giga 1.0 nozzle", + "sub_path": "process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json" + }, { "name": "0.30mm Fine @Elegoo N3Max 1.0 nozzle", "sub_path": "process/EN3SERIES/0.30mm Fine @Elegoo N3Max 1.0 nozzle.json"

-EX^<=DF>K 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 R!Kl5slrAl(u2^+ToFDY1Vq+7|4OkZz&=)_A< zmeWWoHv;@AUL?)iKh0n%uhyqZ=F1n6o=~1RB*eh~NLy}vB|HuBU7Fy6r}0$|Bqz(3 zRh#~)abnFtP4~gk?qqFSLp-lOm+H|ULZQWMxTUx-Hb!S-J_hvRywUT9J_F6bWXz+CS&oN-@}zvpFW~Gh8kDUXH+`%gMMrpKajaF zGbh7a>L)p&J%36Q;ir_n?P6pgfnTq^kWG)jjIoyQ*U1n?8|xUjyvHLORl8Ri+1jPM zYu=`n6*z^$!6(G?z20fcqkqfX`h(<0yAEUya&e=lk8yL=EqHu zW6AeqGFPG`TfMa?c^!RTQ{+U%gHu{ZvZ~Rzl>8{Y>QheD9MSBPugg`NxEQDjL|M?!)?RbO)`I{;?cT${ti5)*4K;I`PH^$-u4PZ z-4qu~Pc!*DE0ng#O#f=rbdJG!5{K4YpI$t%rt_=Nc+IQkz9muTOdlCs?pS5c{X2^g z^w7@&lKI=QZ?1n`tR>v1k+;*{T%T-2jt&ndpWe=cF59mYeRT-_04KcoJ*|muDb;eYqhbWn3$Xd0G?(*Rd{iVAKWHwpsxntwQ z8#&mgxj!6gu^#$mq5kV-2R`fz+^onA??RfX0RQ5MKI{J1AG3`szWjTbV7bcm8lA%( z8zw+zO~1eKg(2^Va%>5g8DhG6BVR?8k(Do3ugbf1@95>=E^p_W*((}?v^)lwZ3 z-mJ^5jZQkGosCj88xQhuql=9P=|n=jR&3f1xtDr|QKpLGgbsr7h zFp=?swV|3OH{v3a>al4$P4mn~KaFgFg!jfegudA{nTwR0_M^zq{TY;GWH1U>c@rg2Rh!7+bgv;|EDxzE zLe~aQA`OM1#nLmavVlI-tOTQcOeDXkIw?u%TZ*w96p&Ey+V>-K&f)}mJPFlkbh2YakU--H`7OOW>TKTnBcIc9aCFo7pj_hF z-%N4la1r!OT!W`P8DyL{E7bUEjL1ibTzuR}-jSQCN&Fl&q93CBV&6i&s@g;se%dfk zP9tGDzo%zuW!k>)oPZ6zu?*qt26G~A7M9W@6wA-39mu$LP9f}Vtac)C*I6XJT;ASN z?xLSYz(rDOwXMc(P|TRO|# z_>c;)h!tcE$mWS8S!xHp-IZg`y3_gi_P&*>EyjgLh48Z;pU{JX)5TmI{j^7e8Ua1K0ccP~!ZvuA^N- zasMx{?rugMk*jt_;S8K(Yf~l1`jScf5XwAbm#|Jg8{z{S`WQBJ<-Z$R_1}g@I9VJO zvp6ji59H>)^|P>dT4WP_d>9T^)C927!-@`#0#bVI&|0dpqva5wY6GC9hatjWQoHDJ z6`XBrL{h5OH1b8J*1?c}UxYuaW-@r(?w0U>^N8_Z9<~2B?YB-9kVhDY&X$2SHjW)B z+p5Q7XZ=xU$w7Xa`^v?S1frHLmrwjno8w<2&f_J_hqoI zSbJ7|z=PI`S+6*h+D# zG=D%ybhhIP5CB>I<%g_Jf3c5-Qn`>Iok!DCeX1Iao5vr>o$%6F?Ra7y3>e}bni3AVj){lS+K~+gj54_YO>+RFyLXFcP zXXt|><*9aVdrNI3N;@(KZrpuzkf^NEJ*K7v1{ZOyEe*+&H7{2LVctv(-h>j8n4)z? z1vAC{b7!HAM0>Go;kFc_LX6))>eS-@L&E+4c7>BO2k!*(O@+qN=kyiy2cowj5NHw! zsFqOh0O}FPe|bi0J=hE-$kg!nc23ofd=cX^E-J45Nwu025A0a+-6LQbE1*IFS;@dP z%p)!&0Wq@}z>aBU>zs9HC;qgY)5o%p#;FNLSm8Xjp}jYJ{$9$rJ{*l^C{g=KD_Td zviDP!%;s#|2EKX>+86E)dHRu`q?2^Py zPV>RAA5zm8f5?VL_MF8%&l&qgHCNSO6yallo{U_Jbzeg=0mCLSc$}s=cxNJwk7<8M zt-)WQuMOnQCe32EyEQyf%^H2~3mW-Y_v@Z`vV$gS=Rd z3$-(4XCbK)cH|`x|4VO!BLR5g0BBM&W5BE8qsO5SNMmCi-o=Ny@+Q(&q$Q&;2}(wt zC{~-q@M^I3Md6AA883?kBYDZTt>W;S$vd9KzmJ%nwhBvcJpA*qW#y@a{gb&V2|Y!K zmQ0URGQ`W+K-<{Ve)E;U;i7i0VeG2(H%k+TFkdP=rfxm{vp;>aIl%mn&ARfR%7?&X zvdIE--=`jdAFIaO(gs5b6BAq0>61@h6n}Gh@^H?t@9*c|wpt+MdHV%LL0{Dsmv=QO zj{CcE3YcSEY>KVe)?4vq|1@w?gp=YU>FF=T{X(`#T-ou|lsjA%x@$-|EK*iR^0R+P zefrASk$$*1|9+iFHo4B!S9+`(NndLd$>XQiSfsB4mYkTTM3NtWKYaS>Jf-s9Gi&L@ z@x|%B<%lb*C*leRqens~E#k7ePU?@St>f4x<@Cjt1^~%hWCXz{3ml;(ZmNDjROU`;mzR#`=P(pZ<>i&9LO^ ziH@nQtFfh1SL>dc5`>eF-;4XkezxR1IDC5y^NV%u!~x9;voaBLVUl&q@aS=c_~M8` zm3C`tb>FU-s_(GhP2KxIlL!?0~^lhIm_!AH~U2ePMR1D?Xhbk?QoKFb!2c^n&j zHI*HEzcHPl|2f({G1-Rsl<=(392pUQsFUdOdRg6j_rD9xH^k}1ZKKBh?r1&27SeOx z^FVq|-TI@wRgGiMX-!&I|J40O@eu=fmFaHCw$-~oUHx#9wdUF31-QwOi=i98+7t=XJ4aM_-ReqnyWvBf+#mr9ZE^*}w7K`SIsUf19&4XUKs%d-z)| z+Ow$F!D`uCT(Z|n`_V?I{naz)itJmj{?L@%?*?8d#lB{Tse9Dtip}FMzPrtzJdo1D z7l&AWpQ{WU{WZ7G``!amz`*$Pe{cigQ{~4x8+&WmuOwRJWA|47-EAAE{@F4<_)5lk z?7#X>Z|Hat!d57YLiAtzwa+>I$TLLR)ScMf+icPTbRBN8`KbS~!1Pm{#iulv{lur9 zl)Mz5n%Y4t-w;fYdu#qY%34u=BKo_jyA6k$ng|bYle5e35p=hs$E^{G$D8J&Su4{m zyvJ?d)xDdj^L*+kLn;xr^3y2KM+=VpKDg0}+rE4M_@s1sI_3R^iqyc7pXO6%?JM7_ z9rG@KZrPM>h>pQM9{rWQVG#4+r}$2FvFFF=}Fzkbc)Fr0Xt}ql%)9F;;hDW?$StWPvW9p z#(}BB1MgX9O_5dW8u=6bkDqgg(v#ZB{mtJGeKloxGBy$Yu{Fb#^2_CR+oZaDYwdK@ zI3g#u$-2hY@Hhs?P5*s9Q^YAJ6nQ_UOn#j>8ZPr9iQ`RwR4^>oga=o~a%WONPm3#Ch~*_Nj8Al~@!R{}95 zr?>!Nt2br4+hn3Z(#Y_0cQR!W!`~+9%|_T{cwhm9Vp_$Os`{bcA&mV~oUPSXKaYeF zsr`prqB;CjtZ{yddb*_mJ!)`Ug|UUP3%o=n#qNrZV{gAiM@|S{yT-@uZj-B9gNxiz zi#7jUy`h!MNSD7YE3BjRO@Dl)P|6)=sB^}-3<<`Zs@_o>N1_C^_GREY!(RUpr4H(e z7KB$6py_+W7+d1q*RAtN9oB5D*>9v_#53qYU$$uziYshD;z=7gBugs>U)t%4A^XA< zcqdl0fQ3Kw_8=_Pokj2oFrALpjn$iafAPc68+tRM$LR0=sHo3n)={QLAHfu<^0(R1 zI$zTn_oQ@nNNo^rRrHr;E3CiNk2ZQ!fx(v)7esGZrg>j~k!g?FrTzV`k%C%EPKzsc zbP>b3Xs(H_-Z3E)sX}T|bXPNq;Vmby2D7bA-El0H11x}LE3(JP;+mlIAO1OE?5708 z%J=oTxUhJ=(b4i>kn+aU)LR4M73j#I!Dd%&R!2dZ)Dw73y@v4b3i2RWQV#`Eex{*S z{s|e4O;^j@j{5}~Z?K|A@1kI*_X2~%F33iNERhXDR4tRMbC`8-LL5tdX@3j+XK{bX zk%Lbz!zQdDjF?tOFV1RmoSKNE9@p&dQCqV8u0;6-qLJ$7FA%KJ^^4b7i5eJfHVd^ecwW#%zbMOjP{#i}dE5Y@gWSNjPM9(T5; zD>Ei~w~2`jd^%2-C*13NL+6^>t!3n>m+G!pN&kA7O%#!&qm6K>W~S&4V7bQbz=#`%o!K! z4{LVUsx28U*~JCLfJAG?t_G@RQviWKF4?DEYuZ(-8kVe65lm;iYy@MOv51i-cTym2 zJa%ELNbO=lkY`t2aj&^PO^lTL;N$qlvz?BiF#J%jOjJWKiYSG`bkQ^vQl36mFqYwt zN7E-pt}{|?ubS9+V}zj178XcJS536Ex8^bH4UUFro}V@(^qS>Qu5ynK0)IEezqE$Ff256(9cY)?U!m z^n$?q&Gc0oe7Y+DYM|du#^Z9A_8i*xqivbWg3hKEb*xW?8hS39>OP<7(993HzSP2QK$)D>N@D~l4C;S;9h=LiHHmXUR2uMYVB=O*O@L=pyD-+d=gX`y_U=Pc+JizG4mhU zvY(l)a)36j{n+9au&_d=9$yh|07@JiHFFVW{5sPOR0maiGLP8~6GaCkX|FVgEb$A~ z?FdLlE$T?pY^^P^$d(mWw*jHdws5tFBadl(I`YQ57@CHMCx!Lq-ZUDjE!&f(5gR1a z+PU$Qbsf#Eo_g3R@0^B?R-}1L0FAZ0)Y6*8Oijw?M)zfj{4BdB!YqIU-A2=yXy{s) z)cHbD2{uW|h}&x@z={INk4?uK56b>PwnT0YNM@}rX==@{4y)isd+TVL_a`Iidi(%f zb2&V)F1e*574aDkUi-8ITlHXOa* zCMt0^E5-ssdVs=^S;gG=%GU>%A#b8OVzphH1LF7{7sq=TkHabo9+pLxYGn_*UY7aM zbUE;PMt5m3L=Hl1I2`#f9)%9QT5(9*^&nY>_p#NdX|dl9JumPw-(k^Mrm(64_abx2 zL(||m{k;r>r95q|kbGM=!i}He{X0h&<5`QhX`O&2O43#Z^5z4FXDGRxUtg!iu}Zwm za>n`a_JW5YpTPo`YkNQQ6L)Z#1`&@`kPs$DCv-6;5`~}>^(oqw6T^QOSejl!yXL2H zfefF`++*Q#zA|4EvWWJSE;SDm{II(5lP|dUrMNg?axo6`h}{if#lfS8#&bzBP!4v@ zAU>+3vsK(@O+)zPayfPQoeeK0dVBmrN2|(~|7Lp5zOMu#1u(tStl0?c>?;@&u{wKO zMNSH6qM@{F2-Jw~Gmsd(EfcNs5;5MR!Q=#Y5suZtHy(Y=IFn;2JUY3=2=q6dMgzlz zp1gK_EE_ALks6N{^ZaW*t$(@{hl!1h)$HrYuhxrJl@7Fekf2%8Xz=tmEf6%MX%9b0 z9&I)E`apKgO5WEF6sM+X`yM3A3vlK;JRAlKy5UHJv9nG*zs`_&C~%ngN4Mi;eA44* zhqQfzIxfR2=`J6K5!+L{r=(lfk_V|>ii6Z+>_sy!?g{K@m$ej*7YJFl8Te!#c0(|% z#oJtC5^=`iS97sCp-HqOAf8o%GrwjiZjt=J)Lh4rIZuC>pQS zK1o1nx6CgWCQ$=?IuAxtHD4OfLe~BEngv`6jePI@LzfCXh_H}?!C#aGxTM=WTzfDq zWJ^zJr_Apn6Ks>4fgAbj>n=aBag_c{_VCq9KWd1eK1nNDB+9-Yb~P(}c^N_4YgLX-a?>5R&I}ERt z(Re**@mgx~J|{jBZ-Pw6(4`<-EZghWLS}fnI;JD-ZBEqco0IiV?Q?t+x<}$)Ubr|{2u-U5V7KFll@?ils={^fZ z$0ni2CazX&g=YbWTZ5mr&PPF<7EB19w&srC<>3;1f!1cz?C6+Vb{#|%+DeH8GLW-u z&hLYwSi`RGLG2vU#rP@}cO>#_|bfMv0t0VZuE`~>08q*#x)NiJl5eJeqkYGci z+$c9lFjq3J;`>K0;~~L{xmA^~eLD}7pmmj|!oRjj=#t+K-l9`eLU}3D@G2TtK`T1V9V_s74`VpagB2z9HIa2 z3|I9lf-500k>ef ze1{CkhsRcBukQ5%A7>PEX}`WsiX(MoF$YBzd)Tm)T@!jyMOd-W#m<9r>sOQIp4j^5?_AqCPC+O)2hj|-yd@bu#4;L%ZV zYT<#n3PMMFt1AjjlUL1aUs#7tFS`EnazTw`9!zm45*H6z2^;+aaFNRlH*jevT>v%5 z6h5D!s^=>TtQp=!G+n{ID8s8_C_2kXZ$W73D5?u^h!!m#Q_}L^}rZy zbFQ`HOVK)Q1}!`gu(By2LjM`q2n8iunSa1z%N{@Rv`{)e}t=MR^(6JU|YDtdJmpAZEsv-ie|cnjsA8FIZp3v z<&NLv!!STsIm|s(aArc>*Kw#0Oj7h1@)jS0=2(?q^Mzxo3@TXT{xRemsOD}dItvRrCz=cfyO6ua`o|cGgDfV{)ox zwmtD<-@sLydSD)IHDCVJC#iTW+Y4@g*o(~>tpyr5FJxX+skF02wmwKB?!i#9|kXyJ>>%J9U zM1TTHF!D%p+P5cO6hx0^bT>!Azg&*jxM1iHb6es<$Yh6uM5KxbizbVEQD$B=uB8s%fZNSyJhOkKj2k%BEYmIprpIGJnv<4 z0q|-^T3_HfSSYZ5y#1&RU+Qj#*xk}YB7{uvp~47+lCwUx&qvCSyG(TE8^04Kf$#$X zoYgi*Wk$7;gj@Y22Z5jmk3MTIzgQ?arrABQr!#+Q36w_vPIfU=^G9pe_+5JzfT3__ z!6OEaYDI}3Gy?DuPD@w_uxUwgKTYF`=EV$90<+{1 zf#*-XtM9O89E0YLM^aql+l<0J1~8d7fCS$4F1Hu!A6Os>3h7d-BlbQpG~6jem0V(N zoreP6DJ-bG#@H+FKnpH_0w)OSsoI#a;p+pDD(7}?*&4qHzeqttiZ*6q_?Lq2rYLwt zWPV&DlGq^#pN~DM=jn0o7IqbI0TRA{S$}S{y($~=j-7iI6Yl-O!Izt8618& zk8wyd8!6BeFS7#oT`52dq)FOeg5Or!^%K6sB|CWBo@;f~eL;iJ6|!sPzCvcJh(Mku z#&M|r!S?2W7#A5E8G2cChPgLgbu_3Jl)7--F_H>8kOjSlLE`2O!R>PO_{n^3S>@}S z5H@c05OFBXQh zT99+Tz+D8s{?iA^?_0ZGeykHx-I5<2diy2t33pfJYZ9b@G)4RA;L)ys=UAC+{=@E^ z196;<0G1r)UN(1^vwa~6P(y`r#tZygXxU6X@ypVt);xPbylXzxRkz3;DcZ0QdrvMQ zqf=)7t!(u&>`gv=$V4WA9ypS5oVZ6@Ky)xkO5yL}o%U*pmF$xSYeSlEp>UkpI)Z7` zz3K<+=ukfV+gw&MpHq0l0Fb$Z!gYQECjJho!ysFi&xGn3YnBV|L78s(fb`Jm`wzYK zfdwIa#)tm_dro`uHp9zt6?D_01%Z@dcC@|yDM!)QN)n;4MI@!GzJ&&xL&9j9Dlrh$ z-_W$HMC-`8WA6(}4UU)aC`}}3}^{FQp zoWwmV&)gEfTKv(D~YXO2;ESW8ev^b@Sq%&xA5Zf*i`MNw35y?_)k)Uc>70X z_{MiKS0AHL_-f6)WLf!m1>Zk4CYkSp<;-d9XtwUf>X=lQy9%7UZg&sa=U_*?c4t6|_1U_!L!WwKU3MQ( z$Z~z3T@whu-oxSI%(r-0&USF2HxwNMnvb{kB=b6Qm`dWUQmah3FQr4P`FKk}vh0X9 zOWXEx!%!*?EvWC){8WGKyD_|=-l{p;xUfeE2AN7-cb|-l)GaQqD=c${442MBVL7uJ z|B!K+d)o_ltw`#z11O35>=qdps@qbV;M3KSrd=EzKvxjCFZfladp>Xjy3J9^1VF!% z2=2RaC_o?`(u6f$>k>+YD^jqLw8l{xlx+gxH*11Egi8S^9FTdEU{jdB_mUx8mbSas zee3Mu(rUu&w?6FL)M?N>XEXJpQr9G*@b^6xTqIGQMs+)UiBCi&-6mi=*T9<=88~@@ zPume|H(=EV+c^Ug)s1Hq2~VvJqUph7_YkY0RpF?hh=oCZ_h>w0Mtj@c9N$VRd7bbj z1IuART@eyh($aSL409;8#5<{0cqz<~Kak~-O6DKARLONsx{Oh@t>ac3?EQek7N^)l z+UcPJ1<`L&9*#zr4rtasUDyo`6Fs(*d8wc4Wxk2Rc7CjTXv#D>h%Fi7rfYIWgEI+D zUj$b|d1673c1J~$ktm8)QtTU->;qYvu3`_3LB3vOrm8TINp3vKgrv+qfo>~+<5S%u z>g5WwDA3q>X_)Jksv6FyS`!x`o7(K&U{Np=!x@*JAw{Jv-HZk|AGBab>`|@!s4S2? zNiZfi{)6D9O$~oyt8g*o*Q{BwFcvL%#qR7Dg7uorxERjidf-*#88qJ&$$GF>2%l%L znmuTpIb+ve3zu4EDzPAZLIRQ@fwc%i{k1Me!`Nwanra;2iPi;05h(L@wIlH3GC(1} zK-O*sn}^`P@16JnKhTa z%Cg4y7z)d<=2wh*1P_Z%yHvn+FFJOCM$K)y_L>nMsY|4~-Bf&tQUd>GM||Hz2`;Hd zIQ{0r0_cs$LmR1u7iy*K!Hr+R9;&%5W`xsBd3|!ye zsCRiCy_)Nrq9SEeC*5xcl9Li&1nZKi4`WjFz=suu#})t|%8v%nw z&<0Po8`d7VyktODSiRR!SP0J>#w3oA=!uQ3jS~TMql37x&?`1ZJIx+_Z`iF!Xh3N+ zZP#84_a?v;CRjdAx1}e6JY3Q)6TW1@jVzEK6?46a>O|^^gTZ=Hi3fz_@m>QL+C4CG zG5{xo8sdYk0w_24?F|K5ya;u9JKm0A0HgfUe)KSpj6Rya{X2Yy`5v zm)ObTGLVJ6S&8l3tE;tZ{E%j2P+GDAl2l2|Igndr0*&a^Y}^zT!AIIj`|#QoG@p)( z)jjgxN;+lv%y3KLf%RsEa4%YSlG<{UfYU}OZ}ZS}sS=Rx?1LW7+BO7E#Q;66P#UQt zcRW?)oc`E!Pd40VmAFo(YN7sUL6D5@-c{QIN(bPG1H^8Ja;EsTy;7RYaJQN5D;SfY z@v+*)#dtbP<;JNpopvP>C>inpjjq0hgC0^E!FcxKkf@ZJYPKI4QdJIYBvG~8+X90F zVvWzauI5`Lv_R4VpetmitEORq$`L3uz2PuK#|=`#F_PXV%c|bP0TSH@RK7DRkdhr~ zC=yFI7%TIpmNuq>@d9ka9-&7iFKGnmuOj%ytNBg0q1uP52V~A9U@Qdx5fvKGaB-DE zu5x4}Q&k%wIzylq)~s$|4tG$CbV{B*{tB!Gf$d>P-N;yMmSs?+UaS-oj)zhj93q649oN08Wd@C3eXi4^JG}3EbV-l0)d@YUY9v{pXq0F~@urwE-(3^@5 zv&Lr!SksOi*y_8Gl0%W~Z9NJ4`trtZVFLoPZVm{DBOjnX5PM0FFZD223(NMvdyhml zi|QI5Y!Jam0^!y@#a!^pJZzQf_r7uwTBJ&(c77iW_Qu6fc;KtpQ`(tmL67{=LO&dK zLleiKxytsfquwU~t6YVrGAK&6wyg&Rr|swg7t(X4dPt<22|2ehmZ=TtDQRk3oi#p~ zs?ygbDJP8z`F#iK2 z#%}YmRbkL`2Q&|9B7$n|Xs%Yun@cS+4-_D$1{j|}$a z18qHdOarkLnS>KI8n-gJHY6yO?1&}yl2Xonp|7Ie_W=Ouw?rkQfFl(0-o2f$;|bN6>v3u5vNcz_&l ze4z2xw~cdB7W0*yy?52;z<9C&C9%a*IBwSzEU9K^$eka5WYVA6Sf zK+)5MFK`$^gVr%Y_XaHU;^OdF26=Vwt6jE zFbhoD-kbre#0&)vHPtb4OtKG@GixK!>==2M1PhQ_9nrd@FuZiaF*3e&P*mEmjzHB(%ifbws7s{)IWWl; zahLR|D#xnA9QW9`-Z23P?}SEe7hcy?psIv}!GlEg%=W@<_{M)^xz&3s3b)Nj0tTF~ z$6Au%)*XQ$7-xVWcpd(PbS#?!JaWqp+qnQ+1w;hulF(HnZ_`5_56BP%N)6-d%Cra{ zq^w+4BW#bo1clNxcHy>JKv+AYO0{jvAo4;eagt2iZ<4_g?5<5fmBN-fU|~zWfF(mW z-1jtSuE+r6kok$GKW;!NX^$15ZDG%t1VP5KS2eaa=O0L8gIRv|-U7Bc8_cpl>@D!$ zf9Qq%1_WxM_MD9zO;z2!be@Yy;;&R9NI?NK9>fnZc>y#e6H5#<&V*%p@IZf+YZ^f# zpJiDQBy;ab1R1HIj7hdGoCn2ly~(lS;3a)g?*O6-NxbCyh?<216TSfI87^~AF;bKd z)%#MH-IpYxtD_!1&XTg&NtuVqv`4Npk2p+6bQyilDJUsS(|DB=#{_ zXFwIBnG;!cO1G(&%o~9r96t=f`%o|0=Q7?R;4pO4Tv6fuRK}f_vma(fLi)&$;spwP zU(2$n0NC6Q7xT~9kqhS~dEX_23ayMr^*6&qWf4Qi*;bu6%8A6%zlJIvWz1}E3(xm` zWIE#^N~C~+cB?R?xe^3l zo3txrcn+xdZFoCMbA-(tl!IfhV_e_U&P5Q_Nv1y_Om?GC$N0SJmjvzBp3?TVWjWQr zyWrQzC^Kvh0x-<@Zf#Hmf&Jmu=K~rf9+1;(fphZ5_gD(I`9o_+>PW(drbE)=h$@Du zp0wNMkU?V zV?!~zYH9`+c;y6)M=e_l`2TBn0F7)s-Pz{%Gicv^9&{!a0WMI`e3j!H;DLGG#wwjb zvuG1M%?5)c$1ekt_K+d)28}P6gPsF5W+>ER^U2VP8t`od zyTFBda=G0tMAD&j23bYY>!AS_8w>_ANUm9f`1*0G9`JsDExzj5GXFXT6q4O3Xi`U--6bnH-TQ~ z!fP$1SkUWka8&TDZ%lG{;cdvPcQAv&b~5e5o&*|wbiYA^Eg!h5rz1(bxd$p?1sEOK za2qfVUuLhA+;zhl$MzVw@KAw=7T5(tGByLi9t(61k42%}*kD#Lq>co%U^aNh#l?2M zYiRFL$Pgsps*r`f-t28)+7RTO0l+0xn@g;P!NTGFEb-&FO;;b=TF6q;?cm zEAUaU0omhwstWIWK+e{ClCT&CbR|5@HxyXRTxjD#W@+DkdK|Jl?WXxvG!jlWdZ zFwXCVq6}7p#hiqqER%{_ifx|*^5ek=aP064f|4VnyUp*CZyog8a+=z9p`j{;GFjWU zE1UVRT*ZG5=@isclCD~`wU!3$iuSf$T;E#L4T5b29gA@TAv|L`wo=*VhX(3!juiBW zeuq6tfXDC&q}LrMw2o*2q~fA^-UbAc-Xj_Wg@g7BQz;4t`kv1>Rx{$j=aL~bN_<}L z3$VF*Fs21ybM3Bipshvlk_p8VV2yMYl*btZ+_dZeRvw4JMvd*ELH_@CQxCGeOD z^I;ENlWy{`?K>fdvfWe3BtCrPAy=iDR*_%+YuOn>KXBLO@4>QTv=LUwD_3w!j4%$@ zU8G`~jvu~c5UHoL3prS5etcL%_o6%xLsNOqA)u)z-wy!nH#9VbssFJZ}1ikK{7@`-4?%AC;&mKmHwJJPls z3L%)suHheoHIX6KT>lWPF-glJKY-cWy`4zW=!~}?f@PI>m$t~@Z5}pKbODN~QXHsi z88kz4m=e(N|HISU2PAp#@8h2`qcWvdsb%76EnS(CxgrDQH`{7urs>L+Pp4e@Sr1B) z0zS|*&273|Ia5<~X8Ev|p5`gRP*G>DQaCG{m57ijOAAmUP*H!^?at@>Ph)s<-`wx} z{d&4y*YzT$o#Z~2UDuH7(A|{{hY@7{@)#168Dy&gJ~2f`Qas3i=GA>o+diDE?6j+j zRev0gWM8o-94SyP+>RrR*D?ThcMK*$ldGnHm>pGb)}2R{+?+3%IOhV_L4kKjPuN>S zPNEo|i&`udPQuN&k+}%I$}%L5^rCl%^Q5mQI^)RZHSGGylWMjydLZIO{cI z`L@YdouR3qpnYlmK#;j+&`G75GvB@Cn?P{pP zPk5v!Xyuh;gNSz{2;uGdn6R9q-@k|6H-lUh)@_Y@#tRA=O3?rL6NqTsmN$dB_kdQm zT2N@QZg6fHU{2w;Dh&c!d-Uv@!Vp`cng!z8=~{?tR%KCAShpMq{9H)lIr?=M0{VzF zF0XL9{r86J2QSM5m%h1Fyf|o@e)NtY`jYeF@1|Av>$@&yI@K*-B!Gav<3uY~ z10u}Wkt`V)22c&t?3WOHLbiIKGr!2I-EKCM-elZxbkMCUcf5D3fndL(oVl$}1R<@c zpDis*RvUpX@eVM>KhPLO%-hivooVEfpzpnVe}O*|bXHjhB9vKT4MNP8tXt^Er%y;@ zy`l~eT9QF@x{Axi4($Yk>}pkZ)WNjzQa&eQEeI#M<0t@YJ_i?IE{*%fyx*fdTEmLj z^rbpinqTbI-t8OCiMan&T?eDe73O#(sJj3FE?N^jG_$C26%=}nxGQ&3R%lm7 z3Re&$2|9yfYRE!gU#uLHY+BAfsz6`Ws(ahy1-Vz_dpMlY=Tj@R{yfP;A5W$if`tk`>QqZ7n$jTR;+^2^f=I4JpVEB<{aesX^^zNv>W)IJ zz7uzofw!BLO24A@v&)upHUs-J`O1N(k%b!#2$-!<-x$Ch#n$kr^BTs`}v~w~j zo22;|WC8Fsl9a{h?d5?yM3$2cMQBY!c=@S48>FuEZt25J54LwYFjzqzjrjU%7hBN4 zN)=!~e2j-$%2aG*XE=m$6qm4FNM=aBmr3mlc|lF^vCBU8hDHIj#k!?Yrw8p6Ab@_? zn(xWJ5ReXLSle}ev;yhL8}ZdjnR%WVB-Q;B-{&MLw^V?h{w zBfXL3v6-Dgmva;su@y;%pD1+g7Chgbz-z%yGk`;Ahvz%AfsoEX&>${b&W?`2;=K_E zgK*$bjpfl?V*sFsHHi@Y-4B?WUHa-?=4yZ7>}5LQpDb0tvI5cGvpkm9_FizvMf*}pxT<%$ z^T|aXv+9WRv86jr#6R~wKsbV(;Bv`4sTX!xqkiU<{O1O-tmyD=55nH9YjQK5J{*<} z?9UGD<9*Y>P={TwZUT7!TSUa!>b> zUhL^T3TvDo&Ri%$ZFy^yychHthU(VnA|}r4V%UbW@Cj+cP~Nz7o4B$M59m|82Z`0- z%E)UgH#T4RAE@RS2g-HHGs&`v~4jer&;iui@2b%dKI2;PvM6w>RdY z>A|3-h<4KqBK5Y)%}jIj1={7Nn311cCn7C7}- zhCLf$mS#9OmQmT4J3Tp`<4q6}j}NTc@f1O6|EHBry4IWDWrd}0Wki}hi1ng$MVffr z_x5fwwdTyjvfnD8o1vvC$*^1c$0=8=BC!18{fcJG|59ese_P z*NX90H=HkgM+A!wMM!!dDMnZ539^dJf+~Ch8Z&t9b3u7uSz;xoa9hK%M6L!j-8cf? zUbSf#-s(lJAgD)+?QS+>4h0l>8)~5lDaM$@F~Wy^&I!D_^AiQ4;3m*tX>u(dz+NU< ztcv*ii_^uL4w+MR%Sig`u-Ort^nT&sIIK}V!MY&dcAphnfNx$+4@t?$W>|t6ESe)e zIk+G|s138Eco9V7cIiIlsiRY}>213!<+&NZ9oenHpE!db6Mp-Kqzs<%yb)(i#`3$? zUHO&06XaAX+MM*fG>(jDr1prejTBy-S$=xnnW3$ttBGK=@0=dDMy*eU3z|H}4)dW^4JpcUMhA9ZFB($pT&%Icj*1})V_ z{&+gm9MHeC`Y6k3Y}wHL_+HT!sBK&sh?u8sqE0}^!0HnnM6^d28y9+B3W0fEJ+OY8D{YY<%?%bC?`92{F{J5ZQ z!40~h2m}uhuK?Y{sI82G8!pI39r>7VBx=jg2mbNI#)1(9pX-L)6^U zfCsb522oQ&6?5F5V7b`H^lI7Gd+r_?Bq>Gv|XQdVR z(Xd|fpXZqwx|eXuV`%YfEo9}@u-|OSo0QD|-VBp4Y&*P;31qw5EW zeHY3V5j@6Tr z+erSre3l@T=GEWtK*}xjVFlkKY`WrI-RGXd1sPEn!^`zco-3Xy@mt(P7 z9if9v_1JpaZiw}e6tk1Kf(5uTU2mWwio^{Jg9{2ejJFdvdC$@8bu0D^8Oo?< z>h@p-wi9`{0y;{|8zcpbL7a`^Y)%GTAK>WfJ7cR6A-){2aJnOtc{q0>rX&(LB% z7j1_Zr4VYSLZn>0ma2-^VZq4ur8n1M&fAq;u)nI-$HeAIMA0{uxs3yCFN)xJ_elK( z2^Y-s4BL7+F)L8@Ei2aDWp_Tz&ll|_Bz;#PFa|P)6GvbLL{Cc%tXu5Fhg# z0V{(jBns!p6^>okG}S+lcK%o|gX|_-Fgzaxs6#PqrNGm92OnOlmhGK^z=rhhwR}Bt zROv`Knq9PhBcI^gg3(#HDNf+kuAW^d7~X`Z>>^j)X0wUP7;P|mw*w3^a!V5@M^H$| zvVJ-VnoA)GajKk;8|lm$cjV0{bS?>*xX5)rfKA)M%d$y{A4=n#t;}1lWHGd|=D+}G#2%s~rWz(P z?mn@gLcJw)GzoaEnan2?uBCx@*NUNN(a(dV-d`Pf&$0gy*a|qk+r3f9c zIbhq9DR+aLaM(el55}J&P>M`-T`q9C_hHm%O5#R5dzJYpLbd~3wUq`II=OK>@QTzP zkXLtq&zMt;Sg%0k1;>vt-pMTgfuPhElf_h!dV^_%DwdU0afi9O4}p6x!m zyQ3&{6C}28KEOpt(vhmya)00-eAV10dL5fE4lc^-7%8@3D@MT8J5$R*m4UE4(~vSfjM}`vj;|)R=v%fqV{+ z9HLDPqDn_*0u+^ZU7-IsqF9_KK#UR|`S2nY2=BW)VnMIa;z8aeh=hqVIU zCf8%Iqv)|sDe^i~=jUQwUi)5QZYxyVZyvmRD%uD60DvkquX4?bBZGPM5Lnf1g&+IW zyRuIZ8V<=A08@_UVpi3~I;0i1*xB0};7RXbnT-|E>6;@En zInnUyz^oWTgD4+*OrIsca(n?)y-q?LSiI~?XfknNB)pC2Nkz1!Fb;JCJ1Iarhc#SI zSwdEsA{6tLPFEqvH$@aL!z(`Q@LV5hYIMQkmYa>@B@!h1SG?-RM}PUB=|u)Oc(2AE zXa0H`%Diz&WbrazcY|Lq#q_Y&_cJ{EDM@6+DqrD~JkD%WhW(P&Ar}HH0geqUd;fD} zsrs1@pid8Q3~zP84J9b4vIV6ddsiAQ&hpad`45?oUSR0*LcR&SpdAqW59*e`5PWA& z2Pb6}0rZVpv#4}s-^1G3$nU?s=+JKb`^y2b{O>DI_JnErtf}uH&-BoB4vrEb*}zxD z{YCu0S406Z^WOM~D+W`5y*@Si%c6MId@U)4a1DE-?>@BPlxpC%^6Gt9AwwRB=zm)_ zQaDE_Iyb@fZO5Y{DIoUJARXl^sga|qj|FFcUW5Dd^I^bzk}(-*5R)x}>u~yPPhuIYYdZj4{XPbg=(-Hrs7;^a>y!*;geH%3&rgW5{>Tm8%$!|Yz0zp9H6M@=kWj*Kw7|_!nI)@LGbl1KRe&P>Di6~YLcj{q{Vj8ye9bTuK{t*sSwoeh zL)c1{?}*stJr=B$wqm9VB#1D^tpr+ZhVXtdk+1zEZ7K|lr<5Y`pHJgz)TVtSg_t_Q?)#qg_&?N9~+JM9zI1f*tFyBWA8~cjg+ODBnqPBCq|9p)$&G38;g}8+Ic2*aM3W zW+M1x2Ft#!n8#46Q`A6v35xE7q!yu#5Vn#Th2sTYbqRC$&|4wJA~;JVcSHYLWLVo9 zoP;063C2pL0lNoMKpZTH6tLplK(eL>72>A*kmeMq4A$ z?gCBPqWc;jHCiF`PzgW+9r=iuH5&%ue;3q{s@teRL=`w}(R2@pe%&!&c#r|RuQuwf z$TMlS3H~?etZERMlQkJBxN!p!)4i*ZAyA15%8Cfd2xMN3K|{urp6djvzP*7W9I1#v zhUHKVF|&s^dZ>k`cuIGG08T?Y!<~e#z}08+5>6QfE0u@5d3wV!&RVG>-9BCYX!Q@f zru8LHo3Azewe9_%HBS2#iZ7IJl8)j5VW5DIF6Q3r9)D0pNiogncDF21kdx9pL?E;e zPTg=YpX2lLy;-hzWEM_G65q&GBn4T1g^B5n!2KC4havDAORNAqn)2?x7K5LER=EU7 zt91bG4xlYT57(yzc--5s@$IeZwkUx;hnS#qPux(>;q!Ul1j^`~0D_XI|Hlpu;}di( zIYa*8TEfGIPS8f5E~OHhXcQn*Xd7$e41 zPt5wh1H5@rS3LM?3emj}0!3I2HX{cZdkLMq3@t!wG?LlbFGNs;C|C{p|Fq^SkiPnG zG#*)AboIZ3mGSD*q@#e>vBL$4>(J&#USC2tGKh{ST$3Pig&~Z$fT2uQmv(|=76e*^ zx)j4eq$7?g-Gao^{_DU?*wvtw*CIO>jF;lnUig~lw$>dyt&Z>|)F6U-g(webupLDI z(teb*QWU&0dUg)c1*Z!8M0uX&`y)X0Y!@V2BGGMG;=`dt&yY0ym2v6_`Orn8tEk{; zo?y9GMgo@M*{lDk2MTPKi;Rb|z)+rRq?7%?mOylAV#h}B2IYljAZZ+ts$gD4FYoDw zqcwGb)FHSI-v)x2JTB)6gR}ytq1ITx(`t-{0ZoDiSCNi%JmUpI zRxej$76)1|_$A~htP7w41&`}-kE1}#RWL#DN~T9<53vU{Ib9Rd){HlzQPuu!_~t%s zAPl#7oy?B|*>i2ab!;}k@DDj}AU9_o)N3F%C<)Ie*KLGV;f$JC3wze{QLT-2SqkI?hR zBhio<0u1z!Sj3RSz6U)fjgIL)&Un;FS|IX-attlJ1}E-jgM182q?fQOyC3YU^mHCb z$-~xk4O8hQacBw?r*}e;0N0H{7w;qw@g7F1zywdjG(PS{eq8etq0QNY!gvj4aWq>| z$Yx@B{2QPIV}cUk18ETE>p*{y(SN)YwTG_a^6N096+C4$w)x-1dM7XcwH)S^s62`1 zy=U^F{x^%*nG9Zt4m(NiB=jgJzI;`?MIE{sL`~u(Tw@TFltO`&61ulfG+(Sr9yl9W zoLFr>2R5wQv|Xu}e4o&X3sfjZB^mwfXQE~@dJMs_z0kD**YLPk1b!a3$HECBqyR2z z7P{e`z|L?DNB|+vhi50+Vw@NYDk}T0?!A^<`XI62(~yV_$?{*#DV|M!HkRTVre)0b zsV5+`5_P+l>sYw3H~_yM%&Gw z7iO$W@A7nAF>5$Synyz_%3lx`VT8Kc*>u8YZ&X0sbnSu z!63WAl2lC&tDJa75KF0HHb6gHtzmXWU?u-Vz&(rcPM;s{4zD{92%a=`86ca&7t#hh#-em?SMkVx`b5R znx8nSeaP0t4ea;BNgRhD#Q_Lt$4{%*5a1+*>j-CoVJvzH+3;@xWVllxw?q*FOMObo zm%CqMRG*9#0W}S8Z-&~crW97SKNMC)HoS)XVDj{1K-`ydol3Fs@#>MlRgR2>CO@GD zLE)@&F0}`gLJbgVTL{%!^eGPF!)k!Z-4+Bp-~;S>vRwHD0dHF}Mc8~Clr*op=c5vm zW=2nB0HK-_Gn+u`9TgBG_5zpSaC@X=a9?mtBZQ$0im;UqTgXZ90c0q3!y`<9(p(T4 z6gxDDPeFPEJzol49Ic*w=(nZu2fFO*Y{(iGbknIAf)YNn*Zq{IK(aj7BZ!u?W82WN zMHZS&((e-jvvGL9YhvQg%;DZReZBrY08tpRp~YJ}2)>#@gtz2lB_Y3EdgfJkWp*B& zI`Hpcu={fB6}&3gAb>I$?JF2<^^DP0!DyYJvDAvY0KCpz2E;LF0bCebhUfBH{X8g* zq<)zm^z1a6Sj(t|)`B`DKXzXbeJW`kw#bFRZn`W8tymzk7~17HL=Q-DkZZ(J#KbTn zCdy8OxkEOq`j$uRG(7!Eh+e`}HcUjf`G|wz?8-Cy&ZLgPrsX!(w)25Za+r-Qe7_GUIXxD3 zW$1-q@T^64t9{=Xn3ojc9C#qK9U&zC@6Dv_AZWZ$H2LU017|R;HXKPc61xb%bv~?p zp!>o50gl!qZ&Ra!>#+zat9FQ8j1N~pz=Jv} zbV zH-NEcd65~iNn-(1ob{$r-^0> zK;?`fk3{}+T=>d@M#KOMCICABUg?8u2}Iw*ZoVdD3@yvT2^qFH-{AhU@ zSY#5Jpl(If;el0Xb@cLX1j_`jhN~KmVg-T+L71b*`VTd*&)Fqu#HW$aa)vr--Xi@v zh||f?K1)M0z-30qR3#_#pFIfHWP>uK?B&U#&iS$0L_7Ji# zla9WW&P;b}UKYcNIEh4pHnTX-0iR=11%(sgh;6k-m)b6<^FrdbfXwaV#bKFSV zUS5{YE>4~GBaRVjJJ#6*8{G(Yux7OEf+{ujZ>U+n&sl`~FnO(cX(-{}D zkkOrX5=_y?&yn@6X8hhotX8rn=^A!CB+c>a&TQM&zoI4z(0 zd_DY;~&yi;F&RpT0f7Vw1h z?v(_%LlSJR8ci-Hq==X4T3ajjP;_he+ySQ=MY7%_YWGd?9F49~uYsuh?`vsrE%p8# zs1#bM=e_@XKkeWB-~B`p_fyHHICFfeQ3vltBUzB`gk&6yjyKZw?-R7*Dl(F$Qx!yv z|Agq5m`-2JtqTkRZ-MAK=MtEeJac>|Wtd1w#71=hU7IY=sMi+tTcxyH(mQOh0YFd>(R{0to}bWP(%Q z-mo3GQEq~dE(dT(4sqk=rJ%Z^K$w&S1mo9(h#NOAG&}`%HXEt6kyf~9*^Hy;?K|Q7 zIS^$YBq1l&8CzuyFJaS0Le>CO>^u>03Cd?Eb|!p#f^t6|Ji zR))>k`5E=2756M+qwiJ|jasZ23CRdZNyCtIBARnCI`J;1QGlH!v(REE$W<0Hl7>-m zSwKS6lk6ars7M+ZIzqpm>VyQv3CmSjkDsN06V{+K+7s@?{SY(F=A#iw;jV<|z^E^Z z=>w!t*lA~#Dy*u5p&YB4I*#v7MkU>xvmAhgRdopE{T9S@B}HkG@COnrR9C;%(q)WE720GsbhEchtx5m7^icJ|^G@>Vz<4UU5-U@qAd z#{1?YLd@yJjTj@1eETDDF9`#y*3GC`N@Ku5Bl5tn@&b*n$H%$lD+Qd*N!eF!icL=YL{IE znK~6YRq#JG0;fB)p2-KyZ?IwrTf$ND_@CL>!JehX#7)MjXHoGj7X=f!A{rAQs=;qY zu+GVH&n_ZByxy@p9}ouu#q+Kl#+yL#FjSCOHLMjxOO2z8T<<;2EwR7%#T$YE!^hWq z2UO&o$LWDpo8dMvTnLZnh40_0ELgAHxqbKI0rIaiNS&sDLb%#UBxI=pFoAdL~4%q z^8K`#^-5A+!5XcMqyWu|175`jYy6$$aijTn=@Jcc+Z_l=R7}6LkP%+Ebx91tSea2( zPoU%7u(|qu-PcA78Q~ZSbKqYh%Ke%&U{|f@cB9G<83Ml4)RY%7R)Gh|j$UZ+ge}MQ z5Vnkf{cgaSkZ&7O3O70XMpMn^7z-ud6g zjEM;_=EJ*xG0%&;Q^(N7z$ULFaHJT4Av(=i^J3(sWjp*X8%QA~QA|sb_d28UvLH`&T}0kXv?CBI%;wX} zN);UUKj8MhuMaAr=hmf93|I_;Qr5( z#G0^81a{Azk~e8uuV3Zb@I4W5u1K8SkvX02{q zbhbCc57KDJPR8FL6%m$d`VUnJ;W86Uy4yS>99G>dHG{kY6^-G^VuwU z=y(6vvC#65hPMlXV!xVp@U+zY)VwEXI^!R`#VdN3pKCkc-UYQ-<34(NKK6|4g~d&*;uv^|gHW98npO)Ia|Z+dkAK-wF8|DZg}kW#>=7=W8vF=CI(o-Vfq zZl>Vv1G^TSG1#&Xpi<#um9`W3ne-OnZJ zmOmfs_yL1VxzY7X;r`8BF|E**B5oHo1JHzJJsqK0X15P(2YARV{g1+ zA6KTaQoPfLJzWP(usyYInqhZm7kU=Am5xkV`pruK#Hd`gjD6_FQn4aujLhM7Vmv~2 zjVzTz9Qr^qbE%BFFwy8p8@{@1jJN0LzLbZF8>dyXV(+rkUFCL3Z`ED}`>bQM*5(Y7 zxF3twMB4zmu^z!r?Ba=67$s4R`?z1C{&K$?w}GZ}qUeet+;r+IvMiax8K0!c5;wMP z+Rp1JJnJtE6A8|Wiff-rSUXLBVUry=@lW9gNv{!Q-JLzd-t*zBAsP~kC=)#D3AT_r z^Bzx)-&1H16`Sy$AJ={J1{{~Hw$$Q8`oVKZn_u$g{(WI_p1*Gc ztenVx(%E8DrsV+%f0%3K8dB65>HBlt77r$9%>{9 zL+6+0A8vs!sAxR!lvRM%0@MrY!W$=Tx=G?rhoP^QN^uI=cC$ z?KuWXk(n;gt!4~LhXYI6THH;0hd2?lX+k$4@qg(L4{x+HZ^<5^)3}nT=5V`n;-Z8g znI$K5;phUc`}UK~0VDbKdccx)^5eHsZorBUu(WM+-F+rt};l4y?thw6;>-*aWty9XHol%IXW z?HIDd8?z-xZl#c_#h40-J+)bfihcr>M(7D;$_;=r9Ik}j{MassH=B}qpTY8{1f$Ym z6Q4jUL0s8=cq2KCXb=W#+rC7Ty3tvrFZIc^CMakL{qZK#ka%YQzmZzTup)Jrj4gM{ zSjn;fG-Ysi6UzBwtB7|IPvfy(HI~$~)Dv_7-Nw`qu}iHWO${?({uVWeu1N!7I!$6J zDh__YQ4rW4BEwbID>rHHpE!;7SE$ZMn||_rfPGZ%!^A^{AIke`mrSjqEJ3cGs!rvI zLw^1?ICjWEF&0tfJgdg|I_>N??QaEo*fFfTDdgv!d-Ea{4hns-zoNH zAN@UC`!O8-aKmbq(^VfV*#zyv%iIy^G?2i)p@NLQ9Rj$uDbGRg9daAEv;@zX6~^)$(6Fgp8IXD|NV9M z;Tu(0d!^@Je1 zA&g~f$QLw)Mg54L)rftgb0jMV+m{)aJe{!+mx=AB(Y!PFIuL`GX|&w7O6$^M*tmb3 z$FXgyJ6}|>-n{TQg(}dlc1d+Fe4`*?{ZW^&L_k_3Ls-Wi;f25wj24N^!HlV!ZM(it zH6Fg+5|`EfJ0AamUp^OJ2=1n<`)g~lK7yZOLW(o$iI2NfO~5~f&7hhJ2HY&Dz&*lSavIn^|kJOEuBW$+q-gP5b-TpFh;x#?6A& zfUZR5^$-j!h#yFX63LPry0DeN{cIUY9t#U&pN#GA*(|m_yXcs3VUj-oo3_^{8uxj3 z(HN(11<@-XQnRhI4|YiRph3`DW>;GaMRlJpzwPzwat)5bR(J;^U+qxc9HlXML9~-v z;eJ#-&v3O-^;Kr>)&<743oC`2v#U`5-+Fq{q8lkGdIq;vlVXUbXJAd+>y^U$R2f^1 z;q~je?+(ZBL1pexj74f~4~h1mlVYS%uZg8141AY?tsGZe)R9N>g-{4+9p{5dCnkoE z*^12#L6i1|(ni%XZSI2UyFso1f7FTbEzI9~P@lUq2G?_+B*u^LB<|xzU+v=n;yMv9 zO8%Al;6B)R?ohOHv{*o#JTcrRNhwmk(Oy@-uj2;L2#?ZBh_|g^ezGT(`q(&WY5=ZsqjjR8P3iQ)<1|JjDjr); ztwQ!SMm4f+Ll?#@Clavw^>^&$8?i^xz#bXopSksRNy!cIzzzW8Zk}yomMQ_>r9OKKT(_KN-On zrE$D75B+7G*Y@aKC=JmM1L*oY!{a;_o~!xF#*oAg!5&^TATZ&h>l%!$`H0E97t1 zUyk@F%+`+_^O$iDZCZsyc{0ORPHWvT zW_lSYvovHYcP9o?@>yD8ktcvgC$FP-+`7stWl}ECAc8F;`_uk=G z-v_CkHX%26FYmFBt8lj}zMUV_58&G!mi@{f*~A^CSLStEQc|2Pl7RhKZ*k?r!^lFe zB*0;Hx7j)ftzpnUK1|&~-LJ+onQY}$aSUOSn7`Bb)Kdq=9o%o`n8oyes5R)bB;Se# z71bS8MR%sR#q=UP)SnvjnK-VF9$=CrHz(e@tXyFci@x*B$4A}?k>t%BPy?b^OJZ}P z$5~$+%#O8EWZqu-ewW~^e>CwS-yahKk@2^g=X-#vYAaSZT=p$O7XX%B%v?1q&uC78 zW&Z|a8cb2AW;b>ReYV#Q$x@W|_R>ed8>uE!qFeex;>1295q_nlVy(A6!zH$at)5L5 zt~YfhPNl6A_a)9nG%rKSYact=s=che`s#)7k;c7l}EgKXSnV0`5J&f0=u~IU)Bim zBM-oR?%>a{Wf3TdlCheKJqMNAKy>E#1iqvh%y!|;Izj>`N$SBmOSuyMwXFSgSti%#oh73gz z*_|;p1D~^w6UtI|tp78p^K5s}Z@EU5$1J851rNkcckp$=c~`>^u$G2=rgit#Y9uS? zds5ri4+hZVxTaM6lGk+`q1)zbR&=wcU1nKE z!sIA}u;fK-;DZNruiIYO!{485X4@_~Y%-Yxjg~dF`HP~u(i7Hm?;rNfYK`+)HCLnS zKyS7Ac=JOXbqTPoB{g#Wg|*!Eo0}z$#ca%I?7vZ~%*|}`u&8NswimYg#V};03hn$^ zgb@>?`)tL74O^5e$_S`q|Ag2D?DMWkq(frbEWGL`#ukO?{xqijz62*wJPpP5Gb~pWn_dWn=!^-C!<-@g>Mq}F7 zGpRn!z@^$Cy35dUOCnzJ$BJCLaS6iAPhA_`^aMbS&m`r;ss$x&X+&tSX#uw)HNUFx#HH;O(H^Um9xXk@V_EM!hp`>hQF>hXiP_vN^ti|{ z=|wvG3Xoi;y+?)m4n+I>74L{f)ipsP7!}!t6g>0~+^vA@Rn0ONV@WXFfP)3bW&E zQoUd}qYRowRM$nSGeWB7Sj!sTZj3w6ZVUGpE(Jwr+N-rVfU?#<*;dXzb-uQeob6?$ zxxJm?y?uh?D~!swS~J0*CBhc8~Sxit7S+T;7ANxOKl%KmIp#b zgYuT>`GBqy2if9zlDX5PTdXLBH^PCwBOVVf3~8oC3zhNQECps$$ISc*Y>EluPexRZ zQO#`j?NCsC!gTVmH~WR|nq#eQM54O4u5Eb?n3xzZtI53koaKrh=q&tFB<$HXS~#s< z812KmW*uhBV4u2;{9pEh8n&YNw(z+%XKbJs{+GY8%Br|Q_?!(8I#gHGcF_sF(B$Uf z_0{h_46}_!mzh|o%HbEs&_qn=6$RI|J)sC`Sf8IXnVtkWfUO?ubK4)?>}tD%zo0nt zhPQ4JWi_Tr9Y1xRM1jCJy3&XbGqT2WyS=*9$+uC+YKR#A_e)}#($uMS;_M_x^jVKL zhxUcsy?`3KL3vVpBiw}mIdt!gPpWgK9Yd0B#r?@IhnL2cx+6Ppe9roQFW8*^$%+gV z%0nE!X}?-bUIUMz4YQG}8kMWHcMrbLN{;lIfeF0&jv1T8zu7WSVRO3^-6mC0TFK!+a}C5X*Bt^-+~D3-38N&vj2dmZ#mgq(HAZJQduj! zF`L@&!5>JN8iRC(FTOy>#sr?=KuRDj|zF0Uci9Qvg zdUh|${NRnmkrEqm+BT$Tj(g_a1u`2-4pG#fdZ2u^twCE9kZ6;n5Px7>(Xp~PGkC5{ zW%sWl80KxEzi#DqccQAtkzU)wVf;2m8nvKpt*4KVcV^EV*?i=B09w_Bc@JLvIF>T} zVskV5I|7Rqt0o7p-w`HZV)D3{S4DL%abVci-B)DJ?M;thewiWAD z2>{j|;v&Nu({3Q6F-|L-vt6eD^CHkWtZD*?cX8&!JkUH(t9LdKM-QR%Z$;GZ+P2aT z{M1b{O7Dz~1O|=3z3l+WJu`Se%Mq@XNR<^<6kP0jSNiyR?$Z~6m-nhYPT4X}pE~hC zb$iQZOIkmwx>+26a&KR3-WLRysr1O~`P|ajmiD1=jT|W2iy!y39yxVlK};LK00K_e zb+w%Ycv2b5eg0zeroNw@P%bxa+3Ysmkn{?VKI+to6&l}3q({q;e~X0vZ*&Lc<>&7b znEKbi)ERi5I*AxJKa$O(!6ljC%K&;MU~IJ}1wNdbgOzl71q~ z+rli^Y8BBa^e+Pw=zPffJ-{X2%>_4Z zqpX?QxU(cqy*;5}!g1>3Ydr$GSm~~NWi)KDEwXS)X7b+j>K0*=s$t8$>QQ4*_LD*< zSK%ceb+Wh8>Frc^Pn5%+@oSQ3Mcpf1UZwP4i{Wdn|9F?676rvbr);C@sVVg?%Ud}i zQOiXaDJ{2Bv=${Iwu^WA@T@+w^OobiydNTncY|?hf=4hIeVbJ%R)z{Gy5!BRzX@n& ziM~^|wdK}`|M(9PvHU;h)!l!#FO;~>frXDbKGzCy_Qb5W$pg30_lf0qr1vbHOI9VM zohr1yr!eQ-f6Z1)H-vt8!c_caew_N_@x?3b8!J9Tq4a16@uqXHR{U9js=CFvlG`{o zvgU2#N3XVx^Y#7CZxc@lt3w$lQe^6X2l+>op)mX-s203U751H>b+*4uX^>|8# zgl(1k+=l6UeX~5{(5UoWc)0F8?uEcA!8P2T@-{y7zV~O$+0-Q~gbo@U#kho1(_XFm z{8;PFCULf8LXvyPcZ_;|g6SUVmJ+fcz2W<}{`K?4yZ$o1x#sjJT=~SeN&AoF&&Vm= zwhIzn%=6M4R3dw4_~Nq=83ocWvrc2ly6SqESThHz1>!CCHDKv*nf@uYLzag^j`ty27kfqKEJMf^~~ zNdy9{J;y3{d?2F#THo0EM|FV-xb6iy?NRp3D=D4xXvbf_<73@|+UL>p9ldm$9~lKM zubj`kl=SQbdsz2%wj|psck85aWzibl65s1m=Z4Q{DJ4s{p0*LEJ#ygEux-fLHU%l# zPZQ*(Up^h@85f$*eI~<2)Zr*lPd!rKXBI$5h3=Q7&v3Y3?d%wBamv|6t*;>!Y0j3k z_uc;J#%FzzK7Pt2+Jje~V2%BiIe2wjWvE_bB6(!>jjd|vyFF+6ACLN_8E+?vH!lJk z%Y3WXEXT_TPRzCJ|9H-2ew@%JYF*OUm-Od*$L`OL@jWGxtv&A*plKWJ{FNRcZB7zB zDa>9b?lTwhr&}nd^>$kyZDyp|o}1o!#1pEo4D#uQv0s*MeKa@1_f@lO{rM4Bqa|8t zW53vLef0eq7jK-{c9%@>_8$$3q(2w$l3DopW;V+{z^+A8YNE6Ka$rKlHQFn6XZ!9C zy<;EIUg-y;+|OK#ee}#ZG}gz~_f@i}d&{d+>Wnkj=PRSnpSjE4pXesElK)uzt))}x zeE!JP=!W!)|7d4L+Q{h9A<6S^FV!u(rlpe~`Bz^5y5q z*=AbAmR_FSc>d4}=>eZm-BMv}XwiU$>li)M;qLBIG1qx1M zK|`AJhukeCc6%*7Zu3)i$4f1Qs#RJfv8id!jsyLx?O ztLJCgu$GGdcs7~l-5t-YrFhSdePn!(>s+hOjRo!4N}LzCvPb3oQSddS;GEO-kjfyA(E41HRTMg65cg|iXGO%6W|$Aw=r3SzmfbrR!;!_C#j*MDgr zn^4FSMgyE{O8~wumg-WRg73_494otU$wzm~)hXKE?#@@r9wjP^XzvU2&1wHi%F!*o z9IJHTn~84vBGcMKW92Hh6OSb{^GiYOqq=`3S@h|GVI3sJZ03%qL{oQC}pN6qXK%*Q-9|7>h*>;w59ibHI7{$6VokOtab8XLia%HX=(715J*gV$&lin` zmks+D1avHnXek^6!3?d03_C`Nxcivu(}M^HO}v`h=`QakVn4musAcSAwk(+#CBKjI z_%o-0&ZUTmBK=f(Pf)Ra(#ZX%`%UjvXE<^tJCsKsWUhRa^DIx&ng0Lt^yYC*ooO5J zR}mv3q!tAfNk$#DiW1RkKmvT~DDEJrs6cpKdFw)=h$L(g5a@_CwTNheP!~jNg;A>n z2oRu1MV6`3q7p(~WmKPqgs4`7IT<_1jgzOGI zc`S&1Xgu*il{z6Ss?i}ew@%eUWzBp#QC%$gZBFIJ*yQ-h0ZSYuX(fvkXPg&^WXER9 zp}eRpYjx=G54B4F;UAJtrb6Jwb;4Tz;obAblfHW(lH^d{&C~8_EZxTqu38{=dQ@5) z{J#%gP3>-MpJ-@ac1D%)A+TzfnEt{9?YI-apuQV?%kI`nhQg-aOxRW}9$I7m%ha>z zqqBw7T~>T0dlv(fZNKu z#vLwImlyuY#cTPE5BlFKWIhn`I}8ilX@u0^o7C>|$? z+lRArOk7xits}ePNp4ZwkaI6z+=TfS2_rGtkt5Uja z9cry;8AaN;)yC8+h%e>ceAa^z;fd8JRh!~$8K)HSFw2Y=rP?D&gVrS^-x;cSbeZ`` zN%5Vc%DOfWn62ZdA3fe!YOqR&eg4_IlpgiWs`zk#{Fu>n_QXiniCGTAzm9#@F@;wZ z@s^RK=mrg2N`@5Wc&~O}lHV$l7IkSlch{8;{i>k&#;C?3qK+*JIKEl&rq(fZT~waiSlkK z%VYS5xjqo-u385iBfaQvvGu*hN#nd2Yi|DG!w%1Pf5x_~dTn5G>-j@ZV$StEN)|q( zSw(0Qds^aNeevX(^0@-V{%Y+s@wI;?sBb;G_he#}`|&Ia>ztlDygB^={OI64)Qpn3 z@S_!WRET-UTT|Wr6iV3GvyS(Z`<1z`nU9L3CoV(Z=6?7>Oby#aeez7zShq2vc9nI4 zYr0pg`d0405v*_Ky- zyz1)d7G$**FXZSP&#bf$+go+kg?>u~Ps)E!)!EQXNvdZjra1gLPkCmehScVjO6$^2 zY##5JxF7!YlSQeg=XF}s799^>@NRqDWY*?ax0k#~{V<*P%fAwyE$YyR3;DVyfmayJ zM++ahu`d2=8y|KvRN>LM%I@8^QAeKp{@kONsy6ve2ynPk^4_lnb3;#`nVeIXQ``Og zxrR0VWRE*s@A@6q)ay1=Xt#nvUpob3g&J9nT#Uoy)@D5Ot@SV*`Z%vJmDvM^FAYV zjKvRiy&m~wMf`I7biZtvqd@nGQN6-$5qn4aUYH4J9?T#+>X++Utcy4Y(SX7gsiYL8J% zKaLci>CGxVQRul{8veg2RwYM1mg)ZPbM6mc?Sb5nqn;zdtA3! zu#xk^Uzzd2arp0O)HiYajX9x)xS=QAYcsdit%I9wNEq20TeT_RdgP=kr*}m8e-U>? z(XkOd7B52Y6ee>P`b5dvQ{XZreXO{WFw-c(Y1JB7EVVYJRN5*DZ3=<8% z3Ji-e{v(549lg*r`SC>N#cxX_y1yl!+n3Ve`7Va^YgdA8kJ|otk%s5|Jp;`{2eWXmU+6cenOSwJHBc|`HKUeMQlJ; zG^@BRNSc#{K633@4*GZEE^!@>zI*QXpNOjVD&5>p_}ZTBbptYf7H#cP>x3EaqTx(V z-?u~&Mm5B!C{@Y@+>p(TN#ri=`<<(Y!nBA;!xvS4_2lbIq6q=xr&c8A)}X58k(=u^ zZuF57(k>sWDBgMW;kN6i57jOuE^JmYuI_L2i>*@H(UUWR?(!9z3u^_PxA$Q3i~fBn z!n`Izoz(N#EPA*s+21C6--gle)Dwh`iys>`C(eJ)JAOULZ6g!@=gD)EivQlZ2|c=# zv-d5DaK9d83vWG91sj#Uj~jqckMm;Pmz62;mq_sL;tLU9{MZux2=X6>g~&5cXXHvd z6iG-xP-qic9cPKHs?sJ!iK%s{!|Q*bn6G86wTi9rztcw6N0_J@KRNQynvKv`&P8~w zR8D=QF{0aGBHMlX8S1-Dqmw0TNmyL;^A)LETCIE%<9ZO2^#jaT{s+g!F?9#Ca73rI zB9Zkh9wKWyiPB?gR;;;y2+rclwN{!1of|pHhA*bXbD-~*YR_E%mtl?%6q)ApSv)E$ zZIWEOB>kG3U*?A|7VEKQ&yRJMU6QZ0LdkFk@?9>p37Vx}X>E|nSfuq`yT9P?i5nTo zhRJD(eVRr6j>BwxgeSl=U+|UoHP>me9w9e8xOa2D(k44e(8}~-I{B=sJ-c;o<+({T zUQKBy4m8yhx|UA==$T+^$I_-~(0ON?Y`K!?{+@Vlvn#JAwv+$hjjenF-Pf=xxfIK< zp+{AiU7wz5$SN(EpO@+-(DcE*UXYhMQ*5jHABF4G=qT2obA9B&I&$<ziz?Ngazod8>?HLlI5zQzhCT(05hDZB|6eRey7Q z&g}2h5D&Xbx30Xh^)pC$7jgq<>B-2IuX&ZyP|>A?4#2s5TorO?V@F#NtTSa3ef3qe z{hxJdk}?GU&e0^QMhw3RZ4+9?W}ln!PHU6gI@uJp4TPM{2bW&&IRkIOW2(6)vL~PVi28_=oN?;-`JP9x0=zHVZ%!=^6Q<;PG|9^9OwSM6 zur41A{*0rHn=VU%tYm#ynwOdq`aOzzi1*b!x#9K?9~Ssn)8>T<-yqwtMG=GiR;d+P zmI?%ooV|zneo+%vrvu-+mEo!wU91oPVqC-f+Ed+jX9`PulFz;dd*#4{K zLzN0EPIAtv#wR9I{iRSvVOZ6`Ethxx3jDy8+q3Ef&$F%x$)(0c9oqkawP)XQD>_~` zZ&Rr^=S6n#6XlLuW6($09lt1lztxccDB=F>Tsz@5*v;>X$25=6=fN62i&1O>sZ0>Ls`5vMX;Al2nLgxsCQYt%?U| zvM?pTn4|Trz0O(}cd1xQQw}xHt=tqc%&xsYdtPEzvGxQm7Mi{*)(+HO&pVsJZJY$3 z0lZ)zrf+{OJ%&fI1%e;n&)0_6_T;AHzLVH3*af**n1{(B->H%4^Q&Ft!kdp|4Spa@kgl;&5WXo9ItQ`FGe3Iy?3YclJ_5m;Y6Gs%)g4U+|&`WYn@FZl}20)(& z)$-oZv!w&B${eki=6TMUjc}9|D{#kEx18STd&{nHM-pnbc^=ljYKBRf)CHk03-i3J zM*glfS2aZ$7$*%DCum>QL9=X%v&o^-jK*gGB;uy#*5>b@D3YU%vYGxkZH19+sTr|J zX5+rb9**dkZRD$r4}T9=lwIVeAH2lAWy@-x9OC_IL1^vF^oFm~?|R1$r-L@^8u#%$ zg}ZDQFRyMH@JD>Ly56tn`q=!DHL;7v~p)nj~)iTLL&d0Tvqk7LBZ5}rFwgDZ?p;wFiblH@2mHh75vfQ}P2 zl}-@@tJ@ec5!&zSLn@{xITq{}hj(8EWq~)Tw876(yT}ump0|%+4p3^d)OTnGHzMJ& z^32FTr(WX+3CY)`00Y(yZ$+v2CA{8B3AxQ{N1|8ye*4b z5dzK@l-(q}9YYV)1I1nZ$;F6wv}3BS=8;46NU_op$akLw;8<+*uX$ZIcua-zscz#n z{*G31`6qBSbK{o!*4f2gFLsEX)@L#wt@HbbsRht6Q7%bd8$f!ij0GI#$qNkLv-p!@ z6yecq*{VvzkJ_CV%Ygc4i+a#Y_2&XpN%>6ZtcKyH{83byhzmi$0;JQCUUyWQ{D1{|tGx2e zW2No}EmOz>Z!;jhGCA9zMdQOTs({nUfN={se1H~4*EXvXh3HF!3(<&M2xafEBEYe3Pbw|u0YDb&^MpsiYM#6qvd_s^?z~2vjH<%RGe9_Wv;GoTo`|F`x%hUlY>6X9HX~{kV7nY0 zCa9+{3qU_gBeiw2XJS#pxYhW*O)2(3MeY3~Y}5&+R4^RJ)?#~=~iSCR~m3MR=3hC+?0p5ptH~Ton z-&U4dhz}m4)~&@KYk}uxSN222F3pI8s&=dr!TMi7qEBUpIZ1l(GtW{N{aEkG2~jHo zE_!`>g#vyJYMLeb$}4|;6~pUEF(j501}1mJgZ<=J$RLV6kJ%7Gk1nKX9)FJ`GSZil@nI`t1O#bygqn0x0$KDhFWq8x>x z0e!A3z)<5MP>44B_$Q^6FYTqubil8t_o14X8*oz&^!5iRM2*~^VZrc3;pnLcSBh(n zp<-3^%mYx^^2`xkH+}Tvqied|!X+poeIy2kF(9~^!f40tzM%$3_dl!@Hllk}%{;4qA!3of z%*Sst%1wQXIkZ{0+}wG$fJtqx7Z2en#^iWP!+)CWMB1_5>y>-9sDZ~&$q&P10Y?Z$ zwQ5|c2LBl-w64Z8*yI`ZIpi6)qcTUjxjXt+4k-rj_qGx<3uA$LHlvL=EJ_3EMoH~i z+v@K^fC+8yXPb1)qqtUqCw!Kpa0d9j17zpWgDZ0tksg8x?)3l&KL@)mJMB??LxIJZ zkaP|^453IE_fh@6%`mRVYMN2@ihXg+hNe12NTWV>FR+a&a}MDHF_0%Gan9c70feE7co7FTC&c(f<(H8*@K6K$uNmvW>tP-PqI z(b*T65xP{|ao}BcP(~<2Ja*vSABFa@d%42;7jCI4+-luj5OUNxpiCac=QFhI;~uy{ z^*ohe+MmXpL*8$n&0FjE^8WdQKO8(>(~Wxm!Qo<*uu{XfmOA!jpoCRc|DqqY|BlCo zcVXR8euOIdF04C1vo+SjJzGmx^~q=tVe<>yxBI|W3ioX-wdXNzht@GlGg|T*avold zva4QiYLVP2Aa^+dFzVaIneYBY+nVp-^y^7op;I9j9z;UAr{KzqVCgUAJ&n&S4C7Um zIzud8u3(~8^?;UY;x&Sos=8qYtZ!?Rm53XTHki{}HbpV}K)AeFxk~rf$CR;@c0RT4 z@@+W^owjt9JP+MrW2K0A=MfCY4W4bKiwy`7d(ecc?E_S&tGEeF?jv)?+T|Ft8!>~SBDj< z!8A1Tb;#?M?NXZAaa!uhtT8R(W7WXIjzkRM^VVy#JFRPHQ_YO^%Xu#bYot6b5U zS=dm$_wwA#cawyZVdxosk!V7h2A&7GHf1cg=syRX*~wjK*6{zT;nya9!Xj;gZhGjF z%6kBaj?+y?Lq=JA)GIC_gCO)~jVf1~i}eyP9_% z1Ko)>NymENoPMN@pWrWN1-M@kc}dVRLOVP=`UnlW{)1u%sF+$pckRV~-3f$#2GB#B zgIfMuPv1Y;=zfL9 zD)(A&1grrE%B{oB#kIgsxWbn900kM)!|^qmBhKkH%$G|QwV{=SBhI*FxD#D6!$$7S<_Taz*s*UHwZ%M`=iqMqJgi^@ zg(!|P^?||#9Q|Zi=|}aOo40`X04+03EnoF*u5^+e@bG?lS7-b6LzL^izV;cqzP1i~ zT=ZIjB3RNZhp9t-NEdqGer`LCr#i}74-{U3_vLMybRN*)D0|xjox80X?RPVP6ug&PQos5BEp=NA9DcXQ=i>saZD|j$ z=KrBZlcaU~TW1$OTKeAqmVOLK?tsNOSkvvk`=}1upcO50O)XW}W&5<+`pqW*Clp^Z z&+*Zt{MFUp%^~&mcU{Q?w0G(^51ca`a5fWP|8Q^pK+8b6Vo|2+>uta?w{Asq*?crX zcBB+lMMge@Uzk{XHTnrA1Z-(go{Q zUP;^cXDv-^9|)E-Sg)*G7>Cd*0kzA~s^d;Rovwk_LCdmNKDdR=bI9>i73YQeS5j*=mtqy2xE z$lYd`=U{CZeJ0Wkx1;?ULf+V#P`TUVotB6A;vsPW;)y`@{hg(|NGG906W?})Ev^h% z426(oQ3%IsI`D#R%0c#Bq7YhHW@S<6)qL~YOZj-UAGC2LJ27j<@jmNn?IT4e?rDtQ zGXLS8yV|MU&aNXf#C4k7oV@xwm6k?N#_zbAf-Nwmb>qdsYY~09xcais10D*iOY*DJ z&5x^Dj*lEfi)IIdTL|rKId2cN$4X}bN_!16#jswTLet*8}5gTm+oH7dgQqPzFgviAmz1fl|ZIHh^xJ8 zD`DGp@b@L#-FN>qKc=us5p(oG(0v%ryV{?hLq=%@jd=2-3!|=OwtDn3YL^s6t?&c! zSZ+?=fwpqXL*mf;%8)s_%@FOvlraI;*SrM}>fC#G{L~Du09xS#=f^FfCzKzPbexi^ zke?RDn799E%ifo{qknz)T?X%K#_pe(`You-ZamPIE``L@KKd344rrVodt=ZoPJZ)6e{x_jLwlY%0O`5zF(ZGX$JpweWUFp89y~jbimLAGj z5Dj=s97AV53(G)rCYof^!Z-We;fVVW>~Aj=wSj5t!1A0Oj6N4N+SO4)f5<#Yt%>ff z8E77Ote^=bPG<&(cjEV|1N%eJ*?7&i*!YifqyeV**{Un|ylU>Y-FsY--rwV#k8(z% zJ1?)kHVP0qOtjft8>`hEuwsU#Lhpbv09CsOmX|_@yU?nxHn{?@I^BQCf@q>9y0pL5 zA5!0F5$-w8Ydf$!7SKg5G!y&P(zT|bF70K*p(rnCiF6e|px4oIbA4rUsJpSse<_5d z8q_89VoqSqLKa33Oa73jkx%hv%}fZq7!rEPv;V?%CPoTMJZ?#Csq5~v10 zTT%VM3LIAWiELdUtiQuw-Yh4VV5iz_k~poxJx(AGP-VGF?43l#KsxD1L&4aq{Rxk$*rmYGAjwVF z2)r_)0{kIr7uG9W>r3v|4=k$_HKF4?`=Q-8NxQ(9c`)qNeYi+~!!QlbetUln`oV#W zK`u8{-f2&XHIhppiWyR3&E%3*rJ#rp*HoBsk1Ej4_}R)$4bk5jd=NQRjg&s_N;NLl zZ!!J%k}Y<3TqUXX1o>ARwnLp;UU{qRZU?zaiECor86#KUk2Y~?ZP^_2i2*}xm33=< zZFnf)$dXQ%(6JX)ZFkL}(sl zzdE9=xZ0%Mta2_O*&6(36379h4kC`cVVp-jwS{LK6gByo=kQwcN=KdI0*>$w4;H;a z+yb}+ZKL@Q;RRV*90M=C8L^^nc&B65Om++iPqIh%E;-K2246untm?m%yK>5#Wr|4# zCZ|#$p_HL$+t!8M14j!;D0^OMfBI1b_J!L1=Fo1T;ctc%Z1TE$=RxqYt&;q(K6KYi zK-{u%%g10uC43yr@h2bSzsm>;=`%EsiTvcLEW$J*mz0a!f*`S)=HP#TnKLc^@ zU~l4p&`^8vESbN1sf3};hrDP$HYIp~t1aumn#In1HnpVpK6@sAX!m+WWDRE=6ZEWm z#onz)c+ZuH9fBaVb{v3N5JsCPirYjeXBo+o)q6gT1lg^}HRaOngcmW9T&?i|pX<5y zlu#pHX|LAU?Q=~K)+60@L_V%{+c7&hfVNcI5s=iXQJFS3>HoU_=16s2DDTYz(DN|I zT;%{mx3KQiB(5;@*IGXD>IKDwQXu_Njb_?-_FRU@5i=Ieh%Jb|x( zU*2x{3Nl`4`N}qio%Ni2#1w)LcQ3cA$<#Yof25ijMnw?D2!k;^sH;d_HH=?`F&bVq zxf1w^S4Q=ZR#n%=>_SxFo~yMIpOd7!BR-h;vs zI~fK-qF6=0IYg~)u-7L=n-ag&JXoQt8!#r`K7`w?B+d8$!iqW4(tS+y+2*MhKPma5F-_HBMnEEAg*9FlTfh z+pA3nO&6dRAK@b?CI%qC`RAqUAp2DP*xN-DgqFJxJPV#k`*iy(kaeh=9HO}KL;pD& z3+^mvS+HfcUPIf7p8UbN3_xu10MT6SZ-j`m|Jg{V*3WNbUP#}z$^uKc#ZQP_VSvA@ z&GX`{OhXq=usvtx;a>ZYVRVH)q1~Z`Z6_vv=<+>;m!K^%EDR{i zDMwmlQZ*iV@t=5*V&v_jcCV+1$%PIqpFIH`sp9!?CvXz=K=B3chB@a7Bf4{Vb1iy^dtX z2;UE6;0S$E#^CCS;OeE&dz_J~Vjx7x$7B-93v0uVQ5K5FV>Lc^!R1XJu+Z~1s8uhX z+{@)4>IdbkX$fyKc(r!`^Hy;ZLp9NpG@5yWm5%TXb^=&ImJ~^o0qz?y2$Eu8Kyeon zf=BWo)&)EW2VbGwLbcc6JTejgHh{=$cXdR#&rq!Vkcq zR#4dlU;lMk-OLrI6e|F2NzwawA~C(Lg%<=%7F0Om3{q;If! zS00e@Oeck-ITaZR(bWB0)d|iH7anlj4-+n2WcHXLn}7^EgRLFz4XU|X3J#=%sM zURJjWI(EIyy~hIl;#sPsx@_l)4S)r|n~-$JxQx;E`s?3!?XKpy>-U`S<_t^m&{@Ee zqpBsfZ*#ZU0t1uaKQeQ6_mvGz7uWRX-dg}zP9*v8z@^|*yGd*7VuqXm=zNi=4X{zZ zKy&?(4JJlrh%3-$i`yp3yTZzWb3EzVe|jz~WO?w(q~#jLkh>fMo|F=UDGi!XE=KP}lqiO%DhbFt$~dy#XNMLjCRH zuCQ=GRcDUgjKbC3YJ$S5?h5M!b|xLXEF-kMm784!Te=l!f3~2tppW z`H#$U4RC~n9CwEce84RWUH;+~7iPvNcKEqJLEI;!hUIxwq8TK? zo<+k1e@5rg#BYTe??I8!ZWXY9>wpCP>fYL&07^`EF}jLbSXg?3;-umoa2}~FUfMGt z$1e!+oe;uv1rN(<)f9%ZgStiI&_wR5+y9x z7@;Sl6{~;>2?8V*Rgzki`*WDJi0i`*0RSn`M18gHfNuP@JXk=HZ|lUKO&y)h^8@nW zSt<+p@`lheB7xD+omU@UAlBPNtaNivpT6#cw7@KGC#aadTn_$DH`bW4;?3s0hC5cm zQ%|b%sRz?NPAXdOwl;24)Z7fTXA!O@gkgH=Iv}ln3%C{wBrsT%I>EIu+QAPLv~^48 zVLcs0erEVMK+_~7I<(=*`ZxT#8FC7(*|}pR71K8CjA_dl4HSa##n&zNA|ox1Hat9j6#m?*ecNfi1zn zY(M_rapdOy-vc;Ne}V31j#jbb%dW63pCD_YFRlPr+XXn;U186$@$-T3!71)(>uO0I zy-Di|bHf<2fH2Kz(YTzL3ozxKciNflivfdv8;g^BY$Y)AF$_U;@WG}IRAu^hg&lKt z0CqHuRs1&hm@Ob_%_lPf=ku37jcKfq-?kB;2)F0n)E42=6G4!WoYp1cC!hgV$z zW&8fMTuDAU133MbuRD4wY>M*<9c%6=xeN!Es?c)P2|(g?rlHP>?MZEkJ@eZbUE8<= z*J<9Wu6qHBk>+Oih{J~gLXsH$=y}Lqub7+iF4_B`Yr6&;Duc}8qJCyT2*hsTL3jE| zZX&iTyNyAv2Jhv*&kNN*_n#dW5!9aV2RPi^+z8*ljzW&cdwX+)V#nd0dG^H`a6JHE zQN?6dC+Jp|u3ih_9_h&~aZMWeCbj=d2oNgK$1H!?4j1y%m$sHKx%b=w%-lV+Yf}3r z%%Z=ETrC1h{q>}g#i{*Y#YBua^yQQ+7q{Fb#>8?3XjK>e^N`o6nNU*RpRR()lqodQ z?xAT0pi2~337<2&+%U86YtlmPUW4`{r{p0e=T@<|0O$vCW<b4rPU&&O@ZKLZwwNv^ys?CWoWg)ObE)w3mXUVysu25rpCWpXu z5Hd4wZ5$SIQ|H~*HC zphuTR7Xo!j>U|enW$=d*72&L@hY73;P3#7t!Um24n?oXmB%_=z9ut-Vwm5#RkG%}Q z+Y;o>S=<23JFIQH1sE8dFpzN|lQNSjP?mlG2A%Zj&S)6;L9jp# z4_@M6dJn4XLU>8h&ktQt8+YKKq_bl6qh}FFtQQqJmt*kEF6>P{ZlG0&+@2%(^02f37Cu$|I_g(aFT^Du9 z_5tM?Kqcnh;(8E21TyW|Ldu(i_e+>Y*Fww;k{&-F87ov^xeqV;6q(BNoY$JF7-x@RfZFX30yu-{~w z6OH>C+>x~LU`%E78x1&RsCr|sdJ~M>{fmJm95q`KbeOdH8uS9ZuW552>iIgW8=K z7Y)-pq`_0&390OI|9 zsK)t_og$)LA|T)t2_Gv#q+irVhuRB-W<#m$>|qxeS+6RzeDH>aey>MTDPh!v%LISi zg+*n3@A2f66Hx7?4aD_9=w=W87f?^Uj$+Zg)AnLIYf1k`a;Dg(>a%f+C z8bM_he`AmU=5<|VHGd<9K;i(L#eXfzf2g}v3H!*ALFN!rWY0wksRvRjSX;SOmcb z`BqZ2=Fo-v642H{vcj=gQ#iZ?-M{{4D^QaC`bL`Tz8?jbnXPY^EFKz@+SlwIR8{5& z_ODM55s*o{LyZ~hHCwjS?1E=ZsuS^d!<2)~CTk4KDnOj5;~v~vEU{K=M|;g=Qx($S z#Ecz7)B%o>E~dc%Dg$h*(OxAYE3XFTT1+2LcPAS(CWYoI{_stB?R^^(afR^AKsOl1 zHvL-gJh>v!5MZW`o){PCEo(Fx7BT?`L}R_vHv5E_&w;jsL)#DAIwh7Th%O-H1`4XE zi#69-XAu&nVJ6&H`2IXPZ+gkj*Zf+SVv2j?)l%IJVq`M0fFwkqxXX_Ih7C6zg7yVm zArk8(ZwV^R7D{c^6wy=oiWVV!2O<2}u$0!7V6vCc;dNcgsJ?vhB=4cgRV<+k5%MtL zMK8zu$bOn40e36&UxY?fAFCK46rbfg;PQjjM$l%0%a0||B;eSKSo;S!y%#|Pfzh1s zPZ+EiMQm6vY;6hI+IRi>_=;?c?-*EORdT}@{^C{yt|7WZSAeHhXttNoz&%q(iK0Y- zyTz-aeQhUIW^CAU1|{_U$)(E|>@Ft9g~_Ghq$B)A6#4ebGa!U8B!_}T1*B@D-rRVw z3jxQrHMs-M&_aE0_F{?}{8Vgi8U()qHYS*f!4YygVfi@kd9vSiLJhGdoN8QTp@x9s zGGB-zj9w*H2B4G6?ogm32}5>#l`5*052=WZPt-?-9Kdl@DwJA(HZa? z{QVGfqPkU;>rd6oy&4P?A(C&pvn|XFkjXcJaM}BaL6Y?Ge{>3)0Xcs+Pva&d5O_RrWkBKnBrk!o6zMp{2f!ag9`n8@H`AV zAZN_I9@{`;p{0~?L_6RCB2NPavmqGz`QF^NuH=UQ8;m_Gy<82Nm}CgQiT7IzxC@DC zABIJzAfo>YlY{WnBz^g5?TNMj6|q~8#wzEw$eTKx+MXQg(F>ANs@_+79Na(`k;wPf zCa{hkR&4`#YqAP+1)IS2=02teydDV*!QSm_Yaf^oY(`gv@&{C#kr_?pc*0hZYN>EbvHJ{L?sB-a`3Z$&8Fp3~Fn#@A>iaOqm;2h#_f)Uu=CRvlOfq0E07wYSVBrcg~$ zZzp^_XFHPp4id#{57U1Lat~6Y)m#9v>CQ4)F!%`CY#77dTmj_XDM68_C;^!V$MYb{ z5YNHH2}c9lt*C`WhBgqt-!z<+U16Cvh&=LGcN#zlVqp;yfdI&odBCer2P0-+0Ob33 zY&o3yRa*)DD-mtx!Z(>p_HYiS&G$G~03{YGDWRTKMX={`$9k{jHT(uqw{PdLZ@~43 z)s4b2Keq6!yn5b(y00s_lqM3WIVQY!V)?x=?YcVWaYZJB>GjCvi7i$Yl zjTr{g)Vmiv9=_bMoSfg7j2UnegHbcd5%qw+%grKnY)GR$17`Te{}Ab5 z!u>4-cP^YD{b+CDdg7)~eY;r42(cbG%2BRh5939sN7^}}`y|Jd7rJYt_i&?gDE}Fq zYBJGh1`ReBrhvQd@CA>j)%+))c$c68yy1emijZ?WTys^1BSm%>s{$zsaIE*|=FGs_ zSaT3izZQBRl|?ls>K--_`(ZdYnw-;IVn*68|K$@ah7;0$jv#24KF=;62t#Rz6@v-q z7j7k0LI~JhXWUs& z-*1EzvX8=^1MMDg$3<^d68K3kQYE!`aS&$uX{Qun<0APh#o?=(s1mD^jnG%;oS8bd5en~wre>yfS^sem{Po! ztab6C9%*KI-_y{E#Sr+FaDcN{hnb{*-0gtj;QDEA6kD>c3>a~s71@+nwS(1e%Z%40+RHLVJG>g4CKOl++SZX=yi_kuJr)<=nYNnsURnpy%U;bgO6xEy->zo; zh4kH6Oa5xskcBE2gc*I(o0xG2If9PsG{EVa??eoLh1X5@8-_3=w1Q)Xm>`g-Q`HZ> z($I6|#jJDXJJ6?A7=-{}yGa^KUR+@>SRPgH88@guq^zcD$5>~g}HQN_>p*Z_3hZ_5R`#b6l*j{%?BCtz|M*#&d`7t%v^c z<--&ldZ0kj!Wa8Mw+;+K-arS8gc=5|`CiB-dh!hUkt;v(cH?JuL}Rv3DDY-<{}KwK z_WaPt6t?>(^$YHA%rZ$VC+Co@SLaHL6}e)TDTM6(d8$Vwcrb$miXM`|R@#(!x4I*Q z1Rq7YZs@>P$Rt%yVau`UWPOuyg%JN|Ng9NnDp`x20VvT53lS_}WDadW!skr>sH`m2xSwS$X_65l2-3_DDiTHry_0gZ{O8_+Bt zC)CYjRw2WfAn+AX!;}lbxCox@WH%#u{aYgP5$TG=NrL!KP|pNwC?alW*;M^?Un)yk z9^Es1zIz2KUMeQ{2YvZ|FoLZ!=^v9|TP)xtN>Jgvdr*$fpk{7l4D!8^XB> zBw95~Ki!(i`|quzw6Zcl&g-PMSj3C1URB>yTK&Oe4&ra50*)gGF7^W! z7a~mx*dFZ+ps^(rWMA?~cZ*Drx8#%xRT@4xE+3F6?ZDNleN$#fURtJn9IYBo=|09+ zSW!Q{G)r;+zb`HAKw>gu4DG7OuCI>xyuc(~2xCh%N?Wa{yoQ#nxS&=FP3sGtvK|zg zQg2{+=Ek9*Ef#qNwJFqsn!%^#;x?WU0o^zd^(6YxuF@1?+!uCt79HAuD`L|TdNNsi&Dqp_!QO37k` zw7H|tt)_zzHdgfMXS4de85c{ue6zec0>1nT>T%*!1Gw>W>>Rbk)Kj^SY|H%8Y8J=M zEFSE9;P`b2djLaPeVqCPRInI>o07bien05aY8*tda`O=Tema@ZKaj>6k-EsqN0JlQ zeF2;7jpb;*Z(lIcJyt$A#3psDddr6cP>7xUhUdB`R_3AqC#~HRRCO7nWFj4qT-}5h znNs3~A=#24UBtXFEkjy_A>n5j(#y73-=T)O>Hq~dUis&RYi{FnkccYVrTk?bZJ5tL zCfpIyH!5v?9vYul4i42MHm%jcA{4rzKSfpoz8$1}8iavSqO{0#=IHZdJcv0!;6Hu2 z13@c8sKS@KeUVS6wa()vHz0u>d{Oh8Rcl6r?wcAqyKbIErh^4Mme3;9YfQ>P7O?0C zLEJ?xQBD)r20*|2Nz$Qd{19OV@O-riyko+zjLMbdcgU~mGupM2QJbJztW8E{5O@Bv zA%rSa?GV=lpNZn8^;?x>lzzNZhgZ1CO)VN=0VkEhrg8>;$ANBx6+qeHLn-+*-hBNd z-3|NJ1dv5W1F2P{m)?V80?9}M!4z22>BB6oBPMA^3t!CQ7O@{jr@DpFc`iuJYOTv|(<-9LTlyPm1q`aAfS2C#VT|<#_YY3=~>h2N1ZRm3%X>d2iWk zbkc=jU`2J$h%`0szc;7--_5oE+viQi&D9D2a9-iv?nnE5oX2a(k8cQ}!~Kk%SRCtH z`!)SF{2L)CUv~hELZ&>UO1vWkRs#%>?-wvY3uA`!yy;%pSLV%yLcI;YK7RvZVVDMBUooS`niLmypi%gTy zHuE5q$Jw#`SYpaiuU@A69h|(7h$OW{hjc%(-0k^7$4^v(hJ4{Fed5+Bh-y^%&BSqz zTx&{>Jq000MnDm#I+%CnSqqA|Ds}FMFTm6H)>Gt%;ryfWSfB`plO;ltk$36Fv2Mpj zA?9PXCsfvc$HD4)<+vYQg-t%1gr6}Mu+xH4;21>wx*W{04e6sTnJ>>Ix8}#%VP!Vt zhn^_YMfuung?ae4T+T0rW}%>1C{}&~J|iOBYTY0)r%ISpxhv8ePEfx2!iC@o2Ju;| zH=Tjgrevl>EvayRq;o`kqmfkHHIPG^GMx>$v2i|sv9+gVq36IQ=t2z3rxEEOsU663 zl~9kQR9BNQ7hau1lH#Pwrv~$d;xtuDyghdAZ8oTK;=hkmCm_x#*NJXa>84p8QFK?6 z;8`^f+9W=G^t}wMvmlxD9QY1MzsiqNA-pSEn^H+Ndg6eMu!V~Qg|A30NrZSJZks}f z#ASiJ5Fl-^-ugS_n9N*Tc*js1`VVMbC--fM$i3bU6ew%2f;+G;EUSt;qYtPNZeVGj zMUH`D#Xj7^qy)?m7#fM+xDXyqvK#o<*#g}UxS!D}+pgT6f zN@3A2Owr$vQ*mrRkk{=7FCpYf!RxY`nOQ^9EeLN(damD!QT*%>ImhTgI%kvPvP4;Dhi%fWy_0fD6V-G&wy zwpJ%KVf*@G`+@|vi4Dn?(8Nv%013UblNz%X1^iuG!wBy=_}>y)Y~Ey~6pe$PY60s; zPs`1_4VC6~SncS0-E9#(=a?>j5Vem1_Othdh!|whkQciEcnoVQqgCq=k!um94Smk5 z8A}d8I8xlE^r7NB9q~n-f3aje=;&q2yoO6|FbDov>2F8#(R|o3g5;9Mm_hau+`u76 z8#siv*i}6%Ge+|)IJJ$Tf1eo*4W$eYkc#glv>mg{})6u5DIzeOXv zsx^E3bBmbY?HZx(D8X5rtvp12qweY(5{PR)874c_>4fn!7eNl~A@aq>4Ck9jqHi~~ z2)-!??JBh|*1QgP-ed}_*3prI0oP`0cIh6lhN2UxfZT+zfd`W>*=`INS2B7744#wa zpOGq3M9JTF^34JS!Lp;|RV>n-q(XHd9OFp_Hx8s5Cvp^!#<; z2=_usv7|oNBfc`tGFgL|EY&<#<4-w6eRt6aftj2!p4o7y;6Ki zb}n)}WHJ&|BMsf+y6%>jEp%abmF~cWU_bmgfqMaNJ_VeQS2iN%N_H}ajZi&q@AjP# zz>DB-`3jS`8F}UG(qFNeU1GL-zikY?7^op~9*q|urlsXW4C#xWZTTw`<-g;2_zU$c^V;ZX$VFk&p`Lb+HDAG z;NgFiK1WFvaFYg-bCH5WM=>lqVGa$ZA`}P#`8XVVRdUDvt;Mp5B9O-ZfsF-gVNi!$q)#(A->$ zJ)95sT9+K_aipXINiw~(0>&N33L1)h9n$_t%&@eC9k!_D>J^GFvQ{+i7|+5Et2W}; zi@~}~q=KS%qHXAeR|{oIgQ-H5W&y?b+0|DgfqvkY4%pGva1M7jNsDlI*orvC4rHbT z4MlTdqvpTzeHcC7?U=z)cqaASzoC`$mmP7w8C!gSE_^+bJk}tTmCeR697{RH;2mOv z%n79YjOx?{_zvmbMp@bBSrAb}Og0mnhb@mGHg#=|W@F$`@?0Yabti_EBE;AQ3EG zTb%SLRq#5IWtKUdyaHiN&hD4g!E(UDCstMqPHlNHPXQOJA;-RPp^}1Bqx1VH#rQQC26GXf4 zEW08Q)auD&(CB0dk_|BOBn8)>91rSlwbsmgj(XUw8kU*2bCfRpS)%)y6u0~<5p3BF zuY5sbEnvOH5j=Dh*tC3c1P=jpF|xE?u=TC}SO+kii`gIzd#%(yXD*Y@a76$M3Q+<)Bp3B70c0*UWVH2yv`mxDe zu*qVJvvH7&LQ8#l^!*#8h?U4mX6Q<2MrxQwCWD*=c$U67rFv8AjH(w9%B$XN?!;74 zp$ksjq@mQMt~Eb*A^4@2qE$m)#@|8e2O#${3FO`-Z+t@ce_*l0-~p#E1I=7+z=VFX zBv_nqC>4}xU{JkT(!(knx>#P8hH@cNLtW}!s`$kpG~n6gU1jyKH2|d>XoP3VZ<2 z8s7xX+S@pXl!|0Zz&m5Io)m{mI2_e`~636BkUCHQaBPX7zU47RO`*7|Ql`NPS@ z3{L7~OFD39G=EE=a0x~MPNVJgU_nhLhjW{rCbF?&$T8-LeA2h-S0_p%@V4rGdeI4vL z9mlv0Ve~{AGFiXCmq-Ow6>dD{0IGH!weZeKD64k$S2XEy958oab|?;c1PlQcC2&Hy z6(L@erQntffG3orIl9I0Apqxq!dTk0p6k|hQG)`#7D=8Z2ox56S|#}LuKH3=f8{p_ z56FfyB@L+0$Eb`OsY>}tC3ro^q$NUY<;pt??os#%4{!yH8m+Xwh#`DV;RoOUp~O(p z(qCBy9gL9qgb8w74ft>GK+&BK5JQ^OQb2oNN9vWZ)NamjtJ~Gz067!cfol(-XifwB zi{Jz50yc|x$tpBfHQACjx)%bn7l=Nd192O(p6Lec4uy6hOAoMN3dZ(~KEKZhQDcRg zXC_dVc+T4jr{_duQ^~lBl{O^4fo1kw+X%gN0WIhp5q!>UHj^}$ERPzxO++wK6G1>c z1nD5}Fz>nc&ITB#<`N4siU3A1;FKfqBIGXeGNT@NR=}&v0}@Elr_ohw&DRzHSOH(T zkB*7?2M6Cs+A9?re~Qhphb4JjxNk(%|( zoDqYh!(5*5b;XtIY)+@*GT?Az+qH_z@FI;}bUe-aB;cyJ4G9oYKY%rlgJR#*Kt4ABGHJP}7+1_NYflC`HHS4$ zj^+H=6L$&6D)1LeNmEJEwP@JIzP{Vy=LQgO$_9a=L>43}j2fF2T1Iepa8?|ktiN4_ zWD_o#67O4pld=jla(1sd22`|>!>|%d7^6a+O+4s}WL`SirruzvInQYL4})QFFSvg3 z2!M(3ld^bMB`%p~(9BR(Ab zee3Vkj+y<~)gEzn0M2*a8GE}7fPG{D?iJ#K7%ybdr;Wl(dMdA7)E6L;oku24-qjGN zp=4~ikD9PyPo%1vUx&OnklJy}*Jj{!6^Od1Vb(BVwh%(jJFq*O}jBSU4CUSq1Ap+ybXaS=|XN-2b z6!=Ou-k8LZ6YXh=gwjrb=+I~tZUaJ42W7zr4+mzm$x_1ZQI^zDT=-fIaJtOUIF0zU zMyA0w*}=?p=h~AA^vH+Jk#d0dttjb-{dB2UtHZR47pr?u$eiXsbwZP4j|=_+el30L4_ua%myuftne~FqofbW|M(u`}Pwo%(Ka=y;E8h4m9C1W*Jk4)-UP0*oEF3x=Id6=aMEJ0I= zpQ9HX3o(?bACxJ0YtTVNKPYxuLYXp(pKZf!%i}WG#nWKFu-#H#@m3M)g%p_YZy|e5 zF0P0?E{oyFUNr2H@Y>I~u+v<%-Mf3472V8jD+2pz(ZO$#0LC-;gx&%7wVcFy^ zlURx%IvtsVtgbL8T*^qK!wk!X{09ny%bWoWK3(b@>WHx7ARA`W1eydL>~KES z$h%K~4y~RVNb^7Jcoii;kMr@_8;0@F;)CVU78w5~c)+!wvJiA_zjwMF$oK z@0`5O>>aW%5`W>og&<^&x0JYshL^AC$lTcB?#z^ohjpo(>_U?!z;8YqXj#+^d~TyW zC30;B8gbu%ua^XGJOWU)IGL=26UqiA^*IrdxYJl{Lx3+U%Mj7R2`3qb*{DP(mAZ!V zFdy7uW7#(obHzSHseXePlaotRw5bUlBNd7LU2Rvp&l5M`xgM+(gHXWMMZ2vPW!4O; zwi;&>X}^DB6*7_ng9mf<#*;#t;zXoYfokH zd=Q~0pvO{PFN7YYupYUZ2t9=e{ovf%^~{-@W=ficnSFvxs6_mjX$z$@H4uV}v!WlQ z3}+>f&6l8zrZ&RXC<yb|>%cTpq&m2i=} zO~Lp#yFnqDX4elf&gR zXJ82wJ1wB7a{3$E5xPLWdM9Bcj3J}l4mzF#elQU~fT}NP z$nZAoBl%EXltbDy9WFVBq(jbh8LT5yj&!z8{Y;+_wev>_>e_Tt1c2`#FoFJBOH5rm zoM6;RAcJu0I2UEIZW8KW>CPommI0(Jt0x!r_sqx+lrC`Yr-H^1shW@tUXOXRlk5VO zNt5;+jl`i!fY9%RzDL%%9j-okArfCV=#h2^7bJ@jwyYsO&q9~LZLlBt8cO3?A{|ql*)~zDQr8*N7;vXdab&Yq<9$JyVHbcyaQVr-Cf118mtBa{z zC<gph;r8YvHl|XoR`awR!p8}O z53CR}&t;LDI@;wmDcEqN@CW5Jr%Nw$Orp@2T?iH;kGs&MN7Bvd?^*X@P+lc1=x_{`s7-HnS}3nA^UV~g!N*9Gsx(wX3#{}OYt^xb0eo)^X=+5eeleY-+f zA0+DZZ}|*keuG5=WBf+w zMeMXWP{;Z;%R5zCD5XUqRj~uYR8m>e;KFA{>!S+K04?W72(Vt2{PnLYNh9XI#E+Q! zJeYe9@mhT7&^U%f<80?P$Wi$TE$QA%cv8d!ckjKRw9BT@`V_+VaKG&9OB$T`OzbO3 z4`;B`%z%H*Bf2#BIJAAsc(nevL`CT!5%s!7q>cd_Dc)v)Y@n~E50^hALX|>HaNj3E z;djg2%U$ojIIHMi8YJRM+J8tk$*cg`2$L#%E`WxzmD&iw@p^P~?8@N3t z8xW0eN1ld)JH1shh>Z{2gg6bBSDG)AsYx1NpHOX$Bf1;C0SalH)X2;JCW@BfN}u^; zCI^w!o{u+NChoM?#NEq5?f_aGXk9O4!ID@eeYC2c1iPWP9P|0Vzy-LQaS>5PIBYo` zUWo%4E(1w0@XHW;^a--S5r?zx|7+ao1Af3OKO&3(c-^Xa+Nexnp5Da8)Y=AKr zbXoNvQ*YQ4rE0(d8e@sHpdWT-G8YNIXru)lkN{x{48xKBPfKeQsxIpTRDnzA%G%qw zXVnl|MvMcB>TU;$^qnLViNs&}06?`-)7dlysjUIveviV+0UQsRE=$Q*J( z_8CpkEQ};WfK#9l4!~F8MTJ4g!uyVfVIvan;q<^tEdk_PyzNU&qIgac5F?4coygLD z?8Ys%%j1!CMvIG9`SRnD`sB@x?nz)Q5xh{7&HhlP?4Sc%AI9gQ z7L?^4Lr@y`h49%D97KCn?v+e$Pau~&ufiF_*B+?^-Lhb&6U9Xd`$}NNH%u= z0cs0;Lkey`Qm-FGag>t5uA7EaMBMov`Lz>7zQ+TiN5|`>EH2)ukpqlN3U8S0o;-a{ zuv>mD-LdqY6LNx0!U*4Dv0=|yB_Ex*!1}SoY=u|>`DHmWkig-|fv%v#jc;`i(5G>l zg(TzWgFLhr(7fkl4Ak)Lj{iHx#DB-&{pwhXt5gGl+&hdY-Cu=jNgZKNgTYb%F*5nq z3BDZF&Q0kZ(EB|z5y&3wjKQKQLxn1DWM9a(#L0lYkY9d2uG>>6Ict2JW3||7n1j*1Ks1YZ^03`(z!cxDQ$W?jSwhp(m9gu^7As#(i8P5Q-~|4Nu&Vl9D1;q(pf`twfr_X z^3bOY5{A#P1bPlIK_B%yI2^;quVk__JkCRa>%SEV}NL$`j1|aW^eQ1xX!#<2yY|4gX>cB!`Af*%r%Yl!$ zBT**PD1@jT=vi@W2OsDvHFg3g#xsC#uSNoPdzCJJaF(jxS1+m2@8lUZ$jG z91vs|;B%2R!XZK~H6H0;X{$bIE{1AIfofp&^wkY!veC;)pA~GCZxlrqasaj*j>(>I zk!r6`nmjiIlH~;ox^^7EY^FYdKVLGpa3J~kj=Frio0Dla>S>_0``Iaa8Z zzSI4@2T~7(aSsw6h_I|#*pA~JBB|_<+ohr}0&0-03gIR67zqR#Cxacb5Vj8iR*!t6 zI8y6>k%;MkA*NtqK};8ZstI)8g_v^kVL7zYHYE1pK!j^9*O-&MFiKp3=TN*u`wX6D zH!}BVXMy`KZtZCQK?t~kvsOAM|DGI86>fBYyKMymb|@Qw`JNERp`!b5C>sS)Hbpb^ z%EkrC=G#?eBm;!hUI+tD0%_YIe@-KL2T-vz9d1o<9GzSMnZ&)^tvuEEG+Foy=UYfc+5U0 zlG&ic#GB*goXR<{FW&eXJVp&@S;zu`f<60@xbadY8JuwAQ_Z}%L{Gvu_tgdP-SGVUC~7YjTBIKipy9-+Pxfc zARc}1iFQl?WjvJ1p&7X}g3Cv-w}@(gi<~M39Qyp_*ac(a;eASMbIBO6>QrgD>D_>Y9BX44e$k??kERubC|N7pIMg%*{68t&)#UMg2^{zC~e zial|(@D#Bj2La7DK&ru&9>yn^P*pk)SN?G1=(}_A?!whcgF;mdGES52ae;$Vy?$i| z6#X;xQh>6~bEk4A)Z9XGF8FO%-z@@DP+XUzy~4wlrkzsfPmh;tR`(+HZ>Z!el}Nqd zDiEOt{vrx3DJVAq_45K5KEs~!?qj2Cj}ej)0I~d$xqGm&EmN|fe0!!$OYH-N}Pp|AftI5RRRf)Q(wGFzL3=4*kEiwS=B z?`S!s+d~g@3mb5#?(_C=?b#$?w_Nmb$Y`*ypWs?^K*wFqGJx zE8u1#*HG5|h-8@I6jyXV`nRaa26U0Ps?3Db8P#_>3ed=EDgdru5aNHK{2pyihTCUCOFw?hT)?MMET(Ivmg3r>J*uvPm=k_-yO(h~9M5eF0hPN`n@+T4H(mO)`sVHyDQ z`&r}=C5Piss_2i0!-6`KP~&{ZTrYln7c(pYgM%e-ChE5a>eoeIN-NG%N)XdBo0IigP)kSuek8()ppW6MUen0?(r^XaU z-8@b*5s=lp-uLsL-`xn4J!gZ<=2iNZ5T$|r$>WgN1kRnT2oU}~xq)N`xJoAk^Gsfd zR0QTi;Av2$C_dmXj~lQz*8wo}&P0ihv??tE+7D2~(1Ud+(j<to{KmSZyLQTk~z zg4LJ|EX@X&7a$1WcEiR|9Np+BtpCp_&u}f85?`x131dT_*?f#Z12ajvD*(elPEoTj zw)>b>!pd`0#(I?EOM=S{Z?z#z znm{PmP5s{)p^#mC3j90rI&!izyjGiw2xEw;e0kUVpZw>weq(_g#x9Z4!kA(^%R4`< zK)g7ij=UJ5(fAhOFF0;sc@{;@It|l!7Ut$e+RL1ne}^$4!_09*f$u;HfH`2Z_^TXY zbHHYiRPve&Q7s>&&;@PssZ7NE<1+L+g73T`E`&Oc?!Oa^bQIJbB=5-_2xxy7DJa(A zM<3uxyy{!WlvH<)oNk-tY=ncMm7%(pPVNPhm1^{j-MM&?8ks?UixDaHVA|*B)s2B>X zsUN*ox+`glUs~-6v4sV^?1@M?BwXEp#m_B$KK^|{CRBx)r++$GQdA^~i3ax_)iv0E zpFUI)UF#8o-~w7w^1qG>@i-+7&^xTw;?GFp4QR(W29Wow`5T1>3Oqsl7+9-JK;Mybxad9mn^=} zbhR7u-s%72bRMJ}lE}{Z7Ae|Je-i|e1woXbI|u?UPz&AibLpi}$8^*{-T({Y z)3y@$o>G7UfH4IQXaHIpZ6{p#_Ra_fXKo6O^49tjL@Z_mq!ct4M7*j)-fE7(bE0N_ zfY!f;jDcngo&Gk+0uHBb8yoUO)~QHCriJ;74|dS&Dj_K!XcXTgjCIiOq`cIvqzY<@ zfNciwEr1q9Y5nEswIc627u9o&onhA29x*x24xg?CNC!RSI^;jQ6oTLZ^&(#=b}Z*z zV8X3hco4e|cfW%7;A|G=;_0mQzlOEJ80Ea*x2`~_Kn1QyNO*bx-k0+p==E`mdNQHc zMVCzsKQ}7(8(@v!RT`2Odu&*#g1 z#Z(S*2LE!N@yTIuQUIbE#7cnQmrX6KzeKQIoz$3k5*G59aK-Z*0k!dO>DJQ_0A2q^ zPeUm2O)7TLO~#=y@j)FuPYKe9tpbQ8SlaZ(QUor98w+d+h1Dh|_#=2WH4tTY3*|5j zI_ajB)GJigbd~(UiC-*5o({3P-B3%_tS#1K@h9LtpWtYA)}y`D52gC$N8YV zm!(T=r10Bp0f$c1P_hAt60S|kj#SNu6{Lmtyv-aze-v`ViWU0N~pdF ztnDEj6j<&&K6ldS>nlpe_go=s6Q-Gc3pTErfjwLj4US)kpsC~z=rSk<1A4b48VrH# zi9IE}ROoetn`y_{jZ@kNPfqIFz&gfe5z_NiEr22`gGK0_2@)p&ccUyz)%m5QmYP05 zVSNJ-`q{vGOUaJ4MTC9=sOV{=1kSsFq`Hd6#b?HdaZ}t^&_JW@Lj?HvNJQAZ;RUvg8$oL59XPo+Uw(TA666wUeXVXQ8*o_kqIpE%x3bZ>T2nyV`-uOS=aqoY+) z&0i@Sr+$)aA|HnKU_&z$Fz1BRmISaID7NSZ0Lq<@e!U>fzXDBM)ed0>QR~LVUfAwe z1gHg6Z{@X7$qNLD>RzD+m+vaYk=cZLOseJskZYoxxxf=x#u483gq)A?F!(eEd0Wpo`+t4P>25prz| zsN0g^`*Pz|(J$oznQ#J=r~r^17(g9`35m?mbI@yGCP+tvl*LgmfUt|~fVx)VhY)oX zd|mn6Fz9lS3CnpKg5Z!#8sdSe*--e^&zfZxE<8;kh<@1E=i-eq;dEq-X(-SAwkm+n zjOFAZF_*=~e|Kr_oIIoDYwzyZ2B!uxSiAx@h_DIS#a~16DMY2TW4)q4gr+IN^RrK| z(AOlJT|5&muH7eS9TrM85O#vipAVH{K~#zzR0`;Rq9sh9&- z3T%2HcM32&-0pXyQ&9jv!pS98D39A{0TpFazbPO|!db~~MDMy*4d=Y4*qvIvT!qW&39%?=mUH zYD5~gJ>+|0C@@0)k~;@7Q_h2@L)CV@8<~fj_5Ke`dEM$ zWupV2AxV~NdeD`l8LJ@3`jQ$P18u+V`ze#a3!(Hz3BI1Vw6CU}hS&t%`SfF02FAM0 z`1F{UatKMdCX1HlX@$-JxK9j!<$M+^7>?720w)G)cqaOQ1JtH-99^VfctSX#v83n; zdFiM%hk;T7Wv-4}juft5?EIm8rBJ@qKxDHBXtn}TUz&@>YKnY-Q zbrJl(l{Wx$?Lo%^{#ZyKv-T}uX#l(yx<{kx)S-s?eyP5}V@Z%8{y=MOO+)_G2pwKzjgX0v;VSfdFN63ug0m4T@*RzIdPUlGTq2_*bKiDLt-e_Rq;UkOLL zaIY0dHz1qeR5;YQrHt%(8k=VKH=zvs#;Sr=-hh#S$^r_8l>OmAE815#%Vx&WP=A&H z5+vVIjF)T~XxND5a@xI5)k4V0L}%?I9BA-7n}hdr5;)6LAP-&f5?SOWyvbQW=LAJbHaXE3S%4k7!ZRXWA;NLR zLZlX;CAiJ5E2Ayat#uTD4WY)9+d-OMiqtmVinmRNNY>DNJXol9WI}GqNEd+jVf+ZN{Q+|eKL?cH&(*-pxcKAoZZLzn` zYMW*{p_d5b*8oyaIz@bS2kV6jV~pl2Pq0Cd5fgilMd=;_4(!S?Xfb%6jbiU9Jz{!s zf!mEvPVPlimytM;uRQ^7u@^EY;tMn2m&#=6{KE=iK`fNgIK*fCtQnBbrA>g2U6>6= zw+a^`GT*=qvQSvyGpA!7ql5hZzd@$;h>J;6h^*OAW8j_)D}<-kxI&#EcIG_5N|iLc zSnsFhq;9+{=2ub*`OI^qOit#pIW>6diO~Pk$w`!8q zJg62l#EaBSL_SXQ2B{I=K}M98vl9toKGHq+#NNDTe|JyTFV$aUsgQ5uGYRz_Ek6du zXom;b1t~5(S~4nhLd_#2+4=3@SVQh3V~0F?{=wBvlH45||TP8vInw7D2vD%*?bLJ+7c?G^>y zzq>p>l0aw(8xD#J92Vj8M45_N~ey8>^dX( zLb%DKm|eF55}vCiD4G;~Z^Zx8tK3Sa?* zs>R4Pt!i@RzN<`ic+BoSLuz@aKkYb8Au0vo3rW8i^dBYo5fYALeRLE+;qIJN^j8`N z(uRzJBbXq(OD!dzjubNOWV@jXIXXwE!lXe$tnap}liQFm#HGr-Nw|iz_OV5}4OhwZ zQe8fsS&nW8ObHk>h{sVSfRbuN-^=^*wMe_N9n7#gJ!#u6f+I&8R{zk3>eW^3!jnSL z@4!?Mox8Aao((^+df_ekeASSvvl!V_K?TBmdAeg&#EovF)_Wkua#5)Ib&Cj2`?y|q zT__@J8V6{aFL2WWoKQ|D$7cGq?nwx*(0j!X`kEkbi{X%oQ;4vM!ehOt6F9!d8FLiz=+U1llCa-#Y)KOw zbdLqj1q9E`jk~!GFXi`28kGG@2~G9d33y!x7z(YFgQ6u&`mp>OvRA|pm5H}ed-Q~5 z0*x7vd#e!TI#?n@P|{!u8Hs?5a7o@TFbDZYKG9u6uC?+nWPksWcz_o)cI20j;E(M6 zYTn}8Gka~S?KYLKU9reHz?NNl4H<-5dqy;b`11Sh2P_ zEF93Z@~)F`1V{2KT>W3}H*DT{`-sd{@Uq$UmUT8$ccDI9mhL!_OXVE2^y5n_Co4=O z=D|@ihN7x@OdY_yeWWS+{%vqAPVT1(W`=^VeWd&HZ>uX*zt-=PrIxO#fX>(_vyfJ4 z_Gf^;GUThNb8g+Au{PU+rt3|*G&6K6nNQD|m@2=E&ySGy1yv3CgGX4BgB6rO6z02f zM)GB2NKcF~!VBHsxH`>3quw>9jsmvcvoL^e9VF9wlwml94idCU?ea#OywKLV8(U;( z{$0~?;PmQ73!l(&#S}OkO4ABM0oFG9EEO@B5pFllD^uOx^U_n@2uIM}6^GRe28aA&Y4`>o&rRT87_KkoRqdK_0Z zlA19q_!k*NS~<+9)1W<}i;Bi6@A?(qlFt}RU0-cCNXWAO^?v!5x+ruoP*fU9E4tQz zlOcgo>`u*?(WC70jvh%t*UG>)95>3)aEn#5AQ8AAPSsRJdDlNbiL?S}35*2SKtCf^ z;E(mud|&FgBo z|GliNNA-Llz4zC#0$+)Kx1fc(bQ}-ir2B0ASvHv*ZwEsh2QaE|ynn#)4uQ$2=(@3w7Eaq=8chX8@MMc*;C|JQ-ep@HQ!J(~OO;M^k8Fi7OLsKo0WTOc{ z;I+_fjCRA*zkrNlI{3`D(}EA`+Wu_|ap0)(;ra{n*4o8KY9(=Yf@t;A zTPKxa)DT^Nt)0m6hB|F=b6a|dwEAKlMmj=9IuH`RMFt*BafsA9zx@bZaNs#BE0`Sb zHqYVxnngWO1|yYfM$z`#x8YNDW70x6w(v&fvJ6Z}Gm9u42PhpoAf(m6m||COBMJ_9 zdBf2V=|32Ux+r#=hl#`>c&`l6V1+8TezzmYxX8<8uh3Z9p^AX^&W2#zx)26ce zsjLlIxe&#J?c*9<{Rbvz-_03;9`ZeCxsWE95PS5B+ROQ3;~0l?S!}Ipd>|G4nj31G zUOhk^b1K1J3H{xb^Rp~{afROv^v(|-9j^cb>&M$k4j)lJMII#%Y@c&fD&9?3#iel=~a^;pu?xxvF{qf|A79;;db+KB)-1fVM-75I;yOO;I_> zC~71!ifDa5{iCmY%3Hx2jl+_ex`{v$1tOjvLmIZKjfoyA#=TQAG$f8~7VJWAkmJNG zFhX{>g~(7I#T3G^V5o%$HVaO#se|x%-l*vM78v=FN(*SD!&~pa73}Zsx)`P2o#uE= zJwe`h{9P(;%GgUb-&J*DSyP0xib(6VD89Ss*fOGDs;5N5Wrj4oWQ4?GVm_he4Zns+mw`zYsG0~7-8avR zFTKbJ|5*DRsJTzWgkTsm+>H{Y?rhXoD{?rY`Mu^Fd_yN77SK877 zz1%bx++!&_fw|>;tjepu*ght$kD9io83un^+lSO%wdKrjV6!I_HVdvJ=@kWd=wR)o z)Pd(Zvm9mpFrz2}L*Sy9iV*35FHu3pIm~83`064HzHV%1h}0bs_(-L(w7jcrvwrb* zxc1kwadVY=DbUp{Wmo>Fl7MD7NR$MF1MOPmOOBi*4iC*U54J1(Oo^>So4(EDFkm4c z?f+hm5B zo6>KOp`-1B0HBS?O3#aW;o(yKMFShdCIe(clPv0a5{51w&0{jWo%xDNiqu3f0V7-Z zS9R}SK99Ht;1#0(E>Sua4aae^PmT_;zcJ4RD(iw^aYjN ze4}5mF`eGgFbMq%f1epTQc)EUDP#CQ~Cnz!KUZD#{)&Z#xp2 z0r_0kWCBN_sS8k*;r;raI{R4?%TRu;)MA5<%A}&NMu-f3kn2LCJRm@9B0zn~5TICi zcE2%F_28Uqm*rR{om08{ zmiH6xFPP$@?1-mF?E3Z(vXrf&L!*vDv^pRSN_8z5U#a|YJl2yH%^3`x(2 zupO2)zmdgdv))H*5@_F!9kJ-s%CZ!~uz_W+CQY2D1qlb$zvCN)~t(A z?GrhNX#83%Tug>;{wd=JrjFzx&9>%sg?PgS%lGY-K68ej2&3Pp$HaE~n!V>~7QUtr zJL%HBDk1{YU7AB~$7S!u8~muFVXQhb)@hfDO~(u!+?pc-lVbj9G{i*s%J`T^#fA=E zA3LO9No!;Ybz9RqrPGHhD-0ddoJ+cEd%t&cwU>?^ekR=a{zOcmU@0Cs?R{!YfZ(fv zYu&%S7sqT8wDg|7+Pz*!DWaD%_ifc&Zt0J{=r5T1;fehDL!W`j7QZ)x^0J2x0}(9^ zczOQ0=J&(Zmma5y`FXDIn-dznUHQs>=Em2ugvK+Q*qv$R|I`^4Ev?`yDdj3nb@7!8 z5z2IzisoMpn^)mO!;z}GgvOvWt&|lVvuQS68DHKZMYHn3gw8E#+M&sP2Z{|tYO{*F zecrI5D|D~k2Wu>w)ds`-mX1et;#d<)U3iQ4)5+|Q%;B@m^cYc$cF1tRGuD1+(eShW zjQ9P+fBW|du}7P#s6+k&#)sGPit}~Z755VOIU($i;{#iUt9`C`^IgW4w{%pOUD0$z zeM#0WJ1DI)>WQoLaPsHUkQQ&pFZnK+l-!xg_&e-OgbOpOx|j8lvBl_aK=OY~z4P($ zmF*EOzf#^Ude~f@M*1hYOpH=9^SywxB+_As;`FB>Yi*x-91NfighF1)GOz)e%+t^3Dbyk@$G2ZQHKYo$9^t#~*gAb+y z8~c1$ta+L+Cw|H5VSIjI={3V!EOGU?>mf@#MInoSrtdWU!xXPYyEUshq2lAj^*YyM zDTfzz^=~Tgss31C6j}E0uFp>fGnx+^{=R$Lma>Pn<1`0e6`!&G)?XK}-8*!NK>y+m z_V3*d#&(3Xu$KNlrR-sxD)FfP^9S~Ot*0EgQ>;7vaz#PFYd2jIb^;T9W51VIbn^HCS&SlZvS;4>FvKLt`I?#$| zEy%FF9Tsn!!Kx0M?L7O3j%toQ=Z18WT zQv0&G2@eelo2x_qDdTvp;sr@mAHK=IopO)&(y030y}=i{mBn-K^j2J+gW*TY6PnL1 z<~SC7Nf+VHk^_gOE}VG<=GCWb>}<&Ex7sK3tX}H4$vVr!hSv?>nSNF^h!Ov(d3<)+ z=kXRVw6L9pE+s&39(-!aHn$syA zQeDE4KVMtKH|KIVtb&R33%voJ92jh1}8_t;&Ey!87(0&m;Fbe;}6NIe` zx98YPaUN#1>bx!vn69CP95MKqb8=nTnYg0{MHLCnv)G))1+(dg4MT9wmbyw87fhp{ zGPJ^EUb3ZY3%+%$ZD}%Vah;OBm%dl>`2n+tdGj1SB5KCEPq7)=vLz^4oA{O2w~0^g znARj0Gq#$)FgLTcp}I%0?mI4<`%-KqG(T1rM9Z7v{$k5_KY4T{j!T^7_5RM6HAfZ3 z%ZL*peUg^0_ffG{dMTJ?F@=D-5mqH|7JY5?w_1n{-JzamT{v{ph$L zqK4u=*=BIdUqRcoiMEN;yySPb%N{;6b`ZswKeKgbkYT>r;|S& z7mHRIr8fx<1ReH`nO8b@1z-J@7c24Uow+sn#f-YSk#q0+BszKB;&NnvCix2IdCh&> zQM=E4nz^5C@RXX(tiYc{LEmQ?Ef=*l2@VA%`10n}I{p!%o|?GOtNqT&q@a(Tn(d+q zMyJz*4nF#u5i)nSqyMTzL$5(@{7)-_Bw0oqL@{M%hg%XKh0QzfsEDvJsy<8_K40C{?j19a2K{plKkmB{%=*VMD|khqkzbXdoY6mboujhM+*RavoiW|qVeWZ{ z#DXB{lhhSl>CKZR<^@N(_OPx>y83qIThrZp!qg4iEy3G=l9rQSlro$Y4`0@vChrtf z=38z24L9CjWLaz6oVrG|+6eD){fDWgjGq+->cpG3R$Fl6JG`6{CwTRd$=z+rml?0+ z-Xvo)t}~`8=BmAJ;vW>RoAO^KI8@1&k=+TP+dkyY=I_+yyO&#WIyj@>nmrn_G*IabQpt@uuzSbJ+V zgL}5ai;bNb7#;j|(lMHQ`{sPROYb_osH}OCoM^}TRL1nOM|Uvy*ZxMpp}yko4YNsM z%%-~!huQ36m6jZPVEi~GhpD*zvG)SoJj>jPu1>mgHzGKm5vcgGgiNHIk*CnT@_Iui zA}DiA^i2#3bF5GD`?<_fp1OzoeW20sU}IsLtz4+U^e?64#D09%)Af^6Rq90U_nYvK z{LD1!y`>_J`3dsuoe{x@8J%HynEzCke?;(%ycsn;n_nBQ_v@@Rs$DKRg{A-g`p2e) zEfu1|JBNM?X|WVdE@$MLUp61HPb}Z;*Un82%S&Z2>F%3&dAnIR9hE=*wFz5PpfDCH z3|hP@$lm#uS;akyYl(JTaNN(L%<4|+DsG>@k+IrK!~HHSFNNV_pP0zY+r>KT_#$X8 z`SqM8>(;~V zTv12jVlSiGPh0;m$&sdRxb<+#`UlUAhdVdyvi~^s{`m^w)RoTCL#JlD-W=@mAm{JBO4!wO!JRFVJCu)9J@eYC5oNPy~%x2V=7DLOb^Gy4MmGbzg-Yf zGbwLXNG|#I>!v@e^B)`9*1DRrwzB?kJUe&IDlf6pidSW zmV}%`$9VGw-p}5tH2=~33)?)OqWo6}b5eaH@!{c}K6CL;hr4LCbDpPOFprL$e5;SD zPVB6mZ?skvssHkanKedvFSfjYv$9@UGgp?+na+!xe4TF2i)^{sM-BGtz;SWXPc|%% z5B>Fp*MmDJAKMk&s69#EEq1QxwvJ_=6;pfFOPALS@jxpw}Us%gZ za{l;-1=$O$;pZ9IjCEJun!9^_!dob=tIOP>lY;%;dO34XhT6Q{JT#a4lDqDw_~7pX zjOPFB*T-GA2a5cxL*nmYHcIZgFq;F6dGwn5C1zI`4GOHs-CJ|_DUubbGq@gMP-7>@ zv2r8w5*Uw&8rwSb(pAWsQZv!!6`s4kpZix>%_+uLRE6Z7W{gOV2^|-tGiH}P zsxjVnVru}=(oLymqF;=zr37XDaaWn@YqageE26!z?v7jmFYhIppR~zb_T{ZVCFZYc z3jS$2DNCJ4blBh^JvYs}euC(Nc`F&CAR_ozMjfDnSfp3jcN@=1*1yq#vU`S^rcr1QI&r-nYPvjpZM>n^)Pl6O*4w6*92ZG z_!%mTdFihnvL?5>qlzu(r%CotqVCl=72bBRBu2v6ucDB#(W{&EI2lnBhFS z=kBSDsyP;VT^_=!cl2@$^fyWgYIx0kUGv@gH%~^5$HPil1$JvYb1qLUMY( zPGxjQxTi2CD+D~puf>eXWjPO0m%<<#-IJx>X?j?7yYgh|sMVZp{@6T-UNi59g*O=I z&F{<+mzaOt`cj!{vwZWH$))kGt4G*>cOAG_KQ}(6Zq~Bx37M~0>N(8`(^F@}-(H&h z`MijrBl$_D&J%n+UfF+b`i;SrbW`^&9o3T_9X55H5a#j0{twgL28Ys*{^#Y}>KRst zZu2K~7~BbX^7&cQFKi#h9etMI9KRs<{j9}i|CEI;x&8UwRk?;%*9l{>wn1^PpL#BM;Z*%@*4Jjk5oQPfbQ5LXG>mVse_<79{fAHW49C)x zDe=ae-_8oO`X%DnVL|Gj{7D~7)n(tgOFo~y>VEr(AkJl|amH;aGn z88v^#^^_Geat(S@`nE2Jr2k+*yLsPJVqP6ge`*jGufZ1zBg<|t5m;sU$1nd}8gYzf zbx2p998&97nldS#_Ts6hWJ>im`nd%|R#}_km)i_=AA>`2p+xS?w9W=_V`hQCWU&PGYhoIm9bC!Z$V9L&`TRJd&*NG)~Rm z)M8C%#Z5|5S|uv!ZK3fODC!t4#cAt~TLO1S->+y3#V!~AOPOU+&--^a}T zdmc>?J4b^mmHyjQ=iphavM?(5oxRJ@2J; z`SjE$w-y=iTd>RlGrJwI;$dixZv+{=WAm?xcB$`1S9NXj#CW-_+Q12`j0Kj%pcV-IFepYZ(FS`X*=eoqN~L&Ni1 z^W%G4ZHp>!PP%K%uoB`i(KQNa5HAL-|jL&f`R8> zWa$c&w|314TCkX`|H%Mpj@hcbZu0WQDZSgrZup_m^Lx5+hF`ovE~6#VjCseesm#>V z!zvPA4?EG}X7q^G5@W`E;5Qs$btHL-$e%p%Ny6Av!2++*d4FeJYZ^#z`O1Ic--ch! zP%n@=RIlA3>U29*I~Iybw_wKPvZG7R+RP@e*zi1oGh_OK^Y+!}x5vMA8|Rp6aKoVP zWx<<(eCw;G^U1Q`jmSwnnPgC5Q1_}pSho5?SG?CvPk~9QZP~*!UB|s%dJ0@-`0#TM zeYu2FMwarr;WsnREyx-@QV+eP|GDWOpApuO67c$=V5yDLQ{a@EQTEVVJvH@sif-bJ zqKKda`5w~IQ*5|)hTj4urj!>{HaE|AC0sd3LKOYgf}N(;wpIsjKS>yu%XE7`%fsyV zvOhik`uyf9H=|?M4edPa+=gb|G<#b1r`LC%?^%^=Y<0zu;lXx$H*1zze?$NH`x$5VTS={wU_+efKKiw*hl6LVk8iZq>5ru$F6 z^&FpEOSf=(R$z8JJt-*h_2NUe2G;^Stg@`{`&7?-bR%VZ{J31rEM_XLbF-;~>2J0{ zhh7(_2n_6Q-d-y8_`bt>Tu`dH^C6j^r82=f(B_v_)#DxiPFWD|e6w#UX9hmB@i(1p z+a+nMDO0UwSQ|7F89PyS+e2b?-rhRCHi_?R;21whv`bsSmdB>v0|wgaaoyOZ@r^_rOHomtSRF7RFHZfq6vS{~tt+n?A!Gj%lRN-;Rs z)e^7>Vld0z`uHWNsx!yj+%aH@e!zZ z)q>Ga%?$P>|2n$1Cq0f^|7CBTN!E73-R;{qc`PDJkQ(ZKT(1G1-ZIMlET_}DT0g;- zxO}NW(aSmM0h}f4tX4Saf0whMV8_XT(cgLHB_?7;dHNM?d-SIyIka#~r z*QGslhaF?9HxlvB50K`X8H7L*z4G{7r@TIwk_o0hy~XgLRx3R{$ObV}SIw}en^pNK zOAb%TdE{BsV{J{AW3|VW+(EJ&Pwj7RA6vbTC@5V(vdw@M$KLt?=3=(MYr7!OV=S4= z(%|EXjh-HR@J_zT>ux?7JwD&r)S9`_&6Z*r%{>-xenFmgBjC3C3Troe>t7Rnv~CHt zQ&JzMB)=@6b-L|X@z|g&`8zTfQLRy`ZuH}7GpA%BITCXsa+cWmxGwb^x(}PRV8@i| z>_D7M-?E3fz6P-oW+QKPP4V@!eZ6qpqUL8kDtowuXd90yJ8YTas` zyB&vVnR;PreM<5Rj9$H6nsY3|%-6q%9Gl+lXE%9FArp%;%{dk}=@vPg)<2r&+FBjH ztw@-fJJl*;(&pqp0=~C_nz4Pf04HgQUe%EEB`{d(acAk?&u8&l4jgqmp5;NdD#u`l z$J3~AH_DBoYYl|Shts!1EImITuv)juZJck3p-=pr+_qVX!`MLoBU|cq{#*k0^&cPZT6#WPQvyk&oABnA7Aet z*TnU9i@(QG9d2a?Fro35Ob`$u5F5OrHDM-z1tbn>T@=ng`xlem`*_#JEBZ!2ntfEMCWnq^U zrh_1PPtPn4KCTN(#C}ocQPwnmA545hLB_7i`?Q1ELAup-FS;mQt%&`W2~w}(r(om$ z2VS0vfYPjmCnkW>NW43p^s^5y1+3^&01|2mM~WL1O^#76i- z?cb&Y+QhdFj#0fhHf_1+~&jGrVNt|R|o|76&sc5b3N5YFO zw5|CbQ}P1wAX;p9=^4(S2vQI@4M?_Xikic&aiq$+SNowpAHi3aSM@x z-ml`45HX&$i=U|lDs5vey8&j`^+ul)#`VOX=-mVh#>xf~s4LCoZP(od2V@Zv@+dc& z8Ds^=D*o>J*d$2aMEnVtb3CC6sT(1i(6q)F7gIa>I(Z4zWu2@Bh@?`yxi3#CG}#^$ zh|DhbB6^~&{4|XndDr%?t3$=ObuB{jI67B2n~?Agau~X3%G2~08uC98zK~bYhbsYJ zw&H)=K7dh9rViWv!kRD&ahp=Z)qN%d>rsOMZIcKVMMe_k1%s&8eL!K31K~9wFbWhj%ghq8fLj^M#VfeSey+$?l4|sTg0qg1 z7B{M!Ufu-nJFot8fr@Y7AV9o;_zit{@pHwPzVXC*;!E_(Lmz&q&)^##$r7KMnflLw z?{c5cY098s3YxC=ft@7H4F3(q{X>@gK} z+XfYSO$d9G@gTSHr?Z=wp>S5b4)K>=priC*xe1qqo&@M9n1u>r5!+OtL9>Qk!wiIn ziEnP|+|wg}4>S|mOl*s{$VGJ);Kjkz?>QQ_M|ZWmajRb2!PB{i*V60zK9KH9*1klrJIPnM#cFOix8$ph(>%jN{u5*vBJh^I%qrf zL`6qA8d5Jt8V6uY;c5isye_nEg7i7L zV0>pSXeB$qo+jeea{e)Fp`}^pBZs{~yHAn9X_$NTEaw#FA2cs&bq=7buG_9q*69Ka zW&u14ZN=o(SJ*}H@~tuj@k4;g9o6 zCcxyx-ApE!##bSHm}nkvK)mS`zzWcq13I4&wAG0Vv`^?l5gNBx(K&9$KU0r4=%cT( z)8LB}*f<-B$xDbJfyCG@>#lbdEaj{Az-13Br+}g36AIS~Db3gZN*9XJYb-sYt%ct% zeUUUCN{Jb;R`JH zDS|07C0qk^Vpwz7F)61~pD9L5wIHY$z~A-R@MQtD=Q)Qdpo@`AtN?Ntkw|@HQXpBR zU=pdx=s`JnF}cFH*pXwT>(O9r=O1Rbz{rGdg+@-!ia;3=@Ge7GasN?JN89-l%pQn~ z3?3nx@dQ^!09W@=IH)$c>R|@JTiiF#K81QE3C8DQ-xTbV$2>K=0j6x>{@FpA6+O#- zEY&KhCQ7l^f@nJCxp|CK8$HK9i24PzPzx~_1>jPv!xub z_8XmMEptz@Kyyh9D(N%f{mrTcb;Mvdxzx4utZo{R7o_T8ue+HNCay+Ptui4-SWWyE zVEPJgzgkW;gbcwbgLtRMI*(%;r*xXdRD&c{!;pzd)G3i-v&zM|2beON z9y%U{phe@1poKV$CfIjY@~WoPNQ?X7hRzS@InJwL|Kg<4Y)wxi3))&)x7ivVGD%;A z?xN-=uo>75oyP4Z&eA8ACK_{_4b(&AkEObq07eQ@YtSi;LMj})%`U;fv2ZGD}Y9~!p^2+acO)ZgkO+Oc}1nq;f^ zZnD!U%aIq*d9|o4IYj&i+zD(Ncd%(V_r`FwNLeU6FELF(m}VZU;z-<9{tNso?5Iu? z8gmC=2B^$)@-EEWoF)!&o&n;RH8D+rHS8u>s-3b54Is`On8lc&Rdy?YyO^hWjEY-` zYW@%SAbyZ0>$kKn>a7NdTm zW5jpA;;Ut3$_Dgd<5fI#gXq4*^Z~cn1=bz5#lByr)(oIkO8{XZ_Cjro8_y;HZ;r>P zuI@7$7AzY;&)=RCZ1FJvLCz+?q8SSo%}4_Eb)!c|jxXsZT}uSXW-sTb%FbybY&VQP zVTfGz1dZ*zoYDI6f@U;8 z3%jS5m6Y~v;16qpsh{GhL(Lf%0b*RNeG=1DO>jrf6o9QR@`<$vAjVp5f*lS`qMTX! zRKX9nSsU9}ZtO!i?%a_xS-;h0&=6NE71g_8#Mg9I{Ie-pk5gYC1s7&He>!lPm*M9{ z)MlV9+J;%Vo0vART_#|C1$b!py_~6vQL1&WM={_sqAU1*Z&9w#gPb`W<~+boCS(Z9 z2=HRE_qFGED@LoO0!8;wq(hB_URhGIH(sKl~ z(=xsaT;X2}GO`-0z;>}m1~3@`1}|jx=h}Y`25^_?7CzS-Fy|r|yt7Ol;nnkto|9wy zT$9(j@>oMc88{{W|7~^580k8*aMy`zumAa>=7rs762Y9@CD_ji%Y}*J(@`L(YIPBo zam-+Ntk`RlAt%EndA;j&pfStEPr;N?Q~1kGhLE}sr8@|5Uiuw+p5P4Njfa%^3*n9E zae{>v-`@myGoi1WRE`2lGfl9k=LBE6AKRNy*xXBj6=zUn{B0T~()V6L)4f)=034d@ zbiR{$8z`jhAdc1DqU~VxM$3n6zMW1$VO@iCzAw3)KM2?ZK3q9qk5wUd>T9R-XOpY= z--G8hL~m&HFeIE8k+_L3y?Np#+UI#Bnl@k@%*IvV#dxeflXsW)R*WII)qw!VgXyO8 z=bg#BL(kC9&u^jg?e!T~djMGswXF1*;hZj0<|>`Wm#&a40-sk*h@X@7N0fIZN`l7@ z=z6NRkNvRs`^9b(0b^Rcxhsr8{lD;b(^HQ4a)K) zOI!Nlmy+Z7OMDi50_+5-zF~J`HM_R6V*Ax1ql&d&Vb>m0ozrcRIY{sFrE6phHuu?e z?(un#v?st4Mt%)!#C=YxU4fU`zV3>=gy0h@R$9aMnN*i`eE7>1d}+I^VpHFKrKo;{ ztlzC11YYA~iH)}mm8yQ!{SF^F$d`&_Po8x->y`PfbcB!oU_y0hDY0w^;ifFzICh~O zu}5ROsiTUT13pcJ-I5E>75PeW{Ug$Azw#%EB}Jx=4^W#l8~#>g!LOf@UWb*xOFRiF z`!^s>{G+S;6a&IwiMng;;@>1?@afoowU|5NRVB$PgfKHCUJD=auH_|ANX7Gfiws9pBs-WP9|vJ z(@-$zZY*lg;gOR-&%?l9mz*bFfT)&Ejt@%X&j#LFfWFmYFnUY#>zff4LPm=Hnk~{5 ztvj>zA{f0c(msjW7a`Ec`rSo^x}pVwfKAC!4@F*s&VZKpZ6@CR%&Kwj_FIw+9jlEgbtIQWJU#Q@z z26^+?=IlW55uX3ke(3*rc%M810&Lh{fj{I(QcE>BHqNSTVB=h7o+*f> zdunMvvz>K^>q@MkDokEPZjDk;NFL^$WSyBi;YFgY9i;QwTvWxfG{lvO{qR!nvpJO+ zIw#9?PJb;+Gvv0(IsG-_e-6LO>92@ty8px`8lR39Sa)1^BTl!WElHJT_${~Qn`u$Ti<>Yo`5|me!A2VuE9ZOl- zVan0YCb?~Ni|z}7fUQIye(8T#qk&ANI_ul*bh~K+u?w$ZTZb*5j_~B-{h+i?PuDk8 z^-w)R6A}&wuF-r_03Ob%kyk^#aWcJ!U_bw?mrUJm8k3yIg4s~Nc#v1ax-$dx>5rEj ztGC;_`&p2+ zl}G4uVN8J9|I9w?i?C$m!u^(=czp%w(fa$!Q{5tW|PV zgSWgUa4vqLSM_>7sY{cx?lz%zvuYnbKvqlCuU@})xt8NVI@|DT*gqzvteJCymbELK zL8;ZSzYL)vj#_p^*+8%I()U$0ekYZS2gvEVdP|&!JVz8D(uX4#vGvn6vO`8aj{Li)#d~MJZ*F>#qLyL@_d{7{Dx=57NbIzIHrSilJ4Tf+p{=E z+(JMhD>r&4@TAckc@m@%xs4Q5&t-}i{w91Ws-DX=HMC64;|g7Ss#y7H;f5&180#zE zSuBD2J^VDep##cOSv~V|gP0p}Wl;E?>wR`l;0~S4GTQvq^A=u{X4un46@AOhQg{1L zdrRed{O^HL=RfV8wBva}!OQ+I{ZO&!@sd(}+m?085l|6n27RR>;)o@&S19__si1>3xGkb$9>mryDce&Li=27?B%(O4vD*8 zcIOYRVBtS2pMOdGg^Pk-v$y4dEEr!o#zbK|{& zPqN;P>c6(Lc&BbYBZd*8)AqI;#cJlx5_ba>)zEzBnz@VMXKQa&kCGC3egvQR?e1Jy zGGP;$yay#0wxw7a_szz}UY)ygukh*1F#SHjr#HM(neAugvUYX8_QAxHME@_Er*Zk> zCfs+7Q4Nn`&)9x@X+ekD)c|A5U1Oo>-)p?(HUE1Jal2Zp?XX<~0H~?=o;XMWT4k$l ztRNE}rvY@*rwq7Xv&R^_;L<@*$D$N(RE$In30#KYeGs7YahwWEzb;F`9xJ{Dg!P}#ffM_uy!j9 zHkjveY!llo4(ftLLOYP5Bk=8Zej<3y>td%fKf@pX`DNT>eC^gU_%J-7V!!f8$r1F4 zm%K%?t^pWi^h);~Cr*T>S`ftMI6+N)3+}sR>+LVT6wH-Xf25ea@VC1aSq;qvpLB8W zv;s=KzsbwH|1>OZ)#Nwz&czNm2};w9dm5AL4aN@aUpP{ib{447EjhfPimi@r7C#bZ>dkqu zKje@%iK$~mKwusN%EUCr&c$A#ZS5AZk}b@RJ~_f|Wy_8#pUBH&tN=Nm0pv7&q&RlC zzCJEil!_N~e>~!UnuvS%Zc@Rk{|fD^GJX5zo%!_9tdf_*X-Ti!@1?68`Ku?vYkoWJ zQCwS-=GfWw@D(*JahHUfh&yA9O)ql+{@q0i@gJUd2{Nryi__gD)ELEp|9wKu?l0(} z*cyo9j8|=SO~Cr9dZ`U!&nVDyFL{Yj0eclbAoT1okF)Cb&9{z+xTM%?F{ME!M>}UZHq#D{m!RHv! zgQ_t4v^XLP2+|8)3idhmJbaZfq65rjt;ej~Najx5a^Xe%v3K$wj~$@PrklGw{cvDJ zIh9oYx0a90{r=~OtJtXmKpw=1zM%2j?-@}OFe1)$PE%!7(h*5ao@iBv$z8N3{W7*z zeyf`P*x8=>3t5h@d5^Fez=+B{&CmRO!8H0JKyeKJJ53c{_rcjsgs;9gL&qVHF8X8U zkGPoTUd5_-<|bL)ZW?XO>aE54ln8p97cH_EN74W9k(gO0o%-@g21UdQVxnLSRKnhWm& zhP<=iKK(E@^FN;sx6knYYTf=}y8IXKx1CiUf-hw@`c;C%e4|8mu0x%p z{K)xxUGx&cEWo4t_+_-iSM0<>3WXaaiU){n<%omvW9ZkZJK6b#q6mrN=nrq|(hOJt zg(}5onkJbv8O`M=>QtA>Dr3l70k%&_u_US$eIjp?I)!O0=UBqGW(p6&PU#x|bMH-W zoR5B~;5OfwEKBWBIDu^Ah|&vyq%W9fw5Io2=8*p=B3E-2OL^#fsA?Z|UK}5w$WHsG zE=?tyt+|xID4TmS98)MK6K4;;ifd?Ok8!p&;FBN1C*rVq@q;vDRv3-^Bm@+T1u3$v zhzR#oMTg`Iw@VZS=y^J2%9No*W<{gN4o7FoOZ}8wo_|Wwt|(CQ^nHly4EUeN-GCrB zcCX|hX^eCWGOI@XH)wzYA*l=$h!5ygjrn(0{0X#28X|r|o-eGw6<0*w#DC;oZHGBu zIZJ;4T@bJ-1+WPf*n1Sx#nSIlXc4~hUlj7?Q0OlVP$;BG2)gWpWmR6mE+8C|K+13n;gwgJsoVdlN^M_s z<-dM#842y!_GovdF>nXrrLEiow$Md(mc3hOTP;0HF$xshldPg7{rpSh7ZS54aVAZb zyH5dg@`~ssaIC-C3%bA*<~0JJ`A@@(oXihFgJqB}JtKIXuXq<^)%Z5o<5|61bv(uw zO7kt_&R!EN2yyO2HY*6hac2J6^~CW#y*qT9n9*c6DYJtQ$V1$qGA|ez9og+an@ENN zSm2}2MtbAi72~+H&#BCy!`hGZESdr%{#$Vamizt_AZQ6x&pFlauf(m`NnPN>tHWpo zdI;9Ju26~}``6=-*)}xQ22XX${4_wvXOx~zlkN(mAwBqUQrGSdGNsJgSP(c>kdh{) z#YeRz%$Ln!J9R0HGs&e7-lRH#?BX0G3$UJaqXFGfS$o~Vd5Pc-Oi@jXi&1u8(~T|- z1W2@wn9WcA_0UjfRXQ`qgi?n~-lW=@+>_T4kGC(Gl&LFIDeI!l)tbULI1RP3qs*3O zpLe3e$`76A*uOBU`a+!a3j~{7AAeTbzdIJ-kKTa3 zbZ43sd~Azx4M@0p4>JODHw;^S*#^)M@0*84<+Hhy7+O8f-Owf&B$d zhev72x;Dk~c&2a0L6FLP!9Cfu0Q1t6Ro8N+nw(*h!i}Ez-`AXP{ugeJD#s|gJt=$^ z_&glkcmwGPCK5QfY574Zxz@ zOB^Fq5*+7Aa;6)E6${l)q8Gem>`Ur_WhPJ_GvQ{VJU=LfF*b#@Ll*{tXF7T3cp2rOD7n!Ql{p>dEmgek=Tv zo%s=>H2@azuARfY1K1QuG#8Ci?+kM2+ymowNO|cR9i$lDxt4gmt1U@y6zO^)dJ8*{ ziPxFaR*fw|Mv$X(nx%v}MOJq}8plPw(A2J0bG!yel(zn8q2`Z*h1x25NpGV8{LbPwnpP4X+3i zETFzaH#$s*wD$T2^gvwzFe<2sr9Tt{GWnRDY`%47P`-ASt!6gtU!M}&h@2s$wniDU z_SIlBGXH?}PQ^l5*1YKQ0(eq`Hu~RRA2&pWEHtmylwG^-Wab%A8U~Q=pw>~3GR|27K)NdIFqkRePkSvDYCP#snn zKfh$#!GBp{RLKF0c4)v1 z()H4u8C0=ZOlg4HaJzqp!d<0@4aKGQ6tE_d84t28q@v<)x4O zJyXs%^%nGo3BFGg<*F`V$ovjTtOZQP^T1{}su@z7I-KT9KYprlHmUiQ#` z5q=8$zMxUDp_cYljI(Y8Z}}N;m>%J<*KJ}pGH&MglrR$0&Y)3XEd$MD z7hj{qW?aoD?#7S3W@!ZE$s~*+;>_G*gdDV#;*io3moJQf$_Uyb4?)6K@q{!Np6WUj z2-#yU8}r6Bs_uyL7TTV#QH_<~5ojB%4=^Ad70;Y#Y)mpiS-w?=O+9ln$wb^{&!Zh~ z@G~dpaRSsup&4=gtnMIKi`@P`m5pE?(~RSiM*&8tAZrpRK$#@7W_fdCEt_6yxW+U$ z7>(>U9pzW!}p3fUu7IiX;Jj%JqnZ22g z&d}Mw$)+OY(}XYMT10j@`dfT}o06}>0Hff4R!|-F4YbI}C!}d;0bFB`Pv|X9r~$FQMXDuaUdJm$JWm5K zu?qxK(~{|B2b3k0`?VK<&f*GUB{vzCEW`hTv1GdtyvKr@)9-0I2xiWu#P@#;&KJ+Zz8(jSE}T@}G<2B6482_^3-&3xZ>Ljp6vLin#Fvof%jEp! zkeZ=#^3OBeQP34@ut$dV6DGmJ8dIEcn{m01Ju0&mLN z#z3<}ETWNTb9YzD2jU@;)8;iwv@88G`$tw$q^EPZ&ATb~5iG*0(6&9@Dk~%Y<}Rbg z-{LPM+e~F z8}Q$_)e7SIxu`pVDoSs?#{k|2aKrB9)aMG8O){j^-1Y>9LOc=RsW?OS)S7{0MZH%R zq>pECU!6>eZNe_Id_~9%6&uYwp_#Euu6qfR^-$wQf8;^URJz1UMJ$ zX-Wv44)K?Lrzc}GAS(+HahDN8A%IW(9X}TCWJ-ZXhoMrU7-PneTv>QENld{CblAc( zHzVEkF@ocKB2l)^P2a05F-z?Jx+kI z249-jnbjb_WgF6H;E!ImNpJNz#`!??UPqL7I>&tQf2!0;Kfhhum6GU+RDO^44Vy-+wd@IWAWYvYqZwa|< za&hBMI#2i%CMQg|Qc)h%M1kNF zPo*|xz*Jk90+5kv%_#O@rb8zdEY78rBeY^7$N;2k3N%892Q8jJXjJW{%cd-;iDe+1 z9f0Q7V*f5{;EBE{WHHiqT|tV+WYfeYHQyU#?Tyiw+4JA^tsrPI19{@I$@+b?Odl;s zYc$ppej;LX&477i$FWp>D&~-Xx2~zkv4drWoN;VarTDQ{4JjQ@J zI!}$9@F4^XHQneIX~cquQ(&6}Ey+ukl~@}J0I1gyQ4eQvzbu8DeTn_0Yxw7qZ}d1>g9I0` zsDU(o5S~qu(qenIQs6k~r8UqqAiiSv5 zxQK6sEa2Vn81eFzP6{VOrfU#(wxi45^daZmZr4RaU~r9MBDsvv?xU6;rN$}N5qtJ2 zAg??}kxICT^pGCR#Qvo1p!khKHv4I4^MTsaQS5;rCz>ui3gMiMgg!c?@LOtzVl|Q7 zBQHlSQ|(Y>YTOM?7ee0y%tUC`T&QqUUBE&$B5-EL8{-~|9*fQ|RE$&o z$j_;@>0x#QFh8d4jhqR!>K3|iws}UMCPNJU4+Em@Zt^;mMnAR-a6|vow#6i0by(K! zg&JH;eAQC;QDD?(a4TxMl>Gyedp;A+Y}IMxMZ)%f_l@JWF#1{hkZLL{k@^N$3E&2S zvZ1gqO@ttCqK!h$ua-B&Q(popvAlaVJL%xg4_ck%&`9~^x|mfa{0p|xwtpT^jubyd zn{K2N35_SjS9OcevV@>d({q(wXC#WF1>o#ROz|leFQ-l|q%#mBNf-PLRv|(%OKIm` z2+boTgLWasALPyKQ);)|UaBmfI-Y)DHB@%2VVq6lrU$=0f!eZu@fx+JtU2%++ix^n zqjka(A&MS9tcdgh?|m&XSO|a0wr39H4rP z`;tK~0ioA$tpdQ)KDBJ)tEBO*x~ zmY94mrA{|sgkXv{R2?GS|78&rC?bwUz>6Er0Yf~rV*Se^+@bSnX6_fvDx^Ga6zrqA zy~bPjaP{RiU7|A7is>SPneZ=*pf->(Z+Y9lefQH_=a|nvRK+0y(h98!HUWY<6F`7G zVfzbuvn`5QLKENBEl1m*rfxO7T zV7oa%TI?a1hV4X*(9dMoxeG?(3;7TLgSWb$TspQBh;t%)Ql|-G(#$Cw93UDI%E7_+ zE}g}gVDG#C%e&0p{;qGjK~~a)*RZ$C`lhQef6I^W*C_|xmkz0ua$u=iQB z0_D}VL65e420Y?C@CX1Qr#^1S11|Oh(Zshtjvs^>U2PPtCsyyRzefrEa1mc6ia%By zCO9ZlaFm1syD^n-{Q{(e1_E)M^j@vjwEemAH9AxwX_VM5K7-AGC(K|YeV`gcaP-%# zxnxD4fLIx;0Dt4^`o*idL?a^8d!nozV{>e$8z8=SgFf#K3)!JF2VnwCRShKoGI1Bk zgj;s6ybR{&!-@_yr3p3~P*0NnJtn;Q7Zd)4pWjeMixY|s%Gf08+E0rw=gzO5kIF&- zB)#A7aO&+(`)=uE?2xYKP_PoF#SiaG&~AF4kV^^FwZ|2AEzrr(nMu6SD*d5dHLDy= zj8oGQpNK(~8ep8jCs2@DA30N>E?CSxaF?ipXy;q|E>%n?WT~2=cq+899N?TMSST@x zQ{Z4GD4?F;TUDSUB1`r4Kk9lkf|^`8Xb$d;kP-MB)cJZMeQ}xsnpXF4!)qV1L6iu; zT)P;@1D;V|K^ zwXLg2e5{O$QrICeFqu2s0mJ|+YKj7cfT=N)eB)U`oXeHB2)mCm!IXp}5Nlms+4~H+ zluN!fL_*IJD2vtD9Y)My!k&GR!PKYBt?&lnI=5ZX^1>s45Hk#H6z77by5;mJ%8xPv z6A<)`kXzXx-r$xEqGFEy4t6Ppfg`aNQgRO%I7#EMw=uUo(&Jxc!HEA=78%$Ch|NU^ zH@NL8qKb|%_9nRg6z0!x$lki;6e)|2G9Q~}SlN%6SK&qCt!~*s7d8`Oh>4UzNrlI^ z@>qasJS5hpZlOo-ibQQ8F4~7Sguo1ogFkVxt{<8__<^SuEUkPy^Yp%7-u|)jbr>Mq zy&Oveo$qO$VUWcWrF`iktb+nHT*J4nVee4Q`{b8w$SWTT0RgCz50MKr889^J7^2pm zE*Av{nC22c+Ls#l^rAw*GPkIZNl?*6GcQ;mumx~oy2%KbW0Rh@Hh?|BgGt8C0ga}a zqYU+4g1+&hOro?79EXsHa|Qhpb%dsxJ}>+qOTxX+L9~%rhAas!SQ6YJAI0g=_;8EP zpL=F&aR%l{HP9QdC4YL2BJ!eZ*t6XgZ4`ML=Z=Jc{k86}a)`qq4HeAP>O985baXO* zNO1lm58^14Ced6w2BNaeiq%dEtRU^XD7kQ?CKGU%H|x=c{)L(KvVe+&`> zGW>I)b6MREE80o#Aee~y1X2lKnQscDq?x92fFmc4E1a61EHkIXaHDE}0{V-7;VzXS zBQ@vasj9{dc&w>if6@`2z!3H;$LYW3OA#XEu*&ls$VH-%^BWt5Y78@4x%O1QoPIxc0o)dNVQGK8;U*HUeC#PlWl08`4XQo>t03!)=xd@`HMfe(no!Y1g_ zMvBb{;X%Y0N)0-jse1g#spI@k*$U8)5pxBfz(FSv2y`2Z8E89*#LiIV;t3R4fpe7M zdld_wCG@%yO7*3b^(h{;k7_$(vAHdI3p{cruD)%R$_B&V*9oll+2ebw1a4rlm5dwBA^d>dN zT7)vL8uLpBX$L+8>SJ6DN<&-`rFJsbfYK0efE=tUt`52)(Af*+aE~Gq>5Jqm5G^4& z+X0lu=NwTu?{5On5<+eI$|_cQOX!ErV2E1=M=ePk0UE3qe{7*b{KGw^JjQue5WH6#Vv);@Zc~FhV6_%SUEP zcd8`7q^S-KfqNI%Z_{Z60h$K72>Q~_vLG@NCo-8}R0#ZK5h>NPu{TJ!FR06}|0}x@ zBrT}?``{WX;O_jneOALnmp6~olDDV4dpg1TIoqTCvU~Q65|hCWKD*sI*Hj*tQ;l>Z^rHraA=+_oVm6auB!P1=^RYYCw>L)CHJ5k0^hEQjMeYHLM^*wiHH}U~j|Qj32zHY-G!C48-D?U zEdu@D|Bh`_%D{LuJT=$}!`}J^^zNllOi)n`@}lMGtv%!@L#_vUO87%p=^ktjR^WF= zkVILFLdB3?Dz2}lW#ky?+JE1ytDpcquyTYaku6Ax;D-J()T5NkhT&~m%V{{~jo5*E zJ%WZwEVQLmw9b`e+XODET{t?;?k2c3x%iyicY*5yE?-Ot^2m9;pEo3Z^JM2wjf*V! zhZpy*bbq_I)A@=fWk2O)xWZBZJBXveONbG3)MSkwPM?C#YG;L-$Ofqr2?dm$I&X*u zwuFa?)~)RMH2Cum?!FrhWxOxFLB%98qUHD&H|TKGr85p>n&|`MId(T_l}J!AVCYD= zvtUwJdV&XvPG~p>*3lU5{HU9JD+HC%p)jdeQ}M%aq>KlxdCL=F{*W{AP^^S_TPT-A zyQl?+gTta42-b3u5b!#717j&+rkK7Wc7dr;VsSUGB62~nM1mm-Es&1XHHh}d`k9D> z>^%Fi@>q!)2k6n^Q>g&GI}-%^M2u5%4Mwx#RT9N2ye7!0Gppw^c3^k8YWR{3K?9c*Gx+y6~}Q%;?Uutg>7f9H0m$euSE> zuNjrm^^YoCnHlOQWQ=ns+^Ad(p~vk2X-<81U}#jh^eqR2udieG&G7Qk`V+88M84N8 zL8E|_Y$9$h>DbLTV5>nNBP)NUJ6NHpPGW64lM2GcLi=>2PfD}^Rk0ZvO&WQ%GAx1V zZ~do}_A!s|v(+!0OOy9PYYFVyKVm16QD=!~q4p*@(fKn0qA0K!MiG0WuVNRvDtc*8 zvw+|ZHdw7UL8~)5{7C<-LP?R3VokW@yACYAJP4p&X<~=LD_z6(aGPO}JCWU3i*5X) zqKNh|PqOu5uXaAsDTkv(JP&AZkP{KC5KnF_PSIh4KOr#Iq61Xf4;6t;u1_Mx9b}$z zG=$3rjRts=!Ezf*`CiKUF^@XTYNy@-I9WdbTh*sIx#=;};e$Jr;%!7;#vU78iK_#A zF6C;Yu#IHMO9#lZLha9BVmfthC2pSR+07?pH&cefd!`B=>B2zO!;dQ=fUJ`Fq8|Zg z0M-x4Mm%MV@)4A5$2xy%?|e)(7zggh@lJ1u%2t4-m`)+a0x+S~$cN&Y{^VDk^i2I1 zg6E#HEahMDjIP#AMAN3BIZQ-0<(>a;Z-kT`J~bOWS`W&01R{8}d}w9W zK!^=U#YtNO7b6@HfjkC#*5QnM7x3GMsCF@au)v|+Py9hf$Fm9Ctz(E=1^BKgd-0`KP;fVo)0 z!-P$+-omL`U@l=26R`-@S><8ySl@FUhTZ*hN`!auY2H9umNL)-@9Pbu1#kn-jsn7B z03a(DLD}R3<3)Bi&=%x=ZXkB`C^#u|4&L85<62h%+s`2f3Xy@kXTi9<>R3p9_;4MC z7e@MVsFQ%%fzQ@OgOWjYS1;gW!JM2)h1NuSu8R)B;tYf&8B~_@Dr>O|$_u&K<84qVhl!?98jd1R`cdP)K1?nlfNs^i6a=s|)lOJO?&-m*pcQxe4U<5V#@9 z+yBbUAR-@*b%wO6o8SkY6jFB3p$ePT$Q~XjoEF+6>CB`=rU^5Ob`UF~#LEe#xKMkG zE}APa!c0t-#YoJ48pgj%M`+@_ z&{lFq8>~z6CZc{fEOCQunx-g;+0xt)ONqAQC=h$;iN7fYd=V}X>!;QPALDAS%D3(k zs4K=MFnxo=fR$j3LO$@fltMoi&*tWgOKY>Mj48@g7zU(HiPXiIb8f;s5>2^Y1 zI?=gGSGfej-XtW+VPv;OmZ}N5biekRu5yOV7xp#$eFUF&G6^6J&%3#}6?FkRarWq` zR3c9!&q!i&)-V2AY&LSEGTvhf3da8bV~QV#DUiIczKs1Gx@-dx1(nwZI(D@F zEFBC-IVb|m(^B$bb$n?%#O@{xr9Cvw$4*}o2}2pt#BL@IhAdl0=zZiir!*F9p<`SX zrM`a-D5D99C;!)qy*0m`TQZ6~;=aT65l9~og*&m{br3fJQScxi!I3y>*z?v>Pr_qJ z3or#=rn+F??l5Q|rV6nX zu@JciUf*3*kEJ#5cp_HH{2JaPtl$~hwakt1A|VvOA^HAG_^ps4iJ4fz9t1bF2-d(Y z;(O>e3{0YgPepg5)DFqeY*?g>JpxBx?jWEKX8^_SACW_!|3v~337ks(M2-gYv>M~n zvF~_Opz87qUE~Z^mjxl?JGsW>05g7uEzzZK!G5P_!ZA<{G-Om)6MI1j4Umvgt!3wj zLCv3e6_O9jdm`JXOHW~bA{|88z17$Y>K4S~s-Yy?>5Kh9J3%b9o4y30_bMMKN^h5# zx8tAdq6JS_Z^Qxy$b9WQI7SLKixtG4jFGP&!Ew0)SqV4sG=BeC+p?bNp=VC|VNxR1 zn6VeykuUM||A0bCY{ai&zaQ^Y6FG2pA?Gzhb9YA0zDw924+rZ&l}&*Y8DQI7nz_ZX z%USV+Jo4KEmjKjyvkzen`2K>I8U`5*Qos}*oN;D`daPfUwX%#0*J~xDCe{j54i313 zrzEgJUHZy1d9cP;z0ahdZ^)mpBrJ2TH)0rgsRe5PzGk>>+lRm_X8fFgM4r$ODN zGeA@5Z%*NGWGBLrz2KXy;dlN3y=xSzv1Af&4=b+&Cz|ZMli!)9iIJEzG1lHon2S+$ zfjzE@gxFYcp>h!DiL>($y52xR5MT;;s1W$;1f^qyc4lBDKb2bH5v|IHH|PvI{Y82v zuoBMX+yHlU*Jq-^ZX>glGCgupW!s6|9&}9d#Ja^t;St|wT(3h-R}ZDylADVk=sdtx zK}o_T{@3m^%Gr8@?Fkn^*%px!m@it75GJ1aI=!_G&i$MTXJht82p$54J+@+3vENM6 zG-6kSG6MO`zDZP5gVC1VfHt_}IKl6P^A;|!%0f8r43+UEYE7ZF2))r|uO^IKPnVAN zc{i^7GDZ%2-Xuua+I`5!o=-#+EJ7)DGdxCUfvtT3=b$VCQQMEFc&l>uRk8D9xV}C( znu7`>IYF}ynhfOV_yZ``>NPY_9oR3?3;tnS`NVf+l1S150;;voP0h-H@4#t%viyZ~ghraE|!#0F&RC zrq#rO!~Cc9V>?Isz0YCbGvYPe z1-2smxC%ecc;Wy)Bb&rsVX}UStQ%cy+{UqRPMD{p>&`R%732r(=l4B*sZ0ogAV&)w ze6=RE3Yv+P4^UkMBo=5<^wGsvos+Bh(CPfp_W;cQiHbq8uaee@#x9em&q z=x-Ll^q@oo36>w>Uhlr$={dOm)wuF4G6iJeIub8jg|1~dZRHPm)QL<-d-=G3fyEbq zr38Kvno?$k8U2QNy7v z@M(hO#l3NZ?p^TBzSWj=GM*1qOd!DsfPmk&6EmLRbagWf zOa~nH3upK`3I-+SzpUvApm@Sd5#x7`vy_5Ei%PWcT=QdKYp^^l7_NinjByl)!Fja1 z9v1{54Cn?)0Ef7s1)K`1F5edTdIO3FI{`8VTo*q@ilr2=qdn>&uuZEA1U@ECY5+di ztg&p{LiP zaL=K(H@$FM7yTiA-=dTOKQ*2L1scHI#V9bc!B(LeAPYejqUtS}Vfo6@&aJ;t@tc^f@(p^CzLG#FafB>Lo7$&RP;9BXSU;0Zj$4nzPs7AA3q6hj;~GRKr3%5 z*O}J@qI`-??ttm(&xxGnU^IMhi;%+Lt>*e;mcQXG#Gi4M+vTv|rLsrR{{s*Q8Eq7o z-xZz2hzCRq76PoK5pY7Z&+E9@{Qq_3?daiOZ~>fH-~}x@SBS$P6nLg~XiGlNQ^EfM za6LR)8&~YN(Cli3RS+v0K5B6?rxGJ4oe4;V1+N5tB1q1Llnyiq!%(4<<1)^$ ziJ4m*%+A*J1T+Z8{eO(Tdt8j`+djO$Rx&8fT`?J?xhIuSVi2-v=ALPTHfY(b6OJOFiMS0TyM$mETz zytnQ#QU*K5AY#O_6T{|xnYQfFh3}7k##&ps(s1yP&6*s?7!fo56Mu3@B7{xr!EBdB zd9ln02zFzmAoOtGqVlkPk|9`%IwuTu&TKFC zxmoZdXb=1HmM{QO)*xATwgsbo90t-_zziX?e>8P)CA8BW`&lfK9uP_VmO7AtVocs| zz-o+9tE0eZ=ck#_!^m64)TyKoPePwASn-iHVmO|4th2K)#Bi_%24qKan)rwhNL5A? z?rAPWW$Ml4zo6);Q%Yws8=6(KNlS+utj(4}2a}yb{AZO&+wJjIg;?vVgWk-hHwDdabSd2|+{Q5~8k+jK$j+Tb&OK1E4hPhK2ql{Vi;MCsE!Zhi11wG9&EiXK*V^DgHNY&6(EFsVi7zZ zBSVq`I^k?|e=8l?_E?En9jHZ|h@5HQ!y>)XM(2+@mY0e1Nm%g*r3`w)v+zSE5!UG% z(8Hp68w)*bPe#1Siha&PR@V)`<20VYC6NyiRvcMKjU%jJwc4<(7rR6~9&G?T^hO`@ z3KmWxUzp{g)3%cQz1$Ckkt?hi8OeyWp~y(A&6_A2{cRjNLUwt} z?Ga9t9so@UsJaDdN^cNOM=&3NJJ{0XM25?`C%BsBG3L|mq_3T2L0geSOt6-mW34syD*&odpII%cnXbb8^J0dfd$&vlPZDV(OoVDA8TpA7?N zY9(&W+YqC(VHvY2TTbg6U>rWW!+ssdaUa=sV3v*O*pDkAU?O^SeG?DkQ#fYm`p#b} zzRdq>Jug~eSjt=tj{(uZa{8d&A@dU|QUwh|qqx8i?Hxx35svm?Z#}!qMiLg;uGho+&Xwc^3hCNp;47Gr2Hnz(w zMb3wl9(j3oEtJJI4SC8~DqZ?@;$_r9ZeTRiEV(D>=d$*-o6SV+*Q5N+sk{qYapfSeC1pB!L2qvR6UpN`{}T5O772TunZ6 zUZ9-nVlf+;p(S+=>13v$IzXL6T8gEj76`%dq^;e69Mde&fp3T6hGQcw#f>MbR!8kk zWkJ6wd$1H2@zrG6-XN*E92?~2z0d7eYE^7yBU{;9*NQardrA$N@&s4sZqe^vz-%h# zvS)Iu7Dqh7G0qj7%Lt4UPs71u$5P4ii>y6}>BW5G>UX8s*~x+XGs^eLf{~_l(%%&6 zudBD>q`S_{Au)B{x^(;ZQ?gID^z6U>Wy#Lky3eP$;lDb&pT?#8e4tECiNN3|~cF@-S)4Q4ZfgGWvgOO%q zu&rB5c&ZCY{i7Beu0*k6_mHRs&e;?fm{dlk!QP3S=Qh9wQk|hT=o627~H<@ z#pe4KEoJN&T@xkB0Uu)&`7}_TSaHa%QOM(xV7)Wm??a#G4UOO=D1tlU7WoD>qR_xcb3iY(MB&`bzf z6+GdsE_3O-0a4*y*ieI`)r68w5lXs#Bb%iT6<;ZJ^BcCrAv_sLtDM04~WMW752|H<5AofT__LrUt923-uxyfgDs|Y;+wj zgtRldHbh5dFJN3JI$no`s~wJv1^V8*(Tui>e(7qXAAmHbJy`B;!fqJ@wS5dPT-})M z2moE7c)3^j15SrnDn9uEJ7ln6XVzi=g#L*o`)l8C-Zg#Z+ndi{9}9i^^5wbdX_2}6 z^4s(?+Vms64IDE+KlT)R#>-$59>mGC2*|s~V$<82oJ1hEC453aYkxWOMJN@8+aufz z6gwlS@dyH_l7mdlPaTWP3Jg-kv<{WWW1!$Kb#wX-f#ZTRIoWQb0cEWss?hA*QEhiE?s- z=M1ehiZyu|+Wu~9#s*FGXvy$c2$YtQIU6uJ^Q1y^jxT5t_F2r#kvCig*6$MhioLW| zRgOc_CHN_OX``wMSb4}YmD|5Dhgmg zSQC+%7zi$;@+xpy2XQK_*`XL^FCV+L4Dlcl#n2LNFD|j55>ypD^fHhN=sbBiAO`Xa z(1_=%->w>rNtl7B@z+Pl5&eYSMfx<4Dy0)}TdGrVi|wgTMlrO6n+xEq7+?zie>I}O zXxS1HsCl6NR?#b&H^OO0c|&+`=~MQpTbmv4QBY(6diEWe8X4aDz41Mn5R8`$PhY%0O)%AaCNz}D~x9zhR} z@bKXQpQs%corm}UvK2f$06f*n@B#vC56=O0MEB0n4(n5%tQtdTYwh%q9pj0(?riB( zx($%0cD)D`C7zQREZTVZ*__1p$XQa1jLFe5{bFM6eTe77wo4IGL^v^^Jd}qwz|T%W zQo8M0#4LpI(I&zfI=BO^XCFIe35NH6MW|8EX5C24*yd#vW`V_42o_tUR(h0~M1t@o z(S`Lzi)=Dq4{Q6WESyl<^J~dz%%9>t>x%vxw{&X?u|H$ct_kO=gSG-hG4o5bw}KFL zL_UCGY3}m1n-}b*C>D!D-_?@5Ow~$?sL*X7WYr3UPu#*Y8Q&d0^b1?n*+w{ zTqX@rY%bSNK8GB@6rKgWT^&HEYV2yz+fyr6*ryk60f!zGwN*e?bV>+nL#=z4;40FX z&f)8z%X9!}OAo5ZwhF*pFH}9PE(zTjfdlst_0M>qx8by{Q-qpmF!u%)MpwX|SxPnF zuHaHu1C(_#rLIpG{!a)AGr3Zg$b|?d|AY`s85%#h{>FSpuJlg`VTE4&wG1_*y^M@3 z9nG92$^=vlJmxyFFq?3;_d?1!U{m}|Q$=&C(`mk&=|k~OdFl5)tC#^Bny2EHF}b4f zT>c2QR%h@F2P8L7*H$&FKw{gj(qNo%ws5p4d^Dei_1BRwUE8A(oEE0^JIAj|&z=s` zB*|WH!wuneoV2;Hc`)2yuH%x{!gImkY&iMXW_z*N!e=M7$qrc*fli~*>FTF#QyycV z-asJMVI{p04v0hj)x|O}XF``ZF|(K-$|d(_W3`o;XUId02h1hwXza08b_a9<$mk33 zyw~2&^Z)hsi}lQU2~bGe@FTM6YOW&e9A2U%sK7(JX>0z?ZQ&!edcOXTu(Rav1B{sK zZ6a^=0i955qINCp`aA!NUan|B({I~R9I(NP*W}?DFiTX5XXN1to`?*5BoEK?VEQ$l zh5UA0oUc^or=A_j^)XBUuIU#`N*vVv0|CK;`O1K75}=VD^)}d>9{~(lquy%C7X%o5 zdBuJ(7gnMw86^HeWDbqpiXU%l)#3B}Iu$_I325Hz%xHRy=1mMF%HmJ+>mrYz`+Jk1 zzP*9U|2{#BO)>cfje>&w7GVV0M=9P$W(b(d=FO@bXuHt$z9s(V=2 z?XS>O9y^&<#rOeLF7s$(8zoR6rz7`4j}CTP;So#joa{t6i6LV2fK>%hamUF~G|lAV z2C_2vE2U#l00m*d&fHz*Cd!lTRcj&BU70;y3xa%=C1}*i?866JVw9hFxPZ*`bNyKW zQ06R{wxMp`Lj^=QU>)_ALI?QwLu$;y08t5anHXYlme-$*_YY(zhC;6Sv_Kh1sIT^t z;{wHG%aGi8K|nd7l?*|IutQPPMzD^j+Y9{*@li!&w$8uME3w4x59iS1%WHb9#>nZ6 zg4B}_TG}0JkPA44($w8^s;WP?lKDIv{3Ej}(O9gUzU+RqaFj_utue64+h;5C|) z?SRd`7IrI93cz_=X}_Jnsq`>*f=^KvIBZTRZr0gP5P$eSBtV?9K z3x{eL|5H)iS#|{ak{npAI0OJor8t2$Njk+G=5~o_wQ5#3ADNZeS!8ww+~JX&Vug$s zP#((TOpbVYkgW|C$tPCT2`rL;KynVP6~0Eq3Po$jXAtj>B&!qB-PTE_MsVajF=K%v z{5TIML=6G{RrtAHVuCuRnt6#M`U9+o482R{{j^%@nU}|}qa~CV3_u_O;1irb6EY0b z`MPW9*O7~-bdW)1P?PNBL(pBaV^3@A|F+L z13vC85PmZgd3@A^V-*9r0Lwlm>@;ZXsuQYF`O9qIWH|K`n~~ZLVJT$=NP{?~i3qdF zVi*V^fgkIu3z@-H2Id1VX$Y1sWRl|*7UDZ@WIXry+l~BMzpLAWmvPP4Hv$hGkyQ5f zKZ6ocjl zX;L(j0ZL!PQe<1f>Zy??Kkn!LEV@2>MCN3t%c%8!l3gO_K_LbSAImP07|?`tnhZcZ zl59WuU%;li$|AjDoDKbuCHxFyktX@ZXFzTHSt#+OQ8HhAgWSb7WC_D$B%&bgvC@rA zpp&p@=nVX`tQUgOqZvlSQOH^0^F^Q_p*m->|w32Pe&YkL^>Rs7%1lP7$ ze8@YdQoWHfU%?`B+XbGQ4Ro^W*;R@Av`1V)Rbs;|vqxM3rNf5ON^q_kdP-ipHcDc;`S9|M zgjO;Usz)exi2vcQ8F119>%^0ph>z(iCsX@RuwZQ1`(!i^n_-9ra>X?bupq7oTnFgb z{%i!Ur~GqF?-pWdeh>}^ZLI=2udNDo4kl(APihjI#(s+&@CicXa0mG;rAhuRa%{rr z{>ZdN+H0&cB1a3d_wQQ=n3D!h;~))5VUkFWy&{Zo_emLumev(AwYv#jV94Ol3yFaS zBM3KR2}%;P`fW%5@hk;g&j10iG>H)-$4h^Me}@?{@|Ft)VdpY0#~77XbxXitH6P)B zK^`&+4V9)y4rKdNz0jpWN`hqj@1%Gp;1sUvmC%{cWu=q@+v*ajE&GtUBM||FJa;3| zs9L@yDIRkA=qOhTc3b$e@nQrI@-hdUp_7H7c4*YNfxt1Dx!wg2_ae)B%s)wr4_Eks zv8b{0St|5;%D+RRwU!qV!mKosL-0b?;z#1x>i_ENUo7W)X*-vgzcyoG%oo>ps52-V z-his2(<~LfCCksqNCas~@#easOr@W;BiriooHYGdb#^7#ksnDjBB*qus?Glvw91f- zKa$n=(yj$}jo%9zn+fDmu_y9lSNR*4$hNf~zqHmQ9_Bdm6aWey0L<12y)cghIw+%1 z-1k2P7zKR31;V}^qJhW6Fn0R%3O|8JbTD`Z4phVwq1QoKC32gysbR5!_Yj7AO?B|B91V0N8&cg)*am5Aa$!dVI)Wm9fYsWe1-U3BMP$9p= z4PZ&VuqMbSrJ}VxBGzw|;Aeq&7a_0Mo0pNF@DdU-w0nA!ALTsm@`PE4l_YevjWLeT z8e`r3rFMP$&mXVbes_Lk+w}L(S?9E`pZ}QPtR2@0^b#w!tIs;}HbwXbmFg?>Ctt-t z)~?J%Zl@1Q=J)FH&N%m&qkNv;f7Vm-?iHjC(qV!8JpSO0C@t}IrI)t`grpvn1gk;W z)rC&pFhBAi=n?5Z0B-T5 z;%6vyAdG=RCpmMPRx()#B8oT5Q4(4MjrBt2c2^HfE_tl@K;v6G684&T^u8Mtl*^5%60_@ zBASPBEw*EC!$**1>*6rb{yl0R&rQu!IcXyXa6oq@AxDG~c5=HT=c@NsG^;kw&<3-` zqC7!gGsX^Xs z9$59q;G(bRzAk!oS+Q`a`=~F64zi-WH3!z9RRhwRIU~$ge5c>Mj&cX;?1B#KR!sN| zvz)0LQ->aTtY*^5wksE^A84tfEu_b zZ!t4ZAzg;-U2JpV+%>uApLr&u&QMl}G>}*oJkcIyRG9lX8l>^Zk zYW{_C)>6K7lky9+x0QwNQ|6$D7{%w{LeQTWD6W+SlavAL9-v7uxqUp+rcm`(k~8Wp zafSe@;iwj_tE*`y0o1q?NJbvLdxOPORaj8Bg!$mCyQH*1^+SgrpM*xUAm&ri*is}e zV(3tL%0yY&2* z+Wqry)=m5C%6IIiazJ!FBv`qPE?lVGk-@$fD!5#(qkI9gK^Va8;`++Lp~+0;N2d+a z79*kQDItS>*-Dw*UcUr1}^-80{szFQ6l(N- z1AC!8FxfJu8*GI77#^aZ+#l`cj@lbRQza)>>=%MWPcYe=8DSgOdNB^-qha*t_b z$2%LBGK$j9Kvdi|+^StRNw`JuvZQ_7!LPSUHk?_N<%H0@M%X}jw7bz-a7Xhex)OB| zhI$wWQS=}lWO`XHj9-kCfub-#QTBQnk=39jJH$e!CmXMtiVm6aL)osy09nh`wyp@# zKv9~MPP=_So?Y~R4=gr-QC2W}uSS58pzVS**s>999mIqIiyAL6r8`t8@URu-(T2>^ zg29iAcx2UqVoy=@TQvv7lrx8&6a4-QbDYm(CMaI8SGJVB?T0-gs@lV|LeZ6MJTS)CeD^ddBdS>|t^n6rW>?!mbk8`+H{ zGcbS|NUY4zQFVeaz;p7~&-$fWXotMc80ak?jx%VOfoi0l14P?fOmwHA){#@@AST@% z)OpT^p3%#gvcHfOFmS+Gg})+r>1i}^n(2UO0(pEyleZ+A$o?mqu-4(wf)F&^`LDH& z35<9Mq)3cWX3|THl2Qoe2Ch$|$fr)MQ?*rsJjy&#!J?{$i4sNUk@1{g;5qwFIn_zG z4m;e}KqYUlvYpInsD8@c{gDck<&4_zoFL;D^Kt%vqR3~onhh2=vpOtL0sQ6;s}G8& zY0XZ1;1$+CrK|}T=maK8bYEE++TX6D&;I+5@CI~yqJQlPGzEGXuLB~55wzrK#AcYxbO#_CHbV;${dsUiEe9w(o$4Z%1Ef91wh|ZR zw`@Ce3T@h4L$e|c+}P#XN4Sr6RBxyf@u~+<*j|DcsAC=SmfDZtUjd{=$@9|n%hmF8 zcc*S?3=`g%;~M`Z=yTT|R<*~XhyMBKOYYF?UezqmEdv`)F7!;jzx(TVX>LfAl&v&T z3WsLN6$L?X4Cqyb1x(&$5+G69P%##4I1l+O27Vk+Mst!cWdLQVcY*8z-Pk;xdU#q# z?OWE`C#_<5$6lu8)6!ERP(X}QPbdX3;^-yzZv0!oF^=ZN_Jajg%I1?dYax}P-60tv zssj@Im-3c__C4DUF0MF>H#DJl+8-rw^mXBOxDYMX-cS~H1(j__S!as^(ox?3mWv9@ zlReSnr_qQ4B^hDsf#C{_?SbLG71!a4ih<~8&#-PFvw`+PPTz8X2EEYSb4!c|?U!Sm zMS0Hr6EwaZd@x;@()?+~1>NhPL}9L`Ak7TzDzgUE*k+aAX+guzCPIyMHIk0wp~@2F zD9#Uc`@p_YT_OCEsnU`_5OH3x2g1kHC}^tIToE9p?P~nE&?rDe(?qmk_k)TdiY}6| zSf(stbWh4>PV@3YsliL0uh~Wh%*2u<%-#zipZEwSa73jsYR~$Nb;wxSl-ae5as~*_ z-SY*rO%s9ES1crC2jbs%gv-xP9SV`zB7oP2@92J~ND`~Q^&;jrMXmI*=gW_9D91iv ziUtoCAlHzfWzq#~yDN)^U312i4f3ShFFZ$VR&@l%Gw|#^-vGSpVicDxMZn1~33rI1 z@$XHNPs99lm$RJeE%fn=}U7{K`7ZrYStlRg| ztsb9q1a%92h(sw~y!cEUiy6M-{MZDS-@J|W35qvAqx1oN_u>=w=^^3bGd$b4vjvus z>VKY#(uCQU;ZYAzdVS}WvigMk+$UH?GKo%@TBk2F@V+xRrlk9!bjW^k{qBX$5bM8v*`xe>yT5|RJ}OD_ z_JIJ+VZUB8X7px5-%WrC26v0KYO!M0*{?j4cgFLdKSF3J-16;kd8Vak^;F|R#ORDQ zWffK_tA{Y&jE_5>QaE4oG=Wi;4^uRPDo!5aDrUnfFez|U+K78$_nZwOmd~kSt-ie_ zqA9oQ@0~n=MG!OU`QJcl6N1Y2ZD2Wyb8%$=v7~1L6)7MhiMAl^%a2J(qbM95?gW?F zA#&?*w9^wTaq0GbV{g#%m)Lt^#77|S3UKxwy41v9Y$X8Oc^afG;e7fhAqvuzgor1k; z_=!nAEWdJAu>NG{pJes;9{@8>$k;U}JG%olIdLaqv~~>WZ*6C1_)ZeOTz&|9#DtD( z+1Y#j2vZhoPjYf~ABwfq309b@m8b45GIWP_T9v47$=Ue1mCf9hNbThpZab1Q?<6|_ zXJNh|P^H}U%1J{JGaIi(T6mz1Z5V`Nwcp`s#DT{lRX`3S~w z#09wc(wAhEZL%U%D_c zWcB;|QFFhn{d%sji^!~L*IcD^Y}wgT@+W#IpDf!1*Qti^h4zmpDVVo9R(1G{U~`r2 zkSLdW`v1iwJqkgwrO8=T2vV+ykop&&$t#=B<#-ved#3z}7IqHZNGV?iG@5z(5$3}< z-K@~7cHWnv<}01{)Gf9=G&|)Zh~)0;F^{(dkz70hle(73K|U-9^|mJ0%OFwCN>>$U zG$V*8c7O((X?bX^ry-#s;=@TCBnTfSGNUEo{q7Azm;!e7EeeqzP?N&@rHz=uDSE*# zewqEUGkGc2G!m3~{L*@VLw3nnlBg`R#LeG%d9l24Bz=C5@O>ZWB3!d`n54q0wGJ(S zZc36zeG3>V$Pm802n;Bm#Y9ht$UIQd`h*o@7m=*RM5c;yWm8=~B;2tA%y_C;#{H5jPgPr%fWZoce zLt;c4COewwcb1)~nm7itIUok(eY(LA-qnk3UH z@BE7f8E6se(=t!<m6s4(<^+hDUN zQVcTY`lr&Ww-RNJ#E;6QYPO+@(^NtXhw%1d&~t#W^yvJXS#!<@LI4anpCGEx#sR~ z>QFX1iw_cF>?*JU9+|;s;R`@CQ_Rw)d{lCdI(yA{1hBg$T!04q0oQ8 zZ|LD)?3*Uy3sLhpw!CtUVht!C2buO~X_A4yq6kDsczFFAwo~{9%~Ja~VPE8reP|(6 z;FY-Eb*W?6o0ntHcb7N9)gpF%=hdLCd_cd46G=d{Eeoo~>`xwOE02O&6+Ai{0|aSV znPX=I(cD7%JBucG25Jh^R0bC}mK{Dbif9#qd1dYgK zMI**BF9YL7(he@We++cikaoyXBoYtiUhY1+fj??pt}wfx#t2?5+g~_Cq<<-a1S9Vb zQF0uE?@**pLa~A~4P1&Ao9MMnv@RRt$|zR6z#UtFtVaZ90w`(qe^I3Q(-9WZqlXA^esrG+>sy>;-W@6eGn20$?t1DFU%ggK-^3 z@c6pl{jvSASTiEuMRW|$kcP`*KTjt$>*fMo|W_V zLhYBe-rFmGPEvOq+t#q@Fc$x(iX)iOkw!&vugqB6z`ZE*4BV%j6iLEY+PgJJ_`ayu%)(RH~Z zoQA!xxq(LSZDc6=H6t+;kbHP-Bdx`dx>hR+qqym>idKO**hg0F#U4;Ecz1QBU_KR_ zk9vsD?JjR%D^sQb#KbT1kh~qDCp20Li3o2#P_ba`TczvFM1&FyD&7z=H;OOSvi9Lg zAj>u0X(0e~2e4R4iH5z<8DPzpxIgTmq~mmMo^@nWk$oM)LQ@LC~}8O36)LYvE3*TZ#_b!cgHML0prx4)?> zOOr16`eTz~wlsH_X)tGEt@KHnb@ta8eMZIZuqOJ#EKM4Z+ZrW_2{G8T0M_>iC?1{m7rzEaMEm-yLB;+B=x_bQ#z)IX z!V$?f@G+r>O=p4DLeS2i-=%fJgkZWb0PUSI+BPs;6EoXZw9#_-Yp@Fj+zCHDDtvBU-OG*1rkLBY)T^CCIKhj!DiQduzfi z#s6n~*~<{#e$&+dcYFz_@kQ33xhDz_1sD=9{sAM#h5JBhv9g^HHf!Ne;Iz2HjI>;d znO`7nE$x8(SN4tp{j#AC6*|D6nM))*lfn-P?;Ic0yMBoA1zTy0(#HRk)Xm#a>v9+U zpOu2m8G&}DYSyMM4Z_d%{u)e68w7_k0=-S-e04H@WGg@R4u>*9EML`3a(o4%nFfT} zaQkAV02R)2{n-B*3 zW_uZ~sAqpZ`yi+7_s#<6Z8``aT-;Yf^a+-z3!x=jQ9g}>V8R<3QUUG-LqjtBhvFhs zcKKUVJ}9>i(Y^5X-3;{sU4};w@th2yb__NBi`s_TyS@Awn{IcAG<+vlR)BcB2a9H3 zxKaTbS)J+z0HGna5LEpeiY0o2h(vNLD+=*}ehguvwRqwKr!$X4;Zem!C(B%lnT0fb zeCqpQ6gLv&Ir`ResKWQ6e@8P$TY(WU1TPU1m)Hb?v#sF{pe@I{V8E^~QEJ zUwiS}Yz!cSHjSlS!W(@^s9 z$2P?`d3kI?sut}mKbZp8K&t%+y5BL4}e1M~mZx>mVSGy)DcoGO#Q0`gEZ`5|ovay;zJKQcp6a zYK-M2pIk4!cX<8|N1O(72Il%=&l4)BmVjkBJrRWXPKYFA*bR|HCr}`gY_E?vG9(4c z#UhazE^{j*Mrmzm-}lfZrNDNrte)tFLlP$}k8wvi(8}6C(qJib;L`q>`Mz>nW+~IP zbbsRjR$W*{rP}eE1^Oef%x^Bb3kSPxkViP?rmM!%mtp?UJRJ-ZA6aE=U?excs{CQZ zXZ7p~aB*)!?MUE%OF;+t0DdZGOA5RV6EqQvZ1eRK6pz@NtAOU2R`vsHcbt z=GMbNSY3yZ=Nhb|LF?TGUHQO&(v&{n=;X>i;C_+(q1ix{-fsaf8b&qUOTRk4b~bz; zy^^{5*P~QGI2wR#v(XzD5l}0FB0*6{V(>Abp4zFU2pM0=_a= zkxdlwNmx-LtOUF&x-Hg${Xnyl^8jNf%nBhLa8yIcyI->-Ql?zJDHLZBCjV=5HjPL?CPyRMIyidMi4}yy~L zx!jLbKT;MQ;g;=Fo+ygPq7mE$al|Uz&Qji>&a*e2O`F1_hlrAAQT-4WY8oDj;+>kL za%}Z-ML`ZXTz&$US%g==L5RTY$r#)v>45-XO%}QdWUnlWkb^AoihS z6WkW3XA*h&&T=UGWvU={(oc@GE0d7ahGJx}op}=&_8*Xa5MPQoh|NPgu#mk(L(GV; zy#V$Wq9(Ce+HCcX!I0oNSlV19DD2~SvDKP>Z;w7t{*Pa7!D9QbbDl>n>4V829+N>2 zc3=A(H(ua6+aa&bx1>Yaf@OBb{oj!Q5Dhl|J&@{GGnN~P8iS0Pvj3o!%MzZS*$jJ z!(}^!%b^FJfNL)KgO4;7R`IYVn5gEXOlo2iAdxY@VqJk11;JK}m&18b9(PjT2L}CC zYxyfy)qBdrN_Cz-Nb!_arK%o*_1z8A#ZC?ww;QPK%hGYXb4p*fxBL-XhGEwER>q$C zrI=*j4-H6=nVu>)w#TOPKpUR+n{NXS?y4K{?ZT#36_U*ngO<57{iF2jfZU41dEq2< zRpXFLMw+k~wlHE9W?!H{J4JkhZfjzuanQ1@moN>)_koyNRb@EYiBZ66-7PGS+pO4} zg5sm4zNi*@c;AHETTVV0&@$!6|713eof>6o{@3Xen@yO}MVGiik-wDr;IMb|*D*!8 zm(QmHM4hrb^YXZQr!i+TdM{kdl#)nLM~e}B{wg#-#{efC?>ptq%|On|KssVy4VN*{ zai_CIZyYskgi0##NGxi!MIGga^b4ZHB;FkkH@EQ;Xk8QD$;SN*7nEiOQhB}?7_ z$WNb6=e+mVvOQaz(Q9+l?XSHl;6~J6RTdA6?0OXWw2Rz3X3(j5Csb$*Gs~H*pjiow zuG|t@JZGZO{w=g9ZDQInE14`d~C;|38cw#Flyity88u_i}2-J2Wlfc3=L(n3pKn8w5NFkBQ zyhXZHbYOG1Vd%h;NgU$M`4FTO6dB9VYPly)2cMn@!Gf~c;+QuqPgjVkWj{sJgeFBb zsI?<7R-@TeaX^pTodpvs6d!;zPN48Qe87xBoR7$$h!Rqi^h&6)rx}#VsV*bFcH2Jd z-xw{2tig$%T@y7)bWZp$AXJHmcOI4}0JxcjSTP?1!@e;+qlY06fs@58m)snLazsiu z#>>4fQG+NpUh>H;lEGXI5{B1V*{Zgi8h)kVT~>TRG1P4Rgx;Ys)^+2g?d#Gs%Y+hE za2-t~M-U$G+qA4=&?W!}RT4vnh@q#ZPZBTzZT(p_%uelCt{sE55Xj2y(3dGgjanc? za&O~vp5H5>w!WCw@#CywUb)B{B{7gd4K!8zYs+0u>^pBS4hKnA5bn392QM9fM_z0>-er>b zHe%#^b$L&Y@2*>es~j$y+=VsesIIZ?qBnR9C-1lit)A_&r|hSl=rn+Q4Z5u4hscN@ z^JBMGRrvD4`OrrseX{hVW)MtI^Lf#Ve3T95Te;=A74doDqB=5AAZKm})^=d(FCk=X z#O&P&JXT@YEC?Fg^!j zJ9H7~wSb6-I5I=Key|u6s$wvvIl=CnXOniPS7?-_A6?`V)x}5zH4{qj`)dm-H6RwZ zq^QdA*sOsjosV3KAG0!cV}Ev?@z~Ci#2m~&%fp;N*M9r%{*o@+T=hXQ&t2N8w%Gjv zm3x?)px=@X!z9jqSTn|v*}iR_U*>O~(8 zG}*9NRhM8x0Ui2pW>!Q~dX;@w!EKH;5%nYDOd;<{$z`{RGXj6N&ie9@WqQfk0I zBM^qJf@;-23R1K49AIHXc^vTWs!)OD;hK76g{bMLVHcyZt6IpEU%%4n4%}#Ch>lkXfV{$1L9)b&B9n7^f(x{o*bi6cOh}N#4 zB~`O?ASZ}v1TmI@wM!lbDZ&Io6Z%bMvN$L2fXQ$E992pmy&XQ$JQ7N`}H!$#N_OVbNn_XFMarxK?0vn;3%7)g-uEcJQ)NZY)z#?$W zTgA+~5OF+>o63^e7p&KGWFf>+N;cFi`|Xi<;=PhNPmPH(gW1PISk*(gPierV&{7t+meCi77g7RO`@9bzG z+V)Q`Mx0CAYxXa#XRCLr;_A&vI94)GVf7Fr9L*mrX@6+Vn2*CMGQG3|(ilJ#kWba_ zHbWNPgJP-&sc(&$v^UDI{4ig^h_6A{-@k#l;Z#6_z#*uiJH#C;0`U;;z*G~0*zI-J z{-IRMU=!j8kt$7;wk*G8sE;hl+WQ=eUUzkzR6Nww#<}5>e^BmH%Qz3mc{Sw|k-$x;R#2(vN zw!p|d{N_p_0BqFi$}y+YIEXEV$Zhmc@b5~=XD|y0bU`OpEP<6l5PB)qaJjP%Pokpp zUPde67Na}Ha@fKL=**vf=RnlTk6mkoM>_^kzq?*})Vv0m1cSvv{qA6a=K&d4!fQX1 zrb>{?s6!?cjxoR63YRxUZ~ zp&4*44L&85vpP%<>C)e+S!Sn}PSNY^AMv%Ev_E<&E#l~%8r=Ks?$K#Y6Ksr~%x_K} z?)iQ3`yNfh6t}hr;M4gVnX=g#X7Zq&nN~L&s2dGW^U*FeG7W;Cv*P`WCs?5}X+^bi zK8+jC-VHI@!cT_ptNj>sN?J?YahiQQ+95C~G%P96h8&sn`Wi!*Bd(ofHbRn zv<$DFGs%{*LtE4w3py)u4+n*`6Cs=>@ye|gylVVR?XNB|4(VZN z8Vhu(*%O>VnOn;2P2nf_%6sXTFgrf|J_ufg6CsxrEsop<^BUwCUPf7LqZ11%;@ zYH^Kh5dFTU{JhO7B6tYP9PtR*QS!&BFyV6$-=?eY{~jh#qFhpD4~H29Ni+!35-#aZ`Hn3(&&VPYT&6MMopqgWX@1rHUc zB=am0r>8k_;Az3q$3?XmX4wC_!k2TeMKF>qWoxy%cx?=Bw}4R<$Ebr8>~ zboHn-kpQktS0LcrVjqpvVK{U_qF`^CjAQ}!++3UiW3T;*x)}mnKkhH|e{T6V$G`i% zvlIHa&$14yT4A1*Z$Um`o@Hxzj2`X@EH+Yl_!?n1){#=!@zVpj7};@{=?=%)~#4}oNw!I|1c?I*xjsyi0CTOE2 zILpn#04?cM!Vp%nL10-)8_@5WsU3#^5F~BqvzYNh003#6Xtp8%m}Mk8sCy-Z&2OeZ z%rlg5-c5oC{tD(`A`J!pAdT(EtJA|21(Di5C8cv5R0_z6(Y+jxhUjxPG6{As8!EVO z$w6ai_7Ba&7QcA;c?w^8|IM3rr@D<{hlRTide1DeKR7|Ul+j_>fC}ZnWbi06QB=34 zJ!aydWJy~l5##dP>yto+zc!^gRg{PN?@t0K0A_$0_!H&SzP3i`CM ztLxouaCq1Xpkh?V75V0)0>vrmbZ_JI)0a-9R5kx%CIk=U{c266nhfDXhFVr^;ak+9 zGv{uEgzM%SkmA3Vest=%etpvYjob|FGV|d`IH*W}^D?eIRkRw7nBEYXe|&c3`lKHI zT6UG?YlR_|Mc@DaRWc8w2`&vamd5%K`9&2TO4WWpaxN@9a!G1*GY~n$N2Tw~8bTT| zFy5BG!njxa*z#9Xe#?%O-P%8hj7uI=y2p@@TbtCG;XIL5E>NF>*f*>u%o&HnA$~Xz zqWNVc7*~)Y88}7m1x&mMIJcO3JXZrxg7FY3GrkvoX@>Tpi(iQG_t^2!#eI(iAzD#7 zYrY>wm|K;;yRQ+)fMBGO?@zmAg^tlKqNt;fk@N>q=Z0}FraY)1Xe{% z@rCZ8^IpCC(yy`3>?Qk`ea==gx{`(|H+$IG=)m=aD9B0&5Y|z#inXmlfl@e~LMWaf z7O#*W2`%D?jW@%%9`c8-lZC?pV~muOoS_e}C^3aB=HY_eDb*8h8RldPPrPS4p}O$v zIDsRYv=*-VCDh_}RP{Xqu;FOve?Xb&BLoQilubF{Y@JA9b0yiNhRb z(?DVq(U}apAYjnUL7aAY?6KYWO)j!e#}pU-E9$H5y218j(tnduRzHePx{SaKUYziz zJ31TFO;C0|6B=U`{gQg-93I}W2N!3nJms<~1RP(o6xrGd8>Nw8pbrBK+);anZCAHR zGYsKlCI=aumu`E7&Y*_KjIUk&fHli7u=mWhSm=$<7%X_1)vPMUXRIMsXXP)H1CmuP zpLWql+f*JgA#CGY!}gTSI~iht6m#eMvORs4gWn}OZX;&+;b{n zo6c#CIH@odsON*+D2vhDGIjH%cl!tY5}3gD|906sz~>y9)*O&OpRub;B1Tihiw7OQ zo6uLh{L(vK3j5kyL7ay!7wYovvgfWC{m;S>NKdq+0B`=i$QG~~`d`fhzSb$NSbJz2 z0=ihJD`1ouazpxco;RS~{*XL8!tZ4^Te65Hm?*p(^}rfQL@TfOMJ6_ef zCz$Qze!gnW-Htm)#ri|N<3Tk|0qeK%N&7BfV`AH*;`_QhU)UzcpteBjm} zvAv%!ygjl*T8jhK0)ZRVHcMgwY`3et-qlt31Yvjxo$Bung2X85D>Dcipb}K_LjORZ zpRW)~1_)L{W=+r?p{O4;Lm==DD;mjUu$3aXdx#v+9t=~!WX7c${l#VYlRFu|ZIaWO z{u3$*lvCZ|dWQkI50YackQIV#7jTK)Aa_EG8P2+-=vYg%j`msbh?`-i!Bk0g9zJ6d zcR2`w1B3-{Du38?fI;2yx}^QfSW;kuJ;ENGVLemkoaQ2u{NkURgE(z zR|?Sp*ZTLYy-%`cvAs9EY)~7SSK2Q<^Pl8lkk^Wf2^n^_*}vGoHAs8cD_$at6t1T)_(#EoVSZUrJx#Y8(3P1xk$P z(HAJCjmtMEz;R!o^KWz6>kT63hH?H)FLFunxh)P>^k!RGKTQPR--vE0O?DLcwOb%J z!hp_2Kto>=LJAm27ON#J_IFDWdMw9cIg%nVKt@Mcd~?f5Bm;7B;pb|?h(aGHOE5`% zC+#;R)_8}3`FhOg+)@-oY4^SIyhpQ;8nS=R@TujgVQ2Zn4r0oL=hn2CD zg~G8=$IXVp4coRIW)O}>Ydulx!)DwI)Z#692h8cUY*k$&4=?YZF6<-NmBIf+2pj1d zyYN*^)Fl{aIT>tFj=NRcCnAHX zAEXciP4lS~V$|^=>Cm>0AhiKxnNvDjIOrfunl_= zp^%1>|5wdgxvdi$`glK~Ntd&Zk`%$HG{0Tt6Ky4S%rN~vhiOk0jZfAjw}F&*GhSYz1vf~z(MQD z#u-979Fi#udwuEntV3Xq*K9%6z)nY>>*Txso<(TXP!rdVfWpYrgx=$pYOSFwQvJlR zy&FGb##wylL&#a>o%M@Bh2OlVtDJ$RB6&2#5cW@+LY$O3Fr;c7Ju=Ua2QEGd{VBtgh>>R%}wfUqVzitye6CI&LQg3c1{GY93HDJ+f zK|>DA(l%s3$tYX5$~EA5X+RHS+cUN3F4~|SXY2s-u}Vv#MuboTR%IS))j;KMqT`NQ zF$+~*Vc(;IJwPOgl{>osDS`lg2It8d(az;6P613Ld1UudBBarfOFf?vI8NLh+Dlzo0;`f0f}DgfNHIE_ zo?@#bX%D;rb>;r*8Qkc)h~euyd(9hj_TQ40t(Y3$T5;>zwgH%Exu$F!92Id!uqT|C zo#xkUR^3MLt!Fqv2M$#t(H)L_7ao-?&o9$d{?eoYXnCjWe4>^kN>wBC_{Nh<5v zS3`6~IEQQvl&XOlTu?QZF;9&9=XLWDOyMpQUDOv*!->fbl^6P5u%~Xbsw9I~H4<6I z6=K37CH+-fJ27E?Q2`SNWF?i1`85BFnPepeQh1XDan2+kv>m5mXezT0n{l}}3iY2Jn-0yHhc*Iul({vfivIvJsTAr&E9jr+>k zE*Nas#B<}LI2-mJ;v*bpNHWGC-!sbyFCAl+j$pQvaeef&cccJjbDbz;ak6?CAG_Kg znQ=C_Jz~f3G#ND99g$`d9U-|WnopqOA4X)M_PoYjzaev~Ryv5GaAWJ#CDUjI26vt9ri#QEntJN((qfGcJtA=2^egKrrGbMTFE5CRE5&LhO<5}MqALreVq z6vuK*PW880M;|*&UV&NSGC&>m!wt}OZfOU8yBp=%22q}^8n-V>G6E(yglC(r0?#(J z{2E<=&s^sU804lnov@0O@KKz>z-4dZ*G=n=MQGqi?)Z#r>QjOKW`6Ccv z)qW(akI1QZ{3f^hi4C@|!|I~}WD5x(Or_u@7GGl{b{GjDgr&tv`# zU;9b>=FZX3T*r%9uFzjCf`GB3yaPjELX3`xnWW4!{GhrB9|Wv452Uk5Le~Cf6`c}D zIc8WDfeOGGw;Nz~HxPOv-{{;LEXNw<*7k>jXPUmgzxZ~}`(bTY15L`=*0yWGPW?eP zh%9vg$^RQhfcT-bso(h)L+-pg)&9T$i4WjbB%Svky_-L!bA5LM9sWS{M*^~hdERdj@yzLBvDMf{vs5?NM*QB*Pp&fhbEcIp(RoNZxKtF{D-%rJzQ# z^XU(G8PcYgR^bQSW(gXXA3NpMsnC%*%DkD)1Orv2ZZb^}l^&@h(=C{Q-3;&YP2?dc z7Z}lB$2{bpBQ6({$p&4a2z$C#cIMljhSUHNCBvQ;LlJc?)0OXuK}yW$KVm(FxTQ*A zG*(8r|JKW7UDmC_6LN6g_=J?cz!QdpXfrF3Xt|DUG_gIg42$`m+-YxCI0?*S{IQzd zQYN##P9C-b6tRJ64jw{OT_P|27C<;p+7>y#rb}0lz8hUD;Yk$+gYKrFMnySpqlp2h zbdzwV>0`%9!!}J>QuBIDpP7)PiE>PRHg*5^gWd~Ba~1rtv4N~H6n(YRJU3ff03{&? z=XRi!4aM01IiBPs-=at%$xa;eUi}|Yq%f7vs9j>)cD^$2K!0}KL5 zh@o8`#K90qh~zUg{|n_ruZ%^(Qz4(7gKBC%lN`p)$puckn$fBK2@1l_CqNx?l77ZU zGRN;o+qzXCF584JvHvWb`~M@3{1#&D6b^CRsZ!5S12g9wFTVwHx}iff^oIP1osFRW zPxKqoHLL7Hnd57^h(O!F4035M0{%-0h@{S7`NMa-<&$f!v<6|=ffufW^W5p`_CllHJKY_#}pt_Nq zV%cZ-?fz|;!y}o9fo39z?yan+8az~Rbjq&a3DZ3v^kGMBtMXXiL&4Ccxgz{^ zedlXaP+Nu_nrvD=p?_WYTg~Je2A?gCUS+)a3^opq_n|0gbx2-uRlB8NJJsCoQaUt zU|++;iU@qb7!-aehgUG4g%L*}o4f^M^sS1?4^gmnwav(AN-Zo>TGbCh#!)0(h;?7> z@*9LD4H#mFS}e+zk%s9Y#ZAW?J$VS~ca7TbG{4-mYNHrJudUxm_vz{Yv{IIH$3e_Y zs6bPshPgpLEvxKxhB^QWsXgnGsaX4dWId%jRqsd<264nX1)X0(_=le1A#cO?;ZoEx zB=?vn{5+RQLVX>{b%+@`Qzy`^ltq#!yasoqEEWe)2Lo|{AicF}mzw+Flm%LPt8KV6 z$A4ThH)N|cQF!WJ1V|^-74lTfD=Vz(*4p=ln4ygAO7uJ+Kw~4f0bZVV>)MojXo#bN zStD49AmYnDcdcaVvCFI}>_Kco{#)>8Rwk!~n(Q>euUVOL4xFmn)ISEe8~P}PS>^ua zpJ4U(-RTW%ULqug&{zY&l}>qFS6J)t6dEYJc9%A~kMCVFxB20H@WD4HLKbL6+vEMS zI(fKLUIv^S5i^Ku<}uVYZbT)Kl>wC;@c;1j-f>Nz>;M0$MU9G@Hx4jTByUi0f!Mfl z5E2xNAXckY!~-}&TL+Gc)^UW0VML3lrFE5|QtPf&YEe%yBCbl*s#S|+sMNY}Z-3AG z9Xy}&UB7?&pnwFD+}C|wuj@4wuGtE6| zMLxKf5>iLu*FFbUX(#Ont7wt4fD)otrO`a^>gp=xF7A3O{HohZjBE4{Gb&2D$EDOgFSNEpgp;pVc@R@+)Gw$#rNs3M~MH21fw{)-od)t=u8h%W}MY8>c>Ai zja6SG`6_Er?g>QEH*jJXRS5`di1~o{Y$pb{5q8L=b3<~G>qAF9Vm#RiI;sjNM1<=i zaT%;>Y8MzSZ9!_X*M7wth?npZX{-KWxtEz|dJ+&*y|D0;pQkVLyd;JD#jFk9=Z7|> z6bJUouv|s|R{VvlzlTnM_v_KsDz&j(=WhR__6fBo;lN(0+mB}DUSPT+@S{skm!rnp zoU9&bWMB{Tt%w0*@OZv4&Tu-n{Jx(gS+`t+O_-E0!zEljl0}LNK39NogkO$yTHPJm zR|3+lbZuGRlqc#g0^6MnxvR$A&H+#Nidswh{AG}l#fs)fc)ssY-)`@pl7O3ds5WW? zZ^5G=BlSQ|&sut-K5djEh8bVLicUE&0SzQZn9M#!w_zD#0}>QODdEHaloGs2ZPoN6 zi`^hQ#xuh>YZu=O5Zjo2mZkUf>1_-a@1jpJsc22$yLPzhE>E4Ne5TmFaDCEyG?5MU z;GyP7sabG4TNtXZCXT&u+V|VJBivHHhCXUEV_I&j94XhAatc2=5V_Iwp|+?g97}+L z>hP>f(?@SP^yKQAmork1zxk=^fj7U#s}%Nqxl%|_S)iFI2Zsd^lKN01vFxZLvFUew zi$R{H_E$cAO>UTx_+=l9`UU?Iykw&m-sL9UaPIFjwbatvpN~x3xpeRVA*dO_F?Tj! z3N&Xu*phB^E2@(*SN)n}L*qI@d#Sv$sV()tM)(w0cnGu|RWy{i1J#7e=W8{VeK5psCraIfkQxy*hF)uvcL2 z1O5!`#(*LZ7lUh0ZWub~0(fdiNOn>okTSur zeJJy3)7U4gy~chN6tTx|&%dWldvYkY+UH2~!AlOm`LyetGK-;T|A?V-Ay82V^OF!r zrgVg7Rg2n}H?5f=uBO61FiSRYRgeWwEz+j_x$h$*CYD-ghAnHrW{boXM7%&_f5TJb z;9fDS2Ylb$;1u&v9^uYB@~TruQDJG1I?T<`TYpVHXX4RX(updj z7H61`f(9##Qtpru+H-z-Yx0OLVkWvN?){En9nM-IwiPK2e5+_P*y!l@5HilU?%^-n zBf`mV>T`u*YwO1A(uR#)bHSBy8U3Eut|V z%o=Z=ccz+RQ>Yfbh1j#0dg-5w5iEmNX4#kP`6V#5HXfGlR|&jI^u6+}aproB=K{{4 zYgPuKNm7uP`uxUhL~kl}Bl zzX6#9lAvzy@UNSrkS?OtDwjHiWV?}#n6RkzEn!|rws-Q@mx^^10HbrSDuqn|l89X3m zh#8f51d0ZTrp2;5gc6ax`89{JpZR1+iRW&Pd<#aBbDkrVBY!g_U%n5!#bNMXg>msE z#qH3CQCg>_v(W7g%J|w-r+}lSsQ>n;uL<6|(7}>>2ekx!>V5|!od`ZSXm|`7@IJLC zDZnd^B&6TXp~)bl3QqcU@AVXx8hEMK+ea@m@hF|u+uGNdK3gi!3>+ZiEIc~!@@Xd7FHy89Tv>ktzaa$mhOU#I#kl@=`OH5EKi1u8UbU( zqv$;ZbH(aAyaS0b3rY8y|7`D46w>S4BW%IaHB?quW*94H=@T}XdsZA_NEQObP10*B zKlLJ$!tuOIuP(2CYx$+98ttV-gbNE#4Rrz@h3h!ha8_+Ji}$EMhuNkscg-%hkeevi z0ZM77JAZa~L%k3?X;R$AiW~}q_||g9mEk13@OF-o!h$rCLSO{jgOThSeP8X*d!d8n zue7eMXdY98H8I!a(7G8S;AQ^hp_sY~uTl@JHz1;Zg7t>~qN1l)4V(HLdNTf(4ilox zlRRE0Z(Q|{-A{KN@hvJCg30p`%)y=-v)W+}=4PFbM^F(8yRqi8CE09tHVyTfOc`0~ zqc{Wzvj^kg@#gqgF1&^S^vaf+rY;ig&ku0N|D;8n`dsW=|ju-dUBoK>DqwpsT! zDGc>sIBZXIYm}NX#z3~G!W^M|kPk%pi0{TecGjSNW1=hpAwk*;tzJXzcV+&wpq%%;S-!oWD~1x?K&;u|-vCWI3+Z*sh4>u%xT7 zyE!l_5wrBf=r$?^z8sX)dvm1K`qtJKLAexT+!7>O5t<6~NMChS&j0^9s;%l)7 zI+51>E|epFF|kpws>C8hMt-Yss5}r{_2uw9gb7eGX7W1XTk|Ip4%LW4AS#v$6l} zH49#seLCjX^6A%x|HFTwIe|7pE#$Gnv@jJg7I06r5nA+RE4{qK;h>!$D1u5Nh7<&k zTI5sI6ja;VrtEA-g2#xchzH(Vq;5)0IUbU))Rd8qnnE5{ck+Bqf%!^Jd6YS9kfGI+~gyrj=zEU#DGi%3eYn(S(e<=Gj&>bzyjvI%hXk0FMPcN|T)X-utCKw7CNC zc#cb02G`dk+K5md<$c3}OnMUjmXlI_zPAz+}bg?VyBt{0sGsr80x?7le0PE37)d49Nz*U?esRzAhzR-$ncwZ%Vm`hW&=45wueXlg>_(w+r!F9!+jSxFEa_Q`CB@8MKXDCn&&(%MB+?lmG|&PNT9l*y;pJbOJacdjDR)60eb2A(Tvc@?r(f$gd86)M&BIgYNG+TC zv!y1z$ggOl1Mka4%WW!E$-$jW3M^swChCU zv{kNf{=AJU;zjPb3G!yBT9_a+(iqNm-RR)4gPL^Bjfj^%3Jk((Dc_LK!yV<}y5Nr> zyqd(rA+y^eo{M`xaUS|g$0L{H$YF{yLwEfc{<=v2ow_{u1UuYLh-0QxQeeAG(LEez z{<#!pk5{B5*0O*Q71}=PcCO{_t(af3?IDLB%4@w2FB~;bpPQEayRo3Ybvu2@RLynQ z^7Xp?^d-;jI}21#s44sYba^z{_0NDU^`qxXzrI&_m?t&dGQSPWb}KV|j5k3mG@zgNO|XU{Z11(@68?Qa7SfhWky<8E|i3%#O|d z-aPAe;&n|>_`RT|k>;64sB-l(mSq*H)>Mr=kJg@8$5&s9?r``D)%fPRQ;Z6TPCS9ob*eU`T=n`BxbCMVMG|xE-C2QD6p|s>=%!Lp`Xjl00oS0Rg39z^1fimc6ir$cU(5E) zgr>N37z*V5;T4UGICiuuwdJIInbNATul=8LVs2mCszfcJRViysu^658?(`=fDOuN=g=VvXd;69!;Uoe*$f3WjAb4Dw#@ta4*E6jZ{)cCk zcDQfRhw2aMRk|smxw?7MlEFc+R;Vhx^YaMY!%q7z+M8! zHM9YkYmxr_Nq)^38ia>oCMF%}=(Ai19mj+nuB9;dDBYBS*f&BSbW=o@ui(v5KSDHL zqaFckHn8p%eH0!?5zD^($@1r&nsTPmR!lU7iKD*bZMaGWCVI!?#d}-oveXwGd+nJtl3i$Hc?AN<>{X zZ_36Xy@@|7mg$$`sw1Jq0_P&G=|g{0)8II+9eo`_nbqO<8ss#J{#^Q{1tkNit?s0s z49LNIGfIheV9o&)KMViE(K5WW*JiiFGAmVNGQoa1WZLv_mE7A=v^LcwCPPB;vAXgO z?P@zAe%~RkzYJJ3c17;;H)Wp&KfN|YSCko5eHDMV zyW+#bvv`eOHBmSmF5{{520W>KZX5b1)293)nmCi8V~n8H!i<7xB3H?YqWJq;W}&H| zMsIvGDo;f}s!TWVMns=t`LiQG&P{IQukdeDx%}$!KKn%}oQD32;MOw6ARE9oGLqEe z42(B5Vzax~5=&VIl(|g|yPgNJ&0}2CwJs_|@s4x)F;NMct+UdwaqTS6GHQ zMxOtpJptvo6q2uXj684KlS^t%`|QPHM>AQFttM1clEE*s2!!BMUE1_lTf-cibld-+_K_1H<0DTAFPO5JCalmGN2gxLJA z>bnRbSHg=@x@e^6dFE5&2DC>~(!Z;QwM@oOjiqa751uI9qD z!M_4m(xOO;)!=VH8CiC$2J^qohAb@l62pv1;s$+NLsp;8ts7w-hLfP_UO6vY!-(4V zxlrQHm5zPQR4`rB1s05a+YUa8#x5JaToA}eNUjw*-e6ad5g(#nxFyCB^&+yze@(N5 zMNQmq8FYAE@C8m5{%P5Oqe`sywbM5n5c;cxU|K+G{2YvrD()Sp=-JY-4wRSaw3%l` zLD)h8n{QH-b;O>>nM-TCkQ@^YNxURV2-(IWvw^{@TK1qBzAdl#P#kJq)Y<9$Rb6*& zSP-nvAS%`IY|3Tsugm_~#Pg>Q=0D!owZ-OdPn0E`Q4K(YP(#uO;rS65 zo1Xl{IKi2aDsQO9 zjQj+`TT_X=cu_5ey`6RNf3KZ&WX{BVN2(@gA_g<|l0XZ+W(C|dCY%PhYI-Qm$Pn<2+m2p@LvhKnTL}2> zf4v6G_INlpWYeV7YP}+_5o_Pzto7y&G$V*=XhsH@5!Ha53}`TuX2iRwj%Y@R?G}bL z*T7CXbM`tJ{>C5HL5xST=N=88qi~>-=n!?VtuM-rqalTci=Fin`MVgzPA7FM%1fym z>}Lv>3IQIZL-aJ&bFhlN13s%#6nOpE167yH?{;1F=GMd}i>Dnq_|<|3p5Y74?a9cx zhpa0>*unK;^Fj`vf|qm|e_3twF1i}>lw>;*CF2K?tsJcoqs@AoPM#nwW3&NzwUn}3 zt|xu&5{>^5;Ui4TJ`%oi4YjF+DyI)DWQitA@TrwF4~#&dw8b09`lcf}Xh{z~dB00Y zpe-nUydi{D9l^Pt?R<0cKuWrrb@Da2TU~#au6gn%-yHf9-u!0-k*ym$dvEJ3L4<2z zcs}iyBR5z9C5)(-@^zZeNZ>KdTuKTpC#!C#d3Q|E8vJq!R??m)0lAJhOnR{8cJoNW zx7FAs4!_SC$5!3NHDV0zVbNGh4309yo%JE3%4ef?wzP41@LzJB>?8+VG7k`CPzkBu z<#5GBNV|fslGxPveYoivBXuL_lz+ok*=M`IP?2?33skjc%e4olz;m8D-<*Q0{2l@Y zQ}(GpsdA%-I-*^GM=z-_xkg0B(h7WQ4-2|#T-li5Iq#yncEv;yyfV2Htw%|irXBaT zYY~L4Pfsr8@d!B-rQtYD^FmCPdFU6`>IOy46pVxfs+CEhGrv40SP-*+`ZJ(1Bs^io zHDhz-aO1!lE;@)UW6(%wxAHu#;`a-w>@EBewYv3S8in6RW93G!6i`Ys8{uawun&RI zv$;kATE_vU;GLUOF#ne8T1j))PK`;;t0}|HzqQ6gSQ?gfE;6N;-Yc}EZt_15m$!rlt3*Ol-Ek=dV!(1 zTjumyu(jug)r+3K(5-sLAV0V;tz@pQh+SJNZm{P2R#3Xszbo2)iFc4i&I!XiYL>KE z9c0*GXo7SvMLo#Y7xsvFuP#O$Hr$L*3e>fCN;h+ri1SfgOV6>Ct)t{oMfRWB!cc3y z%*Lsk;Hc_LIv1(82vtsSzHbq>&PudQl)>{8N3;ws#Ctr2vY$p*zsKQKiu<^)LxJq4 zxDK8hYrqy6u*8YxLm$v@?eu?KO+B#T@vl*w@^9Z9Tv-)D@*TD7Bg=WbiFTr&+bU6C z>O`NoaK0{HLZUBu%!4WQMSqb$NvSVZ>I?Jrxc2x$&6XBV51O^X)*AGcY<2}JIb>`e z(_Fzy)-zoRpW0&edUg?huvgp$B~bU9IRtyx-fs$>DPTZKi1`o<{Dulv;z}c=ldD8< z&bqvk)z^kKU-!YXfk#Gmf0NR-saMZ;T9y2EA!dA|AFlT9RpVp_^9c1)xVSgyf$Cw6 zwqCoxWsTpW@DF7Ks;!paPb;~B1)Fz8Kf`I`N*_pd&8@CjOZfPM&*-dQDRswof~m-Z z6xXUww$1~-S8H5EjPE)C2%p9wwl!%_e}&ZT*0_VA#5jL)Erd(c+{((<6ei2hmb>Y} z!qLzZ2&b=-39-dOj@3FP6QaAJ$~fWP2c7LygV_kq`SeckVvTm8bVT!mU;hre7!#%A z%(oKE@(g`Yg*+rP_&Ctm5=gOkMZ4~vA)ifv2cFYc3FX0-1RV2y%`_?56gWE4 zuxmbrB@E;DYsQtr_&op+2Qu7z(;nW(;liPLouDDf&xIxC=>DAe9DCs5Yx2!jRv|R) zor8ivI6k{kVj#QSO)tK`?)0ITr@{_AZ9P9lSYqxHrHiSZfs1DoQl)j2E||X)mi%;^ z4~(VMYcw4RmYxu1dEQ3yxRp?)`PBio;!ft4i!ui~l3MI!ZSNWpts@vu*DfyLfTiJP z*auuvq2ml;HCrY+PnB%Cif6_VPCE$NJd>4OQ)V3DZKboIL<_r9B19y+k_e7gHOS%> zwZY&_0^Z^;vDbnbH|qe6JovTxQXI=^g6dLP9>AezozCuBU@3C~vLdvQue8E zEWlN<8L?5^Xd}Y)Eks$%*HYG6XYVCxbC6Qjh>h|IR0>HJ1B-8(^PfLg91MGMWI^XA zN0MIu^u-l(J%T5!rG~uqEDC3W%q=YyZf3p%^vw))6~XXdF!P!ybhufRoo0drM*%9Q z0EyMI$lL6$*o#cy3A`>$_1jqTSeaH9&P6^+8fH;9xvf7AaZO*YmbNJv?*GB z_exz>%K}yr>t+!*z7B}it*EYo4u56r#oJBL;Vv-hw^rzIQ-M@fMX#p)68!LoMekZ? z3>v|MZqmNtxL=7#rt zB5?4H7jZWF0E*itDLlNQL(WX8see+!=Psw!M{qSL!`_1$a{BS?8x=x?i+UhI*h#*6iVZ%$i?{n>cLlo&^-&}<}w??f3sKxt9V z0{J3#z%idNSuJBQS{-NxPwhzkh(OuQTjE})xQsN@NR7lvY=)OE= zP4G=tA3FTp?R_v=rG*lH?rTc<&zX`zL5hXyL8_%Q;d}N;texyQzB3lBIa?BGD=o>% z{#-is(Qdz9Z9#64`b~yHn~mTYaq=8tG^uW@vZk5#iu*Qh<(bk#%ic}A;)8P2lg}IX zG=}@;#H(9d%Dic~Z^+*WAk>HO?@-^IKTIR2CL_*tJz)8Ka|EaCY0!vqhLJT}rd*!# zdeUU)KWlnET~|Zc=H2u`B0;CU6&%M=rTsKe;MNi8*^BHB7ES9|UI!5Lc}bl42nEF5 z^Y(RIujEh&H%w4sUsro)CEc?+uNX?pZDAN)ACzb}6Fh{Ds z-^oAFCuSkD0*4R>#O~vMv7R8zBku7?dRO z<_jSS+DkBHreWELK+gbftCE=Qr+XUF}*d7kf31GgOOi z1>JkHvrPJ(U~YVyod{A#w?eU`y14q&r!cQ*e|!T{UBL5Nef+6c?o7qW8%F{hejX6U8x?h59Ub`p%b+ z3j_E2cF&Bbp3!*lwJ4gN4<>yC!iz?r5xhToc zu6mT_wwIHm=k>){?N@e5X5op1!m^c>jqlD)0^AXeSkOxC9^aUYABiz3A}r{IT)ZS0 zU3WQT1o4}H1BP2CdWLj(FWrl-=)H)!;HOl9z)+tEwhK+owZ3fvA9}vzDK2(2C~S^tP+(d4r!o~qAEF%m|5X&XV$q;T z(Uz37>IPA$ii}=si)&vyM@5M~4uIvTDE`jPF8_OltdC6=?A{FBByJ-~;}^z^L*u|3 zaJ@mt6tv8uWH?m(#wmA)HZ@#b0S3}hUlvjl#KbP2QGD4|l*_jj#Ng$qAQFVb!CnY? z-qoJi!A2R=1DCH!==G5u`E(Y#pw`**T(%J2*-Ngkta$Rd&50=?hT`U;M!{=0j2rl+ zkMV7j!fZ6dWunT;>*k(4*X0{z#yYNvzsakMgU#gVNq%}cI241$#=yN)w^5lzxQBB?8^$}F$l;gD<5%3lns!uy$ZuuF7`PrsBNW~iIdVmtjg z3>2(Vq8GTFCsEJ2s2;f#ebjsBC;2jaiES~n7q8{tr1O$U3!7TZURP*><|vEmD>Ol` z1)DaJXx@S8GF~$8+Svr9YioNDLdOLG#SZ38Hv$0#GCt7C)3xTNIbYp<*&xP+X=%M@ zA0DNH!u7Al_@0R-EJg#@e_2)_!;%ZGe4iE4q=PK^_&40_RV*)WA1y98(sUH`sIU;uf($m@;QBO8$)VCZiPDB1--<>z^UJPXOqR{sPx1P9&s98MMuo0&eAhe_f*@K(e^?O791z{sYH9^zFgey*U*(3CXg zLjYSnt#4C#$&WM;CT@qvf#NiNhWsuu_*edN-QM_p=HmGAd^*^R=eC>qdSITr>(||E z@m-W}g-~BvutWS@JCi^|^RImQ$*P9p%c8Ln>t4r~vpLpB7u2P8G-j#Y>rN*NT?c6i z_QaiY)E$m4*jP6{@&oZ4fJe)h)T`@f%(yb@lKSY6PNLk9pGLR)+;jM{7efYU-qU^7 zM7~zAW0vQ#PaBBw$d_)pX2v)e$$;(nX zCecwYRu(IN1oV?=aXl%&dA#OHxNu)(2EL3;c*FD&%-q*ce4Zk8#X2FzB z7Nz*I!0`*O*jwy5I(Fgb?}YJ@PetD#G1^=??`Bgj88!qx+s9v?Ho`@lqUxP;d13Bw z%jLa^v~Ijdyry1mSV6JnGHqpe8p1ys8F*!H3;rcjnveLw3&pUVJdDtA+Z1cWY}=Hv zfiJ~`R-qlDY;eR{QYUo)_$`GJy+=4iCzm2?+9NW5mzBa7oF#nWo3aEB%n}m7x<#v} zl{!VImh^(;@|TRix3UGk4u#IDK(Oa!_lP7V#QS#;i$1r!K}bpvOr)X$ZeXX6`Pv~0%|B0;oLo- zvQ&OJBDh6+6uk@N>!n&wL);80PcGieBleI1JN0j#SP=!ctYDk+VvTWnGvQIe zD$j$COuhI{q8zL@RxNrx?b)zhY(xgTc)4aDedk7t3gx>X<9}1^_^w?_(Re98EI4W| zRRt2?+3${jwx#l;#HYWio6(NC#oXtM+s$6fc+|c@p?5YKpEODo=@{3V3{<>y&?)AbWQ}4AZ*=Eca84y1D zMj1*&eH`>VP^<@h)|{r<01AV;GMP1Lgyl1o z!#<6E6=B zBtX@-4&7gX##h)ViSnb;Y=;S_?--Xw2UlQc(JWw(91{qLm`ak_h(FDZz%W%YT*qB) zhIB?BdwKa-VXvmN6P@+a6r#$8wOlJO$ubdgC*Isea68VgX!CU3tGoSQ%-C>hf$x*$ z%S)Fp|K|c}-j!*6koxWXiPxa#I!h%diD&NwJUSxFcuM{M(CtU1XZE;|_Ei?@WvZt@6{}o-dy}e`}nc3q0RY^`jB7& zcBQirQQbSBNw}E{GeJ8Jh(&K<@08|1t96vhFal`R1(>T(gARsjni8w3Zwk$$tbtKK z)1{l`9spfk=`MLS`{yThvp=z%Dl?uoz z!2wyRfUK+^4JNS_V!>c`-xErp9?;ONe>dYfXiyt1>*EBk%sPW?)(L2fVo(dpi} z_`4?-G~0PSWFqA-_GG>2B%c8(mpx*AQQaNL)GsAvTy}vO7`A`-PkOni=K z;P^yoNwvNp%KYAitf`_rh#yFkR9Uc%mt1psU_X6jTU--)O>J^>7J!AS*cz&$Gq8pN z)X=`fc;M5UengaBT|3j$Nb{1?tkDKfy_D&iomqJE7?olP9G2pW2O@woPIKC~s3>w5;vBFe40s$tkj;T*{0%3vp#qFf zqs&t(LWmoHwy9GL(DW2}N(H`&MO?+AlfZz0tGJbt8fUxz!HB>KvI2~96;mq0z%RIp zd8tW_lemhjJRb_#-b3Dy?@BYlGpr!pzMnP_5b5d{-qSA+ai<#|4i2E46MQ6f`qmkr zbJZ5lRx2m8a^#8dKb)cyOXi4A4wW{s1L90iO)ePPM)f#r!>iV&Z(0FrEbBUG!a5FX z{1*(nx0G*LTrj0A?G*E=H<0KImwmI3Y*X)>T~{<)`z^ur7c^Ge3mP+uEEGR{96OkK zRM=5hS}@x7qJ~sXWe&MU`_y92paQQg%C`?N*Uus28^=VIfVgo?>;i1!N}6}E5HqpT zec?@hS(*tW=F=fhJufkrHn3&FupPa3+@eHajD9JbfiYOhC@U2N8^9P3GN1Z+Jy{`t z{AEz!EWZPFjy<~irudsdrNNCg8?X1tsxO`UQ@^ow&Zn^J0~Lk}sW$fpK8!S{c%rM) z1+eao&Jpd69`8nZy=x3{&nN)}vS8h3*`!@|PfWmKTQS&E?_06Nb9MKNdK0g;Ko%sX zl;Mu83V0q}$4xm@BOxXesHrLw)U+s0bQ?t@)DoBTFLS2KuF+d`GTp!eXe#2Oq!`<2 zGom~9Vra(-Uf>ut9mm>AOAEHP6-a6SuqVH~y8mr+k6BkfQm3Cfw5Sz(!x3hi@nXF7 z*wS9x{ZqsZO*xBGeV4YgQj;lCx*zh@L&pZXU&u0u`?h7qo9MCc6h7%$x<|R6P5GU3 zOpY%Cs#r^ctAAGYz0^lD3O2#{GTd z9D|2Jg&c0L=PZ;6+TGz>v^8!IkZq6J9)zc|ptQPx$13JhTc^sTYHkqlB@Fxnst3Zm z(U`j?`9NCNou`V2$FegQ+V6p(_@_C3nnCPVsHY+nFDsbr0OeQK@QN!?$?xE^ zPI{%5l--h55$2;I@XL@I&Q+bxwCGD{04&-mp39m6TFYNo5V>s6DHAoKSQ9Z8$}uagw&KhC!p zg(^!{&RlXq$d~>9WC7Y2yVLRa&vr;^-WK-y__V zb%vfrM8sDIW(n&8a;}CIO*Om&td~6Ug zyT`$% zP2jSu!eT(RC=8iSP_CI+%U-SR2a8vh`fSXOmtL=cc+$K^p`VFfCjm4AQ_I$N$oabC zm<*T?Wk+y#W_gN1Mf4hACb{?Jtt)U*^+txXMa(Y($CxBo_I=UA+ASIg?9;^&CoNZ8 z)V~Jrx!bb~Q!kEZlhFZY>$aM(9T6C)5R6eUez&km3cBcdNhv8D;BtL#W$gi;C3>5W zMLEc`8zJ0ZX#>f=Ie^Av-=aTEv-kramUjJFHCZ$l$%yS9q)itUs#UiCki!-7l}uJC zWDkA(0pRwLSC8`s{aLWenLj1=22QZ?<67}#69=qY_V;nows5pUJwNj;TK@NOhD$ zS!Ws2$e8wU064(M)tB05TTAvql=V_pCSa{2gwuL6+wOD4%`hTk7b~y#70yB3!gCtJ zvhk>BCI5|R=QMjwjgsC8SJErWb4FNB-5O4?$*6b;!L80|qoj9=No9xhC@iOO4KnhC zBmsu9L~<^2qVISQWlhs&g4TrOcN3j&KZSmB3m|5{l9ij!5k4vXMj)^7QwvrrermM! z!A+Gms*E=3pT{!Ch&pL*QK6JyhI2dd&tMnZIz=b#4BR6cqXw?FDV@adv&v5|DP0iv ze!`pRaqon_X?zfyaR!#<4gNDB0TT+6lcmz5GVt)b@S5TyM+L+s$OyoeeUa`eFo%P} zSU^*5#qB-*O6+{oQ`}1UVyLS2i%&&Et-v9~RB4XVcnRP$+S1i_&S;BY-hiAA*|*4x zlAzLnU8nu?yWgBM*sV3x&Xaz*u5`I3&3#{#wFchTwo;a|!$ek9HcXC}a$?=d<3|lw z176o&gmET&iP%Sog+-ng3he0VoTFT&Ht3fk^CMdY_N&qmI^j3e&9CTvOr2$1Z(z0e z;DkaAR}(0~xW@aT%JZD#M_969yuOkXPw{v|Ozc|=ED0gG_{}6NaqK^Y@pmiz-+TwX zdsiEXm18I>*M*u!h($*%9a?DIh$!=@GYPvbd3c{7#}RuVEoVd0*PIlClaz(+_Jz9nxFAgWM zn3|(gHj3u}eM_&Yovh3oC*}JCw)+2L(V}-x(PfDy@R$HK*#7dre^8ar@;OjJXIdZ% zwCS@(PgQ*QzW7e;OWgOZV!#0_TwWY+74<=2q5fpQ+u{$k+KlPhbAE;5P|szTMah7( zGMHb1SK2|XObMV9I}Fb>dYRF4q&o%3#m= zVc3%FvS4VY55wb#(Q>d>9}Zgei4aOC%T=C3_O87fv@%?j>t!rfmaCl)b!uT~r!Y=w zat$r@S3|0U3>4aP*o|aZhcOb(P-tToj`05gpFnSV?ax%s3_u{pWCf5i?5NFku%B*!dcy|(nz`)$s* zAVGfM`;Nkz%LbMfLjV;aV)i*MPJLXm=rSm*Av0@F{YZcf2jl^~uMl9T{yk)jb}Ncu zitQPV(qr%oO`%f-;n>#cuf*E%iN$153kCjc_v*jeiYw9|(AuX{lSEsQp|lnFFqatf ze2QjDDPJyy!i>ELwXe)F*EJ(X;H-N0@|jY3k{ffumjlg_xQndb*dyrwXABuG#*iS2 zzMotqo#pM_(P9xpH2NlK{*4YZr0<4!&5%O8AORWk`je+E7Ot3$zK@xp9Z2k=(Ock? z{yMTT#~XJ4dF$^X4fV}3#9nhpDht;x!oo~ht%`})@y*c=w#H4^8mM|jKk>{QTrAhA zX`V4x$~Y#%FLhNP(zG6mj2O_PC zKhz=6F;yr;4o<69pg1JFDF6kV-L6UjxnEFx?#;8-1#$O#mY#G>I3`}U78pC1R4)85 z#c_T|_2Xo1fkY}Ve=)TCTa07c|9}na{~$q)kf?w=J-59*-$!6qwyC%#ewVl)ewSc+ zk1gV+zdVG>A+|rvLK==O946Mb`+a3h1O()2$3~u6g^kSg&4S&^a>iDA?_2*Fl0T4Z z;vjXdDlKhrj~w>M5W0}_{UzjX9!0I+(ly-hQ>=7Ayx4#)ld#(MPAQ3Q=cR8rr`q1MNKj%M67Dy5G%(}kWs+S zPJ$JzI%Bx9cg3P5?O=V0%rkMXc9>$D@_gXVqc3l9Zhw@X0kpjbZ-di5@4t>2Wx%nQ zX-e+z18)v!KafNLYmEEuKS&~zmE#d(dFH-?qX8QEsA27FL$8Eikb-(X!iYZtBxUx- z(El1k9;;WO;e#{we;q@}t6OWXn=|RZ$B?Y0JNq<%CNHC5QfOp{jJl$F%H~A$Fv=KW znK-V4tGN^CXFF*-J!~DO-kcj^oL;ezD$Qh+xC93BITiGn8a9O>9gIxEo}Jw@dlv9;p8joe8pq-(>y|+D?Z0kRRKY9_Fk4h5UJeP z_qJdoWF4Xj7ZlYIAiN`3HcAueFc=$?m30YsyAH3$?&1u>j-^R`DW@Kpe0ACw^=c7m z=Rgr&sr~$N6r5pDu9a8^pHGq0bTu~?&H?X7k<80_20`B2^-Lc>xv#RGd75jlt%UTe zkKvIj2(LZp@GTyMeh8}%RC+lVEswiTaw-@4Cb|s>^2x5&x#BkhaKd|4z!qTfUEz`y zi`U-H<7sv6-acNouAQIUKCXaf?L*atG#@ce<*1{PxbWKx3AAdne{F4gX=}D+B88`PWCeOG^(Gb|c7j=I-$+9IAeGQ}4b<536 zkP9BBC5sYD2BTH3vYgq&>mvy7lnge-#g2FyT4_evFpvv&g9V}+S=(hK&av| z5(~3S|Fmy|MV4O`0_xxRg-lJ`xgnwA*U>9BzoH|$4W71yu*VyiuUU!NZT`;=pc7EfC8 zCG64uP5QHCRp5wb4EYIICstQ#nkCaQi{0vvs?A)6;>XUD0v!mx?WFATOTyYNGo%HS z2sP(htmn=^vZ~zcqTG+RQpfFF+@t4aPq;n&2Ho4W;ODp~j0ML?lJn!-k(W@(_9186 z^qvMWKkV`ezBwC8OGX+;#0y+C@E3~kFj zIuR|NvU((Ejn(6+;D>^A?vaDIL_jhB2YO)=w|fk$xYcR-Eu((CeX0vw)IEZJ1>xhr z&gwZkt*0Wt;^c#68Ape5x)av#WBGMPYDBoEMx6X(CwcrH93{`HNB zl573VFP?C2e;#*z&D8$-o^5_9Gd_$z^w)m?q26CWG#M*q5J4ha_UTE1QS2gZZ0XKI zOaD7PV|B%N2pHO2$ciVPZmVC;@|h>!IHjFF?dzFv&Z+3S{G35WX0aoF8$lv-Y*}gI z&hpBO*{4wKTR|`ujExO;s@<|)<3962(lzzdlO;j5911eL<1c?C&_{M0Voa&ndo|rj zUk8=NzV4H}$+sHbo_YbkkSEoIaW8Px^1LR5>FWtD*96ZI!m|Cuob8Dv2F0=+L!}bE z!p@=`(!t*J-YtDX^%V>*<`cS^dV&M0*1#C+pnu>ks>NVjh|Y(waiweOW_}!E@)APa zYf5ZP9)Mj7OMB!gyS5&E;Ka);tdLtV0Wp>!q0az@%nw#VTeiZd?5(U@Ps2%aRo1PA ztewV4e&H2ub0$bB$~3YNvZRkdIztMB5x;nqdBQG#4<}?qG-9h8^YQYdPWF_p{Th5o zB-X?B>us^)Y7X7){`22mkEZwgSHJZm1oAWKq*6yH$Fb~dMhN7mRU;aX>r}ntqvg(0 z7cq{g7+77pzFH|-y zZ;D6an~7CrGrapw^+^p&nO5({0RKvPTjO_njDC6J=6m05X<0gG+x~5xnhEm88-<)=?Hrg0uzW5$!5=S`5kAIjGYu0G7QFUKcDd@h@Y;idRofEbjP z*7hXf(rQ=#qpz;FqUn0+b@8KxkEeb6$RlPeFWe2)-@Is=2Z_avfIefEy*Tv&8MqfC zZD1s$aFL(>lco2ao;&Eot}$y-)e=O(2m;CYudVEr06pcMav(NfHlbJHH%Pa;<(AKu zWlFY-wGzE zKTJ@m{V&0LZujgWTRJNnS(z=0ze1?6fgsLTa;Oa4rb-w@5;9wY@K&_frdVh}^3)xK z^p@N7xEe1*E086P`F38 zgKT55I!$sLU}@RFz=~eT9YvRM;>pN{atr^t>Mq0K-}>k^8J~-m;}a=3$U}Z5z*X#Y zm}Dx&hlNI`#w`rj1-0yJqj%!Qy~ZlfF(cw=55T-{CFOIS|D_OmK38`UD_C1D9E+Ep zV|1pf&M~Hyr8ug#?6G0NxDMG72vj`B>@kU6VWk~Q)s|BqU`UYGMN z`u@@SNzIc3d#fX_uW8s{U$;$QS>PTH*AT&O5Z^dST9U8NcQ>4fw|*Dwe!ypYxY?T>*EG?BmBd&1J;oF{L zisE1d52|e3_(_r}c*mcV9vq;ltREo&S+iF= z^=lrZcz(i(VEn_aAcuI@}g4rsLoY#||xVj%l@LWL?KD2Idhv z*=}Oc$=Bd*H5+)r_!}X*3gKeQ;?jYn?_M6A_|N6fey{5dgn55jc1j6wmGYBX(oI+$ zpkiY@A05LJ@J{WVv}?ZCH=dz*4Dnd!nn$PR2k--OCcT~3Kw88ag#O@Mom#Zx5r^Et z8_9yrsj<&PPIevyWTxT{Z(>J{lz%NVEaWq8r?t2s`W>o2PQ63Dy?uEq{BLp>k=km? z!5ES93p27OYzgWq0^5a(3Qq7l`U!qV#j%id98n{b3gQ-&0CMzNeVVbRTv)OvC5UCL zFs^iwX1HiA69=4E+nUP{z4ekGy+KzN##zB;h9_E%_Si9iX&XE-ghn_Gl9`e)Q|g## zi8P#{l0=$Q3ge$nS65hBow~G4l)Tu6(kIdJN`7L&QGR}O)luHkCT#PGjj4S^ECVDu4i5dt@sJM+j zVqcrVEpfp(*mXxY-hKO}O|IFW8DOTItsZpvmV9nq@FDu_`Z+}Pu+kKURGBfPKVD+6LwjiHpsj_py!uU4!@$)5w-FKoi>?xFA6~GVlGD zKM#6y@J+*cUw^Ubnfk-|mM_yvE9br6H2w+{Qb7tAubtTc6n9&+Mio;}S}4sMJ1w-i zR_|3o`)y6p8l()4*B7Dg+GIn!le>WD3;ZLN+!v;-Y7C7KP6ekcd-Sie%NKO?7Wn&QOw${J!-Xqb%K?^5RVyO?X z$Sh%%aZ)t;mTaN`7mmyig?L|<+D zP@$X?3BshIIDz0QwBGC1I@Yk4<>c<0o;9<-T(D!CUy}#cpZ@V#!tfU%SFX37Nw#jE zu!8 zR@ZGwoWtf2?rOGWl&B*6Edy~QLG~tNtpHbLj?^wug<*?9l3cST%;HTNEI`sq2NOu+ z(HIL5v1)uc?U%9#-*@?E!b+!<>a+~+ItmB-;k%GJ#ZHl_YN*(XDB#O9!OE%@qIm6H z`Bs5?r0n>rB8fkG00oVG7_oW1?(`Es2hSaA+9@ zl?P-Ms?f{mb@`nBTo}edkD-^{{R=8*y$wxX54OEJd*aoHcVd4E_jq{swtyik+ngP1 zuutD8+(3ko_3ZRq`&{W#$YHFS#0FIrdmEZXz4FD?2UWMPkG!1q$_arJHl~*tlZ249 zrE7E)HtW$`8kvr{tw;)&K5~uT+D~ZPc)696e87??=_|$7m_=}EFm_~)Q9~!(Q~mVg z&rIjJL`GA)H4egV{qMBW3%b4A<~m^%@k&nLh&pE&y4ZwBv(cV_XN5BHCAiu=a`mowPRh=lG}7_RSr=`jMr zN4KyX7wr#1j4ucnLX1DcOK?szz+UpT=*~R!Q$z`&^^t&RS>t0xiB1?uNI$uc-gvVfyA= z4Z)!dr`D#1({v#LRI6|%8oCfJ&0;BPQKOb?A;MNaf%)kh!@hMglg;Rs?o9)0oem$c z!mW?USvVbbHK;1Cg@k(PnWC{05_YLL(J<+Rb0_Sz7%(RLS>+1nGsi@W5@}9D3m`no zs*Iz(!C9N)k#<1kI>^9LGe9>iYOB6{9brj5|9Hulnbj<2R@dkbBz(Iu-prPK8CuO= zRoXMYMHmUu`u2$_6PBsOgmEWCnkRZrqTAW~$LASo(?@E)hU}w}MbQv5I|`GF#$I1w zxg&__n4^OB-|z01ogLyOu5QteuJrWwEBbhpU`(03hA4msC4_KJ%-JVnqxehWhtA!A zA*NjTDYXBpfbZ6}KL$PO8S2f{;JS^!PMiKAk+&wzDoj3#epg&?0H$h*kwWA4$T+&Y zbxOmjf#-tq$D4l;mKs9{?k+YKw6J~y7SdAljcfUN@^8xtl`@SpU(U7f$4n>~mF!w! zej)NYluqRlz2y!pVUUDjW`baEUQiICQq&scH@y;Gj&Txn>m zqC@xzJ}I85;>qRW<}JvRa+D_}L}=lR2@S0&(9uFPTG#ULbnW;%!AVFywr7p8<@yix zx+Mp!W4M8y0WQ{K`KT_PKCyUCQcJGow=i!q%LWtmqb2ntS*agA*z+z^+=Kd4Kk8_g zp?vMFs)1SMq>XoRvC#JGT{334Y*djauWy(!&jnPBeQcC8ZI41~jrbzjw-J6(%|rt&~os3rFFG z>ia`=TiZ{+ZoKf2?{d`D3_PEc>2RW=nJ=^t#f}-vl0v;Q@$fe>!S-(8Y9OnOJ3%%YkwZ_Z_t&LG9bRwOAn36Rlt-1lw91SeKZ4W$%h*u1X3>{zwI zezHv+0W8O(x?(n04FO3sA*u$pz0yWcZy4m|{)p{;?&dJP6K`uB|K$h zm2Zs6R9bRSb$ZjTp-0;a7%ojE95wVLp(<*4tVB(wvlzK6>U1$UJHA0i6un!y%>88G z_PMT-;%tE|x`lEJatCyjIyycpgwcW%s#s`^Kma3Oi7As3kRvUjG_)@kMLX7oGI*%7l4`3iF;lezIcIlV=xRW#&eBl{GJdn!{;Dd$ zfSB_C?_C?Fl;(6X8KgNAVyT94&!uT*N=rn!R=$vOW--|zY3dHy>)J34bNpZDi|d0nu7y`iI~KrxBP1woPQ zKfaH~AETtUwJctq;9McrPS9{9+0zCkkiI#vrYLeg$_z+|CwWObImt_?52Bb>f!=|} zs$ym(1PcuUH$QK;<|+qa}D;~bVYor z?%$Oh0lj`zNjV8u0qCq5P+QC%!6%RK9NTQAlqdG1zHIA6kBc;9$#kvQj*z54gV`1v z-walA!xnE2+H^3#bVI)aNy@&=>7{SSE^sb&NjoNmLK$r#h(-%`gtDCQU0Li|BRvrG zSOQW#DKkK`glI5d06}9=VzcdH40Y@<)FB$od~A6`QS3ba<}mZ3TDRV~;wvk{vbfl0 z5{pn>SW+hj?UiNIK*vYFvx0a-K+pj3#3^pA@+LhH@q}olW+83v?Z3%v1rgdnrPFC! zPLaI_@dN_Q_pr+Ea*6b^0;}A~bsgw65cRd0t+A0G!2oH7tCzgWP7g@XZJW`@c9!qw z>a#fym+jdjb#3mtk=*BXp!@QxKKPAcY&RH)L64ttkCRCf}wZF zF;sp8roN&oIs$Lja2h!W8x-Kj zxt{uC2w9iNJsV|VL(e?kRW$^&h{rO6U$MX>7~{VtVusLchJ4w36~~_FD5hfUR7dOL z@U9ilRkNrWDU z{V*-DE&dpE_sq+U9ZmgES;Zz_;XL>8^S{VRZzbs!lvyEDL)duIkSi#spr5L3AU{4{ zHbH9%K-nK>(VHdV4}l5xSh&GHT%z1cw980wMl?}NplAfBS{|qQI0WRQo1~Bsdv@{M z;8SuqTOcQ@@c^$Tz9sJnGxhgvN5^05X|+_Z1{nX3x7p_2p1hb3t9M>>XIN@*m zNGn=2B22%C{2Ubs(K^b9lt~gL-N=d}o@X*Bd0;0UaRkX!4Ent0yc%=y0hbN&7$~ge zQGd-qPAZeyAY$RqU4kT$@Gl2CZyzESa%e!?f(eM%1J<2e%=8FJ1{e(x>&`O>5g=|s zwCpUPLY4yJ8Xkc_v<}sO8v42-1g9qO@J24k^m0yPjV7oMm!28D&mJ{>hMS=FD4ac4 zQ89bu%40yjh68mU%}j_JiNFL6dNwfCBe#i1hi4!ZhftHvnQS-~3_T-_DHwX`oNai7 z{Uu*)?_tJlg%I`L_NCy!k6wpt#NEt)bWKOF@cB|)(>I+V4B;~+qzl6m@np-6O2?uL z(^-;lG;Hwat-!p72;G1BrT^?(Q&E^b0{l3h)d84@Qw?AP)DWa<)0Ed|EVMb0x^}Ab zHx)Bz+;6lwN!)(%hBQeRcIyqH^v;=RH~_&9DnqR2-hM=JQwY7oa}UqzF84lELg2Y4 z$&W=IJPTgG>#5-}Axi<0oQ?wf zmdok|S}tIT?`WO52=6@1_lPPyRJ;It1tyRX_X5Cg2l2wcZu$oln(c>q;v!a!eu+WhgVQDY z8?(2rJhr|0LS^mxm=Sg6=Q<4DtK3dQL!F&X)zOvl@;eAEh6pWgKl6v+dee!(^BPR1 zXli!1yM;GO>-St3s1jj&Cd1RCsGfe?Uk&*fG?ih2``45Y*>n2<{C9z7s`lQMO&)> z2I_@-DjZ5`Vibjp;<@*1^xHcTUYMriXa5dzg%Cj#>r#%S#!0b}*bud1PPi6)!0szV z`W((K`-OzD;eZnckP`+bAzgAC%umG$15t5FV=AoBU`mEFmTZ}wdJC3=6?U0`BanL~ zN}f>ny<_!iP?i*Jord%37DP3c71%MJfV)|srs9K>v%%~)2qaoza#U|y$t|**c3vK=Z*eC+b5`{>i1;*6kgr z#>9}mZ}IxjQ=sRwsZSDKk2l>S0@&&16AauA2(!9uq)*P)@jY>thc+WT0C@v!ZljP; zfFNH+Y&{8f#v8q24$BWDww|fXM-Ql;0yZa#!Q|&IRd)Y^57z-$dXXt8K=EO5X!xvy zaG@18vuY^D6CF7}A+T>|tzi3wMK?`|8x9JPK>)vIy&05WfxoiUhnkH+=f^^4qTfah zi3$O%u_YF%ikYl^NpVC}cID?qs0h+0$0e%lG-v(xOB7)?ursI^I6&Y<(AB(T!)f;|kB5E!y7i3r-e1pqPnaG*yQP3>lb8R=;YYb0BjF_gtz+kz ze$tyZ5+uH`_r$A+DfBECOW+ysDxrcPa%P_Hfm1fJ)}DBqI~T;^kx?AI$}T;TLb}q6 zCd$NT!cnIxl4Fl z+Y7@=$=bwoOrz5rvdb+uF8EsS(1!)re1yH~gE)RXA6Vy439l)@ER%XZGHRk>yP=tdNQ}l6qkF z;K}@^Ds@i!Oh?JZY5;J_8#F^0LuxEyfv!!A;!ZTAln($$i04i*^hEO9D=~((&N~}% z*$9OfQ7i$%0zwkCwzgb1JHZ_weeJ%Xo(ZoIGn{46J;l7 zFI>z2*mx$;DM!H>LR?{OJYz~WU0ua1-hjzeIjafp#{y{)VPcY}vn0bvEVvnL>Z0gc z5)$|6e!pjE@}5CASqnrK;*3*V5Yejys*%K*(*Rp0PpvUqe&X8M?bw?a*ROy1wk!1J znSWFYPvt9Y5-}lHne{Fs$3N~1S~XZhP8)y)0SvjViOlQP z|BfPRdHVkqMa0IQ9roI{`iE;Xhv1lm5zLK}Vgw_=tOch73w%tehSxUf#nN%&WF-q)CnR<1V*m?g-1x6K(q#NJ)iA zL%XjS7UZ4);}SQ`sKLx`II?{BqX2RG!h;6!IK!6hlP7(Uc?rY6pmugiMdKY5OU#!* zRo4FCDa4Yn3uvQPajy;B;c9^Wa04}n;lrRY*%eySlelA%yJHBoRBEEdIgr&{QZ-G# zR}8d|g~>-%lN*1Ys(p8=lRA&trG>1OR0^-7?gC8DI5S6-99Sf%f!#kQH9|Ky+D+E& z2;9}jQb{~k(ggL$Z{bM}jaK9K!X?oU%fQ(HF>!2LJSMIz>nwYDR<%MrJRv3=q9 z=ylk$6YN{)=&of&(?+1zW6iqVKwFrhSmlvS^pWJ$?5=+O0)LtK-KogC6f1F&QIxqn`s@4Jamqfo`3Yd1{ON;hm&j}8Pr1=vt#Ui*E3rvvm zrD#V|RhUG#8tKn6l5!hNqJKuanGdh>P)ZmT2E0E5y$P)^_gcgj4icOVlrSa)IF1lR zmf}*EJfvZ@oR2ES=Hk_ASL7|^#VlC@LLt#)-3v7n0~3ehVp)O(UV*qh^01}St-_%g zgAK+=GQk+VBJ~_+un1#qG5}lkLMukEVcygp>Uyj}|%Vi%CWgWxEW0OM0Ilw~iiJ8qfkO(Jng?MhoHfiKT5t?*{G~Q=Q zc#Y9ODe*lH&-?oPq)67gU1dCqGe=5-AOug0YfO9*O->||z64ojImZ*fU0794S|VGK zVN+X#*|e3*#y{z=bsuI69RiHc`c-FvdwE3FBu)4eBiMaqr(X4r{PDw*|8Sfdgzom* zpW2x>X-}dcijman=aMMv}fjd>b?$QYt}v&R9K%FCS&_0#Hq$12 zHRT>?4Trzv>23L#C=P`9#1v*7pj|VGzN>+D7+T0~utI9HDS;3>tY>}j;Ryi46krnK z!wu-QIERsMt^_00g7wO3flbIYK31`UM~6KN|Gclyz+b=F)!1Gb^93`KZklXG0t2(Ne>wX1^Q=!`JJ21BF5 z$#52|B+Wc`vLkGawLQOl3^i^!760YPha%HCz8`K!=XNN|391*l`Y4tFu2-><>ATojDR1b&c1pqSTJXfZ3Sp!U1Y^W`|7&nnRqCx{!+LJq>j$wqhC!+S3>| ztT^FmB?y6b`^Y^7sO|=sh|aW0!5VPje(^v>glL>BVbdARGXnUnFKztaXTE%%ku{dBWf8HNCiV)7b$o?QagnkcRXcb*#e02~W1r_jL&s`R|XT zm`%l7d+Td2eSTuA3udpw@4{FkeO%Z&?x@JC4`)?1WwgGuS)A7oO_yknbK5}j^UDT# zcDSq`+i}U|+<|LvGv+)MuO~mE3S&N{9YO|%aG63LR0D6VA!bHL7T>}4iHBr9^z4mnf;pC#xHPbH6g6%bM@xKDxH z)n!8!n(^w6KBxR)E=)2PDS~xJ-;d*ezf{}1R?u?lVd3&-C%f4Xu59N85R)h1U|!q4 z-AH-OLT_d*J^SO7`w{?phrZodJ#URP<)5t#UVt@FuX|At+kRUy^2})HL~A{?9v`QS zm6hU)FY#~3D2?c~S`VJ{h1fZ=`dRm06r5;eCi%YN7WO~$n7<>lYMW^*u~hFKOpSmg zs2!@JI$JUK@>ss7nhifCbT7@$Ql~h6@%p-|VVpJ6r_w$!(1};b2sMDd6a(QJGTJW1 zOevXmC%zLH+$&s@j{+@ov83xtMrfx=1<`WwJ{7IIwygi>-7Gwmxu%sA1Nzn$nB0I1Jh0_hO_CQW zfybGN7D_7`!^FzG>6D(C`1eCWWFQ)^(aBG~45%I8(ss`K?WOrL`vse(wHywJ^my0V zt8?|i1-qUVQCA!!G8q0j@&(LPLrd%;It;TbRD0$ir#X%m8n#D-37V>be$t#7P-%>p z8w7Yr(m_cM<7@#sZ;uJJk4n4jeCxPCWO9~=U|8g zvpmto$3!DzG*7c)_5Q;lcxv@@n)1{}b7z2KUdSQ>#p4n|2TVdwQXXh7D~gu`$A%AE zVTxP?Sl!F#=aKfo^dZw@PhD_mf@#QRIwLRaDr_qZKOm;QbfaFxDs<7f;Gi<01 zE-5svYu>VE*2KRAhpcS&@4w@)H- z!M*2P<=kGD{Rl7`4`C-QR+X&QB42?Ep!)3np)vAtYIKN8&`I4X@2mceeegsYuGL=h z)5BHc{KXkT(xu7+mC3UvXpKpa*lNidT9L%|h!YPJBjWc2aTh0H1Q2dD6C4g>Mkw27 zFv9ib>OIq8Au&a{I)Hnh$K$Arc2nQ9m$U8{qn!V$PK z?3raC=?Rd`UFu4lG?R9pUE5PKo_Lx+LhaBr)LJqK@<(U5SK{Of^j%>YzBT|dNr#4M z;xd7+&E7tYOIg1m}tx-fCb|TbvJ_ZXBlf99z^^S9KU7q?E&w~B!ZF4 zZc>oxH`R^P02gzA#zMi3}8asDjZfF5i^<*8KQ z1J)Aufmu$)7A#`#8rG{z9x)LeFG6&=fw@rxHJsxhC3B+)^LX@h2~M|V*2CG!1wA%G zdr9eMZ(U_)@a{tS~B(6s@C%f>pq1kOJp(_Q_X&+%-fDvOLd!G)w{P)OMI-J6cMijnJ(TI|3T9 z12r*-E^2u>8Y!8;fQ#GTITHD$o&f)6{4xLXSl}nwU~+0Td@lN_o#GJ5Ky+(LO&r#$ zh6#)@rU6^1jN9`si&H>e7KBn6F2W6fVLLBFG$@%LjBZ1cJOzOP3Uh$+0U_LfNyDEU z4tflLysI!;Tr7eL|4|Fsd&p)Dp#fIq4 zGjtjzO6njSyX1bQLgVS|@{TS)B!`xOe2B>@mE!=EHjY5sp%X2-7!GRnY4J;P*Pv}u zBTx0f;u4|s`3E27#(;rrgakR9YW!n<@Xt>C*+I#^$}N>Zy~u%lVt@VDOV5V3Em-pV z9@w|#aq513{blGz1NcXin6{*WZr?P!_k&%bha4I|V?DpS{MXOBzL!jBV`I!l982^9LKy)jH28FMQ9XDh@Rz<1{=aKfOr)S7M70W!9V zl8-kzM&P>uk4h(DG?^QF3cY>tXhr!9gyxONa)zoWlBYQe;43uVazRG)=ds))P~U`7V? z!Vq!(o%!d-z8sd2UM}tXZm2Hb;oWYvbb`yv8D2Jj9_0(--6qGm0~XxNb0>GQp-5_f zX1^g2ylW)`6M^P*BN$)4U`Y|M+c)>^kuJlXoQru7qRbK@P_}G&wiWj=X3yb0@_Nvi zMneH5Y}cMst*9nO4AVr}fg$Nfw+;28mSd#F*LI?q*cg-tvW?H09tFc2Ux}BNe;j>g zWZE4HL1!$gt(c1GUMT>^m0+G6#il#=K^BOwI9wqC(-}?!;pU&X_t6a=r){)-OkEiZ zqc~VeOyW)=JpqiJp~(lL=R8=^G)W$w^X4G?Ay&nAd77@;#pV@X0MXn9;N0J6;aCBh zv(Bs^OlU%sLjashuvz`HK|osw&&Y9*rsZkRjoY8O{@Srj_@fcvxW@jNi6pRO1oUv7 z&_!;5u@(qUN)zpSD6Ndc1@^%NJA+$r#Hpvqv?ko_H1k1bhXK+$vntLdnHAc;#Bm3p zQ&15A#f@q~MJ}aMc>XEq+zv<_Jwe!W0PHZBS&P$g;NmcZCxwW`(xO*`@sJ3;p4~D1)d2sM05!;JpHpk^%qL1b#A9pWxFu@_yDtU+ z22v+KUAzSx^GWUy^4{+srECB7bk{G}Rm-0~x@kRmKQ6q)1MQ+Df!JPm>QNT**&OGj zZ)fg`{H0fB;f{+}eb%o0{Jqaa8DMjPBj5MaGw#X{vb+IHypiGk!(^#)MqGTn_6Jvt zx8Vh1y_&c`v`D?!zXG?88d)kvNFx44j;j;Vss0?8Jq*xu&_(d)R$C&DO%;8>_cBJ~&pr+Txbn0neuHUUTptChss1611B6Z=_UF}f{M6Y(_ec!Q`>t2Syz<~5hwO+r z3Ad$cs~e<4U_q^;Qf|*r#q47sVKM}+-j6=g5TYD203tG001^x(uVm}jLPw3KJP^}5 z>;fG4bmNsOd$bDZn9S)gTR41U{&4go#PoYQfA6Ub9wlA@dnM%peKMHWF9)qn_#UZs zK{@Yxs&C?W&l3Y0b7D~~iE8nRon^ins_H|t)2g3mBhZh;;JIG_}SrrslRR+ z(vq;hcs61hn%_vDj)9U`Ob-;qp$)@h-d`{R6Y(CvI_}s37jU)=6PS8pZ+9bt)Kip1 zESo4&pP@zrxH3RVeAh?dHT8xtWUkG|j&~e1j_*Ng+Y?6Wxr0vUke|8acTVQ{x$n`? zfl5Cz(UKVo8yGj__i4F0{m;?IEG7+Cq$r2hV%yU|L>%mfQ)nkoW9d{t%E&hg$)vqC z0?;XEQql!{zM2^2=!~WeMfyjgcp~gjoQ;TL%t8x4vUOF*jAWr7`Z(rn*NB)H4W+uF zg;GfW%^&8!Q{ijy>(jg6uh||Q{9D=BEz5q$nDOxQl8_f)&I7@Ax51)-ab75#iVH@c;kkH+w)BRlC`J>E&#IVI;8v2%s)#JlQiQDuHAS2x| ztctDmVjOgerV0i)RVyHHgj#AZj~cq#66p%%;_{N#CCSSn1Y=|Zgz*Y7B+?;0{gS-w z_tE4UNqoRiaDfUv(t-D}>-*+oFL>MUMow!z_QEG4*8AjywVz~RlWzR|&s#b1CnZS> z+R|T@2RD5FC-Ttd#!KpiF$Sm{^$mY2>@>{e2z{hva|Y>m<@?Q!GQg0*F@+s&Rpevl(HtxWZ1O*+$hk z2X5)Rm*&itvH@!>$Vqf&^v(Hu;$hP1WV7_@x8e1t~N@foKCSUr^UM~z=j*lDdI~Ej58>?H@n%Sv zI1q7t%+>Iyj)z%ms1EZ3fwt$mdKHSy$UA%^2b<(T{vhl?1R%yA68l_+g5~2+*UAr% zE*y1lq*r*DP0#j>u&d=|5knn3i+jZIE|_Cn>RB=v>byJUJawiDV1jFgDQ*3a{rGy+ zyAqEt4~Kh19afqK>!|(2zZ$>M+&MK~ewVz^;}RJP)(_Gt7Z1&{&_cz4ETlEH`b-Vh z3|qykhjmBTvvHc%q!P?e0>%A6TkGFlc&?UE^8l@9p06HzIOmvSpQqnTX1}|I?C*}; z;i2LwzI`Ozd`Gf#y^k~>WvrC;8;z%@;8SW^={8dZmxNQD(7kc^qfSi0rzL++7zR&HlM9j31fB~OL>Q| zA#mH*;92NqPoq?YUe$EBQ8e`y{$cvKJs=0T0pBC#5p<-!+XUqVuvZ_CnfB_xz4h+v zi(gw(y%#n5DcLkNhEFoxz2D zb6oOIkxtX68FsLuB@vN`4ue?rwq)@yAMJmS-TaTs^vOd_?^>TXI)2j~$(@k~8ax#e zIJIm+EN+`^wOdra#Npkk@?(*aym!F|2YWc)Hf$T(Cb+mYk96Ds0kFx1a>yX*6QB+y zD^Xh+=p(7&@vvm8a+GcKk;V&V0_(C)`ACMQ+Xl?vd!Q|XCkK(4J<^3}ivV;O^|_#4 z6?@t8P}Go}@TwmUceY*vQ~yxPf9J!05*91mgs*+24_y*4%qsP{{a$Yv()F^rdCMEGLMQHhm;lzm zvqV{0ArJGDPT1aWIM{w+Fq5Y{{zC@jIs*tzvo)fDZh#3nJh8?_%|@+mG4 zQnEjZ*P8cilzrG|adr9K(QGC(mzNk}Oz4{aah%UfS~%@1yLvsQVivC5;I2$Rxo`v& z14)*U?%&+*bD5g)u@PYvEWaNeH2m>eT#72&xcL_65KK> zJ@!QIcXclH4;DA7#uNt*QLEgZzMTdO^$=HScV@_W+BWghlB10sQ>p_G4jvcpF9ht+ z)ML=QuAN3YbJR^(Zm{Muap3<()_fCYT_zgf5O<%d#K|kc7L$fox#6al9!J^w!bKPe z)XhG~=Pcu>%MmL^0y>bW5ufYV8dkOWY1_Nzjx+y>y-|{G!daOffxo!!^}^x`=6E7$ z{iqvuj&@G6!J{sD@yEJ@m3HaK3j52TX)K3_EU<`>4nzIiAoj7RQ-hKm=ty0j{#*{p z(NOU2diH62#hv7$qQ-Oe-dQ#^o2Y}jY_BD$3a?7gK4zwSUS>X;H~KJnWkG&nWyh8m zJhD@(!Gb{^dX^zMAPENI0}tZ5I<33XCvW&|x! zk5<~#$Ii_Q)+utU+zOcpdFuE-p0pSbUa;|?snOlx8%ZN`IGU^0^dxerXAPgm3?4kq z??_{G$KuAp147Swrbr9w?_G<_0KB9?Rk{G}$f6sTcaFaQ*tsAq_Kby>VQf<)1g#TI zscVMmdKcky`mI1a-d`+NB>70k(JRdF^d8hR0fe%^k)dXf!rS{vyuW+AaMf!%fV=3h zTk!;KCw-0*9k%0}6BqIU)cLsBCMlqT#`MqTu)&0DF!>`cfw1A>C90W4nE!pOQT6!l z-KtGl1;5mf+J1C_$CO!`M*3Xryt{uo@}oKweZaC$@_l2x&!H#Xk% zOJ~B2n>+rF7`L~qlk;xVq4AAhy6#M)?yS}suGO}+?cX=dy~qOHzw{GljyQ>?{DMaQVGp z__&unEe0&wuxdBCY2`Srxn@1Jyl8%kN>PwL*XhHS6CF1?JExrSwU0gXhtr^6espa? z<0GDflmNHaDveryE9P{mDJQ1 z53Ao*dxW;vmY?t3@lSQzz3TJTrrWniu4`Ph?lIRRdkb~_*dI{mP+;S^!qnb<2CGZH zzqrj;`geiRyVVN7;|rMD`oUkjkXRX*997wQd?f^bH$KoPM>@gRks8o!+p!YNG7LuP z_5y4G2iMpPoDa6?ejW24u{x={$grj@vGrb`2yA=frxR`uuYR}T^!Ar{ zSKKE?Y-{ZJZtg^v$K;B%U4V%VC~1{X~G0ayL8Du2x2vi!4iQVQ0*3odyx z(lwzzM%#2?g29O|!R2mA>jXd8_v@Ixdu}cj}pxtyRU!7H}Cqowd-$jEN^;O zuS2ScA7%-5p4nBvv|mEaEj5OD)#&}%0g*g`c&?&-#xlM-3Af0L4`aEbutQIf^VP7e z-7SBNq<<1QbQW$yCvqzJ!ajL{%z*Ag%9I2$VlB;JaWcrU74;RRENBE&Vt2OQNImO2 zR_so^(8s5q_1P~;O_1Lt03LvhA3kV&KKu)QV|}dalaUd){#^zRJ{h-EDywrk3wXfIQHtZQqcu z9K7ds^Owz41D~3F8Q^Fi?=yX#q9*&tZ=e;e8SI-M-SWN=;c5u{o@jfY^NwcT+oPN9 zCOdg#&0U+-n1O9z(=LefA(u`JrylK=->#1OICI*j@9%hy0?fIz@2*wQchI{FztHFQ zp{o)lAE1ulCHjgVqdl-z`WaVuIv!rVgMo8C7n=>rE+u4k0S)QnjUqEu3@zSCL93?? zzEEMsitz%1C<#iaf^c_JhUYm>s%SS!@u9-OIU#b!Y>D6)hA zwuR^|mQEpbr^8R_z3?eL+l}n)Jn4AH)IS!N?_)i1><&ZwET8G`OzP0Uvb%gO=%sV% zo1JF0hu7Wz5c`&6a<*(=>fn}YOQcTgs|>*6azE0XvQVi{PSb}|Lw1*-F(^P|5P%`* z-?+N$ErHfIL0)xj`BBZN?1n2#X)}SEdyTP>ZG`rCsZDYBO@?kfAo1x@T(D~P5J>!7 z*~smqDrnAF_(!D~009!eM+&mdZ$eveOVdE#^Zdk}iwvd`gkn1r(or$#j}+8y7FbX{ zG&|>9X1ttdj-)$Y{Z{jw>c9(gFE&>C-Mj4$w|ZLi9E6bse%1vh!#@h5%)yvmv^J|& z|9<4Vu9Pg(9nHeFmbaPjyRPNfC#vkmOhpGd-qE!QUo7!P=ML#(8|OdO@w#3|qOKo1 zvpf0SKGo{F8y{DNsM}>pUo0Y9Kv|~UpURRfO>P6S&DRjLes%yQD~f?22~G^2YZE|c zTAw_3pizprL$*;3?nU*R{ekREMhaSo%!n@MjsPOpXE~Is+Fg>7V%Cj-%ED_1C~2MY zZV>@?bCl5d!x0oLh4Aa%){ZCxOx7i-M3yw(BpWn?-bniJh4s{|IztoK4HBkN(d>D< zm1Wh>CcB&7js9+0q5b$#h4bt=3!qzYZ_L!9P|CfCTE3ooeqG)p8-QMyb~7HuCQQs3?ua zkIH(M6@li9nP&~pbH8{r?yi|D1fdgmi!WFCE^Qtdl9F(_nC54ruAuXGJy;pi)+uzLgpipQ%l{+NG3gW>=KPhi8CfzWZ3QmMSe=*-0h5eA|d#bu_SbQhq(wTJPkDToGF z6Cc8KHq%B*0urPOBo_J&)G6l8qH?B!OK|e9Uig={Jlox6y=vf}e>+Xs>+_+6$85OU zB+H$ugfk}$JppR(CBecpF~r<9cc>(Qa&|EjHPegxz|ABLr_N*kl)HfrFp2X*WfxRj zkF?WJLWm@4pm)76I?-ov_E)1?G}eSu>G3F&G5J*aNDo&L8xt&j@>KTQ>!?rM0G_^| zPdb@+08vFh-WyXwg3jWnvRpRkn8(Av75TK1~hc4LNZ` z*(^9fI0A!!R-=Y91}?z4lNTJsB+yC=Zr&HYBd92j(rjPp)(YY&(8Bf^>PDbUZP9|d zOW?fH%9addIqX}aXs^gAAWsu7WeU7@NpMAHn}^Xz+q~23JACshLZq*Jq|;Jsu5e^d zu6cy{G7icQe-RLU^Sb??QI_=}J%IiT5MtE7ik-*njVn=`2{O=1Z0(P zMF7~TjrpzQ;&RaaJBUVd_jTeI0MFcSfehFAh}m&@T0r{#t=* z%*LG>PJYa)j$QC_g$~2U{(uomf^4-e_S!Py1h2rMgZ7o)4PeO;Tv(yt1p-rTG`EJQ z-|w@Z(Cq~13bTtHC|8Q7zwfgjL&bg{VsnV{)Hwlf+ zboSI>NIniqS}L{F0*kNh^salI^+@W|8)rF0f` zkf&E?zC>$-&tF6ip>PpkpkI#|cL$Kr#neQeKDxc-41h!f)O%G;&R$Pw3(+p1aaKux zwbyaKfI_N|&Wyx_$3R<$zvo-PF81f-t_M>)nj~I6Qd8{}OWN5a2kn9cki~Y#*s9}5^u{)vECp6Nu{P@_N?pF_+pZ7qMW`m1hTJELpEg%s z(ejML9EcxP8Dq6vlHP=avYCXz(_THKyo)joM}9i{fN@DM?d` z`n4()wC%SSMM7eWygRlqDS3?kzp+I@VhbN(?Fu6z0A)p{O@>3jOlm|SC>8xB@9D*s zB3zoCn!3!0PH12Q3Q){7=B%p=kjXjIkxR_y3!z0>F`Zdjym0+~Hnzy0$`ZcCmINU7 z+1LWmUcD^A#N-X6Nn{Ct?DsJ_iXn`p|9WbTSbm_{QBxx?0_FqKYTXHqh)rlx{TX!j zTV0DHC|I06yvmH@r{Z)u(=(SAhppd#o$gVy6N2yflvI_6!QsUNJWk%OWgJ06rt3Yjf4iUKL;A}SCldP|eLNT6I3u2*Aaw|qiIfJH4`mn1BCOE;RB zz}^V|^S*2*#{@c{>R2lXRL|khj^xc&Ao%+f17LQAlite3)X3bU?h$QFnZk(Uliuoq zYyzf!Ph>L<7F;6&vx1T@^w7N}DpW*9F!;hZwyWGA#c@M6Q@r3Bq@V$la?lP|xB5t{ z+%!a>iR=*n6I>bu;!21vVW$+~jd>x~*=vgwP6(pVo^uFzyUrVLXyOjcod$^;Nf3qA zD+y%nbPwPvn(3jcY#LLw9wG<(fOA2FYd4W;QZ*eHIj|*IG1<>a!AAnhOu^L7Y&T7! zTv$(MaF2rCj#$=44hw)&+%12IZ%nF2!PiUOqDq!*ECHm&45i&sChih5eVKr^4=~a% z!ZiDln0CP7BW&#x#ai+yv;i>E)j9<5^$-WZNH@SffZtlPRA#6(@!UlDGBfbf+=3vG zNZs@nfiqlOi7)8iV=&oQdR?|rFmxLPvO)R7R({$?YI6m|aQ)8Y1XA4L7vMubsUU1_ z;JSzJ&PcZ%2z{5mJ7o4z1nR>-Q!ar?@-p&Pl{L@pqqRiObWDl&DKwZS0FZMfXy#3r zB|7onkh|6d9+QDOk{ps8bOxE&u=i3=B!0$R_dbfNQzyr(l7slZ;1C;YfvF@pC?BzD z5<^j^Ut&YDD)t&&%-E^lwBF)KjG-X?1yLKJvp6VW5N@{~MVtVU#kq}5l!~3CPn;9n zLhi%*2tth?qOB6sL}!`fBIdqI-)1JY2vh$pLSZ`MSa<9mQKeaoZs2c2@Qlp#~=$ zvLFbPUq$5}T;+VR7+3kT@=x58x~zp#eGbNsxNQKR9Ew4liEipnEzFf|&Ix(z_up*R zDPxA49E`SFm+FtR`paD!Y~+6h5kr%&+{WH|gzJrzM^SXlHS$jpOS%0x?+bTcxBC4Z zS?ObNtu2y;xYoK6+we%Aicj{{7LuJxaFROITU1-*O_YbtmABa+g!LHaUesXo>9Brb zK~c||_=<^4;z}Q|YSR((>TTpHRUx>)At(I9xkAV#A&qK*GOdl=uL2S^v0(&Pj@!_H zspv4>Q|E;I+7Tr9IPm-R7QH@j=PMLPi7K1{AN7YFz2E#Hgf2{0VSm6 zI+)@D!M(IqEBI%=U96r#z#&)l@boJFaIu8_7#k!q8}iaBMlQ9E0*4G2+eu9eqvG9M zm4oriP^yvCrndWea!w>V3v0<=!DLfvTYD|q>gM3qXb3=!l-~RHJkbK8zCBNXOu|CB z!VV!y=Rm8owsKRS>EE&_|9RtHpR=ws>`FTUTClfW_Y>?U)jjz zihJ0lb1O=xGKru`6sr0aTWR0p{;j*uHhL73Ngj<-5sml{IZc8Ltp@*iH4o z*fWVUPQQf5OjDX?vyD7Mu@P2L8}*qJn8g3aCGrPJMmL4Ying+>$x0z*j_BVjrHbve zjW+V@d8;;pk(D4Xb54k_vcfxTbwVG`O?|6KK*3m^s^7#-H4``DQj?GCBe|)2#X~^~ z9$sAk?QTQud{W;4uS3}x$j9{y3!3SB@!8+P68V&zbO5X} zupuDf(nRmM!U?SzffUHZC9_SI`J>6c>Yau<6aR23KwT_hJs176v%AGtvdk&(rx zq1_>gWRN789A={GP9~j;R51l>7)pJ1zudrW$olK4%-J75nE?n+SW!K+SyYECO)~$qe+^t2N>jl6{a6gf4oD zuhL0*1?0NB)M=h($DZe?t`Kytl1F!m$e{cAkS`GNk~E|{NM?{4?QHT&>lQ6 zp1@R-g494He%hUVC`jxfi7rtM^x|vCFGJ`dMb$%KNZW3rGMzeCKuK&23h%>+cjBDz_d+o z%2rjF@kK~|hJy%d8`QLQBl}gDhKHH&k%3o^hAT_ox2kfIWcm9_!FJGUw*S$tHg05 zAi>0@TEENgDrY$V5Y|JI5c=<**Lim!(-Me*8IC6QPtsx9Z^bHDgvf&)U-u>o7~{31 z#6oM^$WvXK&v{dm^^z1;o#6N^`AXngSFS&6U zNR^o6SQJ@ocy(=aN%B>CgaF3pRBVeXi>-}&u({8qZ@EuJysF~AG3I}ApDP^m|ArWH z<^v9cH3E6yzvVy)cNEXR)@Lkn|8#-oy|Kv}gwjUAW1!#jR-qI}eY1`lEzaGBHcEU6 zOW`Gg=#q^-${8E(-(&kW1)To;$Dn3uB!T~C$#Y~31omwXY}Z}pn2c36A(#Iy$yoI4Ne0c{)dfDbg!A$gCzuAG>&@Z%j5RgN3@#O4X^EV9f> zM?GRoA8=y2i+;TRopkx$Y=CUU7XEMTbte_XtL0DVSITSCOa2q&pb3} z@fUtWd1WBjMm65@9$MJPoFC(OP~|wDPi&

vomaALkZ!@|;#yghFC%f5=^L-3XPb8kGTC~P+0jC_ z4hf+n%SYQ|?z6)_w~Xb1ro!;mPIW}Q_#~Xn@*ZaDlW=|;p zo}vjD)m~-Vwvw;fi^}S|bp5 zKw&lbDce-hZM{6Ej7YRE7QVU5JD~ih%N{me@`1v0a&WX8*__SScw$b3&)IQLehn(4 zk)dY?3_VogB={54!}G63a?^Yk)m6#%xlI&B_~dQF8GNrmqP6nR;wNoxTt6~m?3|~? z#EpB+DR0KQt`!>7i283jVE)$%nEr#_ap+tIg<2WD7L%6FdT&4?L-<)t>_sm2uHT)p z&X-&)4(gQeYuw8Fg~(F1-Ue5y`i>~Ga`tVi8~3*QjZvHGzzxw1r?QU4)KLiaGek4+ zd_y#jA+N=h8JK*_Hy6EEE=>mh8soAgb zN;|vw1$YW*mik&u)S#bim2A6y0Uj?IvAUmDp$I+1QyIgb7rUxt^~Yl}hWQfj$T9h^ z{Y_vo@vYQd(u0S15b=XM`cHaLgKHE;kfD8u$>{W%uw1*TPyHIZ*RKPp#LFSG7Mn->%6k|vGFsRhq>gE}dB(mm$j3cw>aSpZC4D$|W-9_@g zvUFmYf6xEKGSt1y>y9Yp1&V(*mOu_GwYYVo*BpAk9Wxs|Gbe`(;rP zRT2(MU(>p$*B&FC`GnN2cj1d>OsD6kUaPlDFN;dEx;?_0*h$?D&?>9^?C9&c0U+)~ z;AndgQ9G~c%(3NTPmL?f$DYbgu*BDJ)?^HRR2a6b=^KZyoYlSyXK=PG4sc<->v03uX7!N@f*#q3?5P- zX~G{fa#!^{C~DMN=iu68+k34kTYds+w^+Xu;{H=2dbQV@a_1~w;$8Rz+#I9jjli(b zlljn!LSE;WmO`I)*Bu2O+DJvncdJ`w+`%S?ntDw(h?L@7To*RWp9l?&5 zS4Gs$tdCfvi?4(0-P*W#+Rm!R(XIj3ybi7r!T~{E^TFV2DnUK+GmNacH27^-H$EvTzX(gn zKZ})dW*f{_ST}>1o=4IN@rT`cM;k;UKe4b~+xvj(cF*Qk-Mv%y`1)d_;iGhhe`XT1 zI9jRsITa94;n($6lpPWMQ*+w>?2t>j#v`}0f{opi+sSOM?=nDAPd<*sg$gF|8;Vei ziR-DQK(1e|7<(z6Pf6t_+vgZ)M|R^$)h*M_W1l9n$=gqqBkN7ot?~u;i|+ML%gycV zC+rR}FwRUAqspreER*?U>N+^)dCwsR%`0Yd@a!V2sMtK@{^?>a?hmf$5?;1guPd?l zjx=ZPo^LxdLwNaORjCGl_3O-V+#B&Bv}nJ^BKNWu2UMzV8rK&ygKvihiO#LxAq^)%#84j?Kqe0V~w$QmrrXf zvF14wXNyYQVOYb#^B4)LUi_%KR7dp3@6YPR_Cu_RcIGcgpAprcFr?`%JhX-)ioYxI zErjahj_vFlJGX-@oX*ZonjZlFPM}}f2ImZC?3X##vq0)V zb-7&nPDitw_G3E2KpO|Dt3sPcJ3wsc;f;Nl;M_mUov1xx(&EDzEA0$@YW1>>;gNhRYRtHtbwr=A>Oht2wV>?nf!6QhA@ zKTp08G&HAoot-`PQ+JFK`7TdP>9V|XQgd%$pvZJSIlwM^`)9{(M@b*h5>PvS28L3d zF8$bN40?ul0-s>K556j}u0w2_W-zZ|jqNesWdX=tpRR#uv@hCfs%7STFkx-aFE6Co zXbrC!m*McdQaEE3Tt0-XhVgY7jkAdj~SPh z<$Bv;t?l9s40UDmmLH;;E4}2Zt_6-fJH+*W<)-DIiGuS->4O^(bPch}px*Ht%;f-2 z%CpfQ`*sN6A>JT`AF{e#E%eZjE{}BY7%WLxk^VG>{Cv$OV<*sN;u4_73`p#SF!3ZR8wk z@}R`ja_flgV&HYv9`5ewg91(}>yz|nwf*wLjGn?l0Z(z~NCP{ac-^$48r1LElNpK9 z{TJ^%F~ayGl=IkORk`1V6KZ4jWruYsvX37|u_t-MhsdrcU)eGJIHk`73l~c`lhgA-X71<_&x${d zls5De_w;;t-pE+l4<9X&*zl(*vXmc=N`!=*hmRJv6?thv?DiLa+?v2M=QLin&R|6+ zc5&1}IOB;hPNC-xR@p$J?x7eE-hLvCOSI9 zZ|RpE-UHI23DpH6A_sh)(pTqJ-EOs#O8z93(wlnCRWl{#Nd)ZnY~FFQv)jP4?osY8 z9G*yQB7Av23}rv9wBlrIP7~fD;tQ5ykL&5ARras@ul{6vqx<8f4a582UC>!&sCg`NcorS1B?Zy`2|pVO!4m0n4qC{5gZ^sSA& z+O1{ad5&Hq^JEHI&Q5%;7$bA|I!6y~MjwE2m_{ElK|G70$qMf&;+tqk@MxnVX85qv zlo3`Pez85l&n#G4C?9s(R8Pc7Q%82>9&I#`rh3k7 zgDmWI^s{Ta>*1wo$*xaBf@)p&Lk+zeX7tBK1vEdg#@M<6@QB63Z~eoVb#s5(4Y;;% z0K5ctJ+9ydYnkAUfTvdcydV`~_hF}1!Ab4O7@4zKA4gvU^}|kMShG5VXlWq%X28`w zU9XJMPPy%qxkupx{2xS+FEcI8_(Y7R?ZsVy6e1JzL@s0LxWLVHP0nQ$MKk&A!Co|y z$4+Z^YUiY z$#65h<)@pL(028`(KXjcy|p!)&&g<~wfu2x9V2k>5Ixm?FO9++_5PA0A!!EJSMg-M zqre{K)JbrsdfohVJJcUUqxjz4uv6)uoyJB+>I2dp8&CCUx5=NK#B*od{?+l(>W_`@Gp|+pE95{FI%cW@$vAAa1tdf3+?MRJ(XYh8Db!TCb z1YX*y-1x0lW2stx8X6qY;zO)b`PQdM9$nL`v zN?zzpBBt|*0q5f`5C0l7@^(16m;5yHw-x!gzgKLtl9$#TT^~eexIFd1MDHfGsh@bf z8qDWaBQqXY?LRT@B0gfa>KbYrHJ(?}XgUYo_vg;s?K>Muh)g{kwbq29<|2Y}`ORNX zdSV}zS^}-f6E%v-nEK?ex7_nQz;}8{9$Z2|Irly;bFz?6PISn@Lux>7>OSauIyn8r zL=Wi9(?`L`0??BZ?H(Xu8$~3y@{3T+5Tjmt^`xtQmReYi_-vDB z6oHp|QM>yy)Iy;5OO);2bidScmc-v+G&M+p$5HFtE$}5zQXM{y8W2HVf+BVu^RDGg zv2pLyfGqay)wFsYe#(cK)saWVcKmnuY58X`WA<;`H=CKv{!lk1>RCt;RrW0~iSZE=-rOKI@x}0ct4CXnO<;d~NDb4Oye4b#W zH!%-!1KT{^n#u0@B-$Vc`TF1P$n6tUvM~!@qsPJBm#3y8ws``O98Js-Z&p^mZuplQ zaV)hO0R5S9(v#Bbh<~bmPt4GchQH1BD!$skNsYD-D4J_T9dXjLe4Ut0H|yj%zz7IO z8{CY>!&CDz$A=TmDeH@0L^pdMrkYcoJEzLJ!mPeSFtWLLm}+Wt*LhxRV)5w?cUc4< zQ6)%G!ZFoY6+Jh_-Opgc{%KNGacwmjUVV(_sYi6D{)`4x-0jhV!8=_IvtO>7Yf6me zPdwG7=xZ9Nr1T@Nv^yyMv}hH(Z;Csqnt9Lzw37i{xDhsX_7mfF>dB{$DkOiuW>v23 zd$5F_>3oHiY{;rh%2bEXb6yBLnomA;G*UPX96QtR$o;9iIy0hQrdn?)D$g;>*uh%^UD+FY_kxn{ z&fjPiSoz`;l`9qdwK_`HI)3z)vPKGjTBJK_{2Hyajfmg#%Ckd%(n`+gRK6jA9dimM zn>)FC`CkpOX5MvKwDZK3#^KUuFPx*%+t?aqWuM{7L^9{vYUQZVOT8((PSw}OxVWDu z53PY;a-}C($5pFf*gCFS3S;OcXRr}_rYi~S)p6CLToG?q%}AUI4bO0}^KsRtF?^^! zV*ipTe^Q21A6Jdr)|-~xPU{}vYrVRz+Qz&sIS<+J@52^7obyEUCu6#w4&X5HII*>%rhIg;P4)CM_7%At=3hU*H$a- zxUV=BiL8gM<}s({K%Q;!1N5-lESR`bPu#GY zhq0#Gi2JyXaZi16+%ls5NE{)|roXx7_Iz^O>3CJ97kin+9Z_J`2YsH+%*Xk@s+e>4 zKc-5b%uy{%GY@MGJJD0VX>LVN`=+_6$<)JI3#{CmCw5dQe=64*c2_=PM;oZfxEZf$ zuRn3_$!)xxwb}{PozaBJrs)!HSIby|Iq;K6MeVcBG`AF=n3 z$nldf4Jm`C!Xw1GnWflq@(q~Y*$5u4Dzl4s#^EGmpV#}IfN;`}M((G$WMI!`KI=>? z6rtbOV5cH+5z#>i^8`#|ndEs4en9w92GbcuY%WX^vRRr^1Z zYDEOmpE^f+Whb7EO33$y>B+RX{Ys6@@TXu8KtyPTN6py@o4@lr`h8cWkBxf&;VbIV z)(p++I@+46r2U6CCP!CW^YNU*;YjjMxmIzlL-H@l?_uqVM_e0tZ%PxqqWt5vEssol z#5J)-vDYci_$RKFL0$PY)*&6UksP|8hUxNfxW`?ujW9><1c`~yUDvH_OgvK-3MbcY zYj$684Hd9QJTXSsXaRc}sY8%v%&2$z3Xxp9z{jg=zIP{@)8Pl)%~9tTt7I^Uw0 z6ZObkl`-pdx)4SGo`*I*h&bRXWXzW2_a4`EIkYDme!)F*)*`S?Kr^Sv(G?+|1CB<_ zY(p5{Oih03MV71{flWzrTTVwLh?7|yjGMJx35*cQsydh2ju81;dt2jTY>Qwn7MSzRly>Adxkio|m} zLb^j*#I*oA@T_-4%Wz8oOfaul#5K>hDc3DGQrJB2ajkvIG}ZPUUWv7X05jtY;@|ar7nx-C!eg*YCRfG^G1Cq)Od;$ z3L#tjt=q$_{CjlUga!BvX!vkd)|_n>|4>3-ogCVF;mB=y)?-zdvs_S4tjrtBT=@bcV-`ML}2s;)+{X)JFRqc!)-Yt$GWcXs0B-(O|ikS^*N84j*P*T z$Jpg-bSoo0{JQ`l(}H^b(@Ryw1uVC0=p)l*W9Ua7D>+gN!EvO~zr>kmrd9BAVJItN z*Vei^zBB1qnVQ%98a;*1lD3rm9De zXpgXXtT^7mt>!3^bn_FyZOgdW9Iwn;gZ$=He&lF+3hV=B3qG+0`6JoN+j3n!#05uF zkqbF81*G$aEOWr(fP;)GE$*YpW)Y|5T2$FnUNAO>&3zQ8B+d=UOy%MM!;q<2>_=8o z&gm1Bo9bE19rM`au^It&GiPS?{ATt{yZ$VWsj8e;qM~KiN)(vWvcs zx0(@8v9>0uC)+(9%I>vT+c{=&daw$`Yl6|#Ojm5;nAHSulwU=9UUbBmvi+aXk2r>r zh&jt2>}lyR3=5`pt<~CHU>@U9O3CMV<1lcgMjA}(l;y|Run%}LXtNeK#A2qABSQ184g_ zPS1hkblrHU7;}ZO5G=To19zT&BmcP)&A4}fsIl?c-~&(a2xF0@errWCkRHCl6^_vv z{s1kdrwyf}{u8fivMu=$qnSx#*HOk0Io`FwqsB~eeMdvp#34qbkgd!{aUzA=GDqbR69*nLv zZ6+I@UvgOS2<%Ke&g{y=YrQuj&tyH+hUMw8Md?YWs?KDH%*NtLn?+k-?WE2Qzpd$D(|FaL@l<;5oz&jV zK9eCPndf`;N%kgcIm{As3dflAzOH7K^a4i+FFU5x zx~9>|=I(~Ja3B8%D^d`Mr(4=(CatAPra6Dv_*G5Jqi4CiV)LFy=Y)=&g+Vy+VULQw z%FS;M2s81Bhvsdoi)B$)kQ?xy}Trcqw9wbqOmkn zt3qxQhZ`}Kbx-bWIXR2vXGUP%o}mtRdtQ)GIk8n!H)6_A*YK0b%=anegGJIRGj_Wl zzmH=KPp`FVvSX99ynSls9QG=!!*AHkoa)*PKa_XRX$O@U(K|$RZxJQmD zwQ(b=%qqWELmy1|L9<3;&AQk+(40{LD%n}rz&<`>Ygo*~y7;+$yent&o(E|;pm&k9FE z9iQ8WDo3!7q7^pg<{O+IRl16n2OK?zAB|d?_0z2<-Z?e+Wab=2i-;DuDO$lve*CC1 zTOdbph5i(<*WEDl!XNUJSQABxU8&D5R} zA8;auTm-GeRL%JcV29K?;5Mf-7D21sSbp3-G7V4%jEq)nv#ssmP16r2&G<&~Np5la zWTU%|pk?liy8Yv<$mHVoF^9$N6l~Hl_w+O7oQglk>0_o#w+fM%VLrNkL{-k8MJ*<3 zV(Jo{z~DOQG#V`R)C0E(>w_)8{pmxE!Q__rGO*pskKt!}qAxpw!X~g7ex^Lo*YDFl zReIde6%oCJ>1i=!&C?^E{n$9*47fH`3(;nMNOXmK(9h~eaje&VYAdxJ!%s9Yb-(Im znWv)oaDc+fyP!?^ZS%R+YOks(cwUr4l`)Fx|na8No|knKf$>KiIdrW7hh97$`w7L8~eZ;Qf2=)iTc0MGjCMrz|&jI|E}UXe`YxmIQ5&+ zDLn_vsrEKs&}919oB{{Mpr4dsj(S!{^^7_C3*={b%5_Z+X>#)gjEt=O^7vv^=*n{9 z#Ht6n0V)4V6c28)b7?Ii5!sW@O6ZGbI~U!%^`a2->m?z@L^!nlw#?;_(CTw6!* zey*G`SY$a;lXV-eJJLE2n8RY_BFhaElUFneW+x8VsfKfr<$Agi_1z@WIw~)VPDW15 zBFklGgz5XjR|w+E-zzcOUaS~~JEUPkW<6$XHJ8}e{2;Q)M;^-#J!Wj9&6dV5II2<~ z!SV#l`1l%>Q~a|s$H}3Z{Lp6J@5{AoSZmF-GvLv2iXe?bU3zA$jLOAyq>k!mY$b@! z##55*?Ci~TL^UUlv1}&%9UrkA^vtHsVP?wa?1#wTr7dK__mXQ1U{0RWM{(WQMAcMr zEx9%$EzT$VfZ6REH5{MNLh0fWtW;I^P`C3@2Eed?BwbNj%%3PQi`_oG* z!s_wXR!KFxG8f~@IP;?xHF~0Ep+I84-=vH4nU1p6K6=_`XSJ{VZ53 zP+WOg)YP0XewNK3AFHa5jqhG;Obb_39bb|W9! zLqh{GIa{1Q3F(@SB8ePcyS-;yW6{<|3Qk;YExY@DL#**_4c`^&sJs*-tL7RM&}p{F z#=lUMC*uSABPUZllh#gYa~}1W!Y-9{messlphV5uRSlw3XDG(KdBGmzVXO0qg9^_(;?WV8 zqEt_}m-eb^8_PT^9#PJ^+FY?Mur^gU744^`Ux6V zeXTrtZk)cmk)5|~+5k`AmtQN;bK2evA}^z)tD@H-4vTg>MJzpH_A|smO-{#y{wI=x zAg%5m7l;CQ(m&iE(>_T zS2#3g`3Y>!R4Q*HBMfDMT^&@*a99qbr*W&Qo8IKEO{OVB*MP)i<2EuT-9>EzTLQ}X zluavNB7ZIK7J#bM>_f)@T8vEqOfr1$Tj0 zUhA5Q-mql|oVA)Nbupe9DMarZATGz%*Mb?|y6OqiJ8Pws&FJqqY(Vj8rlPuXZDT|s zqj}za8U}xubY`hGeQm@pKYqw6_X-@aDmXQ3oZhPQ2y9TB%_TW-5y34^pVl>pAt_1M z#b$Kdrmr3TZCGh{m9ypak_xpgTdzjWEs=jkcVlEb0|`K)8jRJl~wg3 zuuVrgb=D!wt&9ik?K!1IV9UrT_7T|N{?El8X_ozGfo%XJuEm*&gzf>z*%tIa+mCE~ z204f2L{I5)X2)PM{%k)2jZtyIBTu_S1JgaR_EncqJ)>hknhwNuW~1RXi@=r`bo#X) z1;nS*gP54EMPYMwI&WPygC2el*aW(P&3`n7j6A<5ast8)B9)GjMGUAMRVCZ+&qRJ>C_QL9sif7Ctz2FCp>FnUFh1C;-=JV1tMqYHJ=j2*g z-4>-e5s^Tm54x%cWou!zNAr=`1}yh{4AvoHwP&jx#Cd!N4OVZ10y|d=QZlmq(+vg{ z?R}kYUhs)sVe^O+GW4E& z?uDtm5?K#=cWI}U<}_TDy6d?kxgr&_fCCs>f1!MV-E|3d6QKnP_srBkZl%Ray7RHn zrZrak61wZeCman+-7im9X3YXNmxH>G23M=@Wg{$XvuMj?^dtM1%*}DI?N+r)WSQO1 zRXeC`-p&Xw%V2Ja{OAat2(O8n=>v`=IaoBZ99G^$ew&1;3pNyHP2{^9?6fj^cG`P_ zLU$q;0}}!**E7=D{t(iN0krs+yrsBnXP_9wD`vKNE*jYkEj!OLX$3hKY}THsC6XVb z0(dkshB0~1*+{3BP<{s{nzwYC+4GdPDS_0Yk%`V?9TO5Fk#(QlEzMR$`E$gmt3I$- z&GV`h&6#aqzrzs2( zX5xz84dOXoMH!XkT3OAiVjR8Qt*hrlC$c7T-Pb2Q)u*s1EXVws+Q-2H*B#ghpFA4b zP|18c#si-8bqAK?$ghnzI2cR6X8wVf^~SD-R!x4MS=M-4KSW*?+C?&V!q2(`h?-~F z(^;cE+)l`x$Gk-FiPQN)b%m$$p^hOo|%~KoQZJq0_PJmAMf>1K>M9s6xw_JWjjN)`or`xprfK_cdYc8J+ z^y!@TDFbm?209#D}gKx%s;DS3Sp`RK{9xsUIVBCuG1hU1yiu>b)c^Ek8{GmRyj&rVE@jwfJhBck9D#raK8*fe3lV6+en6+{`9V(nr4nfduPllO^zE)0KxMR*JM`WrF zx+4QR6jh2+iPSaqiLW6>%v}jV!Zz6UhSQS^b^DgKhDU6vIq$ ztyK&&8;|=4?sm>WH?t?SQ5;3J&M1d@kcit+C5@3U_~j@7VL+b0z*L^fX*p^z*JJHr zK<^sac+BWads}&_u0obYVYkv)8k%R5qZF>|c_kDqtrW$P&G-n;0232_Wse$^V})Z_ zS)UDv0eH{c_hSpDd^d+{JpBk{o`zu_fsEmu*qevc6M1bwVU$5fAPdVduHU(3XOY8g z#v85Y&pRfyu5Vd>CJq0kRN3N{$Dr94!`iLS$USO^&ilrv>e70;iLvo~+-7jUR!(Fj zg$C8l5dxj``|CL|ZL!Al3z7A4BZ)5d0p}zpa*OB3betB=Z z_xWgbtZ663)3VB{$G(xBC#-W)q-L0|?J%x(NNb}ji$nvVVwjm7zR}gbDeSC$N zd#4__jm3YJ8~ZCf7(!imc5wp#4LtH^aLGTnSXMhd-l?kzq5! zx7*K%$T^(=<9th?%piyx6iL%O1V=Wr zo}A>cv_5aA<}rD&ghyjj)LQA7+i{&96A#$UEjG(iq{4M9OLC0*rDe3xRtZoVg`J5` zukLbxf_53KtrDQxg1RHHfFt^Vk@RpamL-TppAw$x&PUi!??!S_)W)mk9$yS$@3w!I zA)@~5SaK??+wY8P$lc$L>~_VUD*@8NBSM#2<-8-@NDnR*3cq6ZP=4=KGN5m2FB78K1~)w&mIhP?(VE zINMlh)dy{s>w)OA3#=&^?XmUnM~m7h%>6J+yu4aL?_SVlbsfMFMOhk zYae7}8;{nYX36|14z+;osk5GlwEAMs&6Md1YHjS^rzoa7IsT1+goirry9dmyc1JdY ziTd<3h!!k=1U1f7?t%Ue_T2!_QogNPk4o#uRF! z7&hJ(pM$^L%avDB8#8z>;0!>VZ*V3f=>DwKXRFswMvd_l9*J${@|$|jvRn;PO$dqa zo?C5RRn@utv_U;WixTWg7WpOM+(-H7G z;Of?NZ>jod!T$(EO&(;AwpveP{vaa5S zTsy;CNABp!jOXq&ka}yoX0U08-;jpa&+RS-da(>aH92R9!U5}HZyd^Fh8s_k;*kl&p~70jN}As{E=>w;@GMsX^2Z9192?ORIjhWJ)5=ru%i_D`GpuN zpzeBWS&Oxo9p$LQ54o8vG;g1yS2%lB#NdqZuVlO|(pmQ;oozL~R{m5czrG;lbTaeF z2xe$z0jIgLKk2nF-S!SDb;RuCW|ZPT?wf#@LpFR}#pz~|SQGU$Ilh-I z&W!PbJIiCRCF&#KUT5oZI?Hju69lTZM7^`}G8-jQ6$i`_Ew=g9p6tQ#i$WRMbHL#( zFc(p5h?%TwRc!$AR1j!-n_uNPQAZT>wsd>LW};AwSqM#a^!>6`0`CY2>Cz&KarF9` z8Euw&Y>Vk_%K)ngr2&UwRH)sr8QQh|iu^pYg6a>O(2VZ!rRg2LwN-$0=n1j3$YRlGwOw~slHE_+b#@5r2CGpSm&B%fJ#}dnfwEcq zs+}#J`yc}oQP;WBqIYa=AvIt+%pJub`=9|2#oEYdYO_ANSXJ6US5;He3u|L_b(s2e zw02p09JEPc>jY~dDZ5+Hou<5QABz;$1=eo1kAF`=bBmri=$ss>Hg-dGH1fP#CIhag z^#{dR4bA9|?@Bm7OPacQ*T!Q4-m5I;X%_R3Z>;J>!Q&y}9f1EgQ)B=8(wN4*>ZoEC zXu01cDH@#gm7s(w`xI7Ns;$%SK^g5ZtZ-9j9J|n1VuH`>t-O1<$J{iuIkFha3c(|c zMZn5pgQuZDUAs_a%e1rX6=JCucZB1(>X4wXd{D^o9X1Io){6@(zx4CUJqkTyvid|OUW!4MnkTZE_pi??fq9d_!E1xh!eGk&qsQlH7W3?KY28vUs=qw*xtUS?(Mc3ja(MQ)JrJ4(F z^T^(kVj^msr|PM!OEn|%M68)Z(_`#P7B^k1t(12#o#n;iwUnVPdKSMC z(rwC*Ow$OfxMsGlZT&<)S}Aqg6a}}@W5cc`h+luN*R$vFGYK)Dv4H5Mwi!RO4)GGJ za5wV0u;D&Ei`!^QskVbQr1e~06_gizu^Y7&J?-!+XF{IWg-tORQ7gxl)F~w&BJg}w zf@z-EL@iG@FF)F6jIr^Ih`>^744=`1Q}$^v&@V%vOhc|c*I}*dGXs(}N*=T;iJrCR zdQhYO-gdeaLqFP5prEX^=bAQrhJoB^bfq zRjUHoE8LYc?jNlZ+B{rOFRdoqce4^bj@c-c=L@ zm&(Q<^W)MIoAn088i~#YJ?V)!qr2=X`aDu3$k{j87)&efLyPryR z*RUQHGQ2f2>nqE@8b|#YLZ>}`)hY*l-8n0|ouHUUM7_(PY9DQ2SX=62HdAt;o?QwL zPH#DQqO8s^eOFjo+%t%hC2cu)CZDS4stQdWusqv6wj4Y(mPgbIb5z#thrrOuEe9V_ z(>!I-Va#~gO|ROL=WjgQm8UFPX7mf@qy`JQ0kV_01Dh`KK;2MT8@I7=Sk_tg1X1np zaN%@v(X<-Yeh(2ar=GJB>FJ}zv;$3;)zP%zHqias?CO;MtZ5ajYV4N%0Nr{Dw8m=6 z|14{@Ta@E6lx})lFLf48__L}dvZJzeHLIB^Oo83r)!1{H&v?yMd)-wrOWY{sR!*|o2rGG5cF|intR84hA4Ai=joXk@fq?E zqWWzG3~2N0h~ut2J03Pa2S1V$MLoGxJ2dHNA&<~|%+=~W@ETP$w$reRLv_UJa`bAQ`j;aXE-HWo3b zdBq3a)enzW#?DaSB5O{ly2IWc#ZjX7q*X*{;>>u6RGB?Rie_dWD?`Cpr+>B`PAIMO z`OE_=R(Kd)b7nlMrgNUgf2W~#cI7a6e8Lu@Iws->TQQcMdj-H`Ag*brXA(!&GHdxB z^onZqmx4Fz3_d{%0-0L3RBdpCNVc`H@CcDpjP-azw>(EemPzQovKBj|Y5|vbcz%Cq zV>WC)uE?C!e#n<%Ep`546&?aR*+nLH+=0`I&kY(?@!v6}v%WGJ38&WZ-e8f+| zgIfr`3+>PNp~esg%y1aBh2T4^sPAzrIwu-Wf0e^RTL|70hB%8xLxsly!yAZLbghn| z;q>)W9+vqqBWKN)f=6^&@>E4Pq93)GZA@*B9Z$Co96yD1JNkfuFQGBW$^MH}45qWO*)@9k_R0{|aPyE;q@pE8FU91 z+s;%VQ23uBStVPi+(n{ZdmZioR2aOpqa&3xMObKTR!y1JHHigUU0YBjW`M}{PbUMM1 zYnfp3T4gP?3;oGjEbmU?Q9xao zmEC0dFuxQGdW5E~tVIQZJ!rUZxIiaG&uS z|6DscPPfS`H?Y&Bo!ul*@yS}=?67*0CDUnK;g)4>{OC=W>=~NRpBt5)t8b^$%Xxh} z!>${GS9L(MdTcSCAHm5;MD(SkOtx3AUCo@*r!2X7$e{Z>^HJ3-;0oCUzbrea$4ysS z8f0SyBh~RqOEodo`8YSH%ZzK*3o1KJ&+wXje8mNoTW*99<9;cQfSBe}j%R7`Z43hu z8M^=5=#)QBlvKKJS@vp}o&Nc>s(0*HHJ!Ca*$tu7d=E`4a7ju{a<-=D7)|jo90>`p z19s#@Z4AdiCFWE;LuAeYTSO7PICsK>apUZrp2K<+wXybX4I{E*EKVS1S~GsY=0JHZ z)*T?kyIx*VC|)M(kwe?IRLPS3>PxVxsQYeWR^D8!JC;tbD==xI;~sFl+#(k1j!RAT zy}_inJyRNR&TN79EYu(`#VNOWT1AHy@-5JwZf2o_cI%0Ge90yzw=q?3=HMEW6Nav* zLU+`}EFzOpoq4DIL3!y?9CkanT6a3fqI8aRX7g$mt+d!ACT}-)KT{Y%i|~WBVhJnVt`@UT%a4Z`J$}`SfhF-bO@#lrh!9yd#ZO@J8Rb}9fyu2qYlBB+(CZVJoT|Xn zFlRH>y`jAa;u-rIQgq(6u9SmZ?=O>Mo_7W#%B-44V6q5Q$0{%peSU0F9oMNtpTA&A7Vse zzc4b5{tS7;D{=u_rpfuS8%mcTSrx$q(dOWb$J3ix0+=Q;r_jo%_#g)KYgfFY?<&3>8!-FGNLY2;p)XW z<1CGzhUJi_^5HeK@?NB+REVcvdEEHs!;Cdtgr)SVo@0mzx?9zgBv%%&m}cM^EkB!4 zW{rpgwx(&*l?Y|t6;UT6pMFbNYH2{xZ^}%`yCUjUVQ-77!F}0>2UD4aOH0CpdL9%E zW=j}6U?unkhs*K!k-cKOe)z8#Wo=JwVoyFTJ=I-KEV@!!j|C5>K>*FijVwCW0aA3d zkSDp%>u$)+=1) zcCm%<^j`awD_cCanJj5s2kq)8?ET8>n9g&@m8DxBba}U9D+~vCY!&qr6*0A46OxpDwxcdnIP%?A zgH>*KjPe?MneZ4W%-<(2c*bskQ4~)mJUe|{SFZQyT$vF8cEy(oZ=tgux08jyomS;g zpTcC(6iPR;3p1<+7&Wc@tVpnfoxI8eYKmCEW@jnzcnLFhypJ5yr5PSp7aa^Q>$PLKtONZ$D&=?wbBsaw&s$EKy=@PGBv zQTZi|Lv6+9wwdN*+T|s5+0+@4Xt02et1ks(MMq&Yhu=&job-DSMzS+k_(1LX@taO+ z^j^Vjn9~~^Oq=7Kae4+GammyI_a;I!AL}D7Wg2KV6yAW#dsCNMo~%aCm(8Tp4Sa}^~9nr zQJ7|&#xqCwlhzt_qP7{)_UYi!mgw*?Kj5^=(WWhxn=|^(h^i`|jrT+lzPM*hql{zb zP-p}`0~DE>ZD~DwFvSAE!kjgJS!6ECDyfb>@gtB&nvrmHYAue!{>9}n6s{kMwc`E ztk2P#t%I%@75BDeP1L!_wpivDoP?WmZA(^DQD@S4OgDHqUMwC_gydwOg{D0 zHKx@*Goi9L6A~>q_yG^lZQAHfSq=HwXMCz!bE9sfL_w>#leTD{m&GIqYVFRM&}g7fp;EE}J$TxYAQuf0+pP z88q@+pulvyUSUg?HeAr783(^axXZF9pS0VcZ55a*=LlQLvgD&|jkDFcU`cbE{vzR% ziMhH~msA_Hnn>gq2yZW|>YKY|z;`!w%b7gM!kjSOh@90-+9m^LwzAH3);RfEXk3XEI5|2ZJ=HW_aJ9Lowpe%>+m1gV z+QN9TW7f8bTeO&tQ|K!7L_A-0CnC4tl*-avr|np7(RrCww3}^h$3olfIv%AD4%BBR zZIibu$O)dPv6S|(=akaQ7tf9*rw~WqvXP#`fr?1OQg$4gM&rs`a%DZPzFWy zrGH?e)83-ws3h~x@>Um3avpHaRNwI*v?+R%x8PCrytJpxfNM%dr+k}dpB|KMd7=V{ zc|6G-(Dobmf%St1v0HX>`ZUG& zk4<;zfK_zup>Sp*>}*iDx-#M+qSoQHu7_4;<608j%yEg43-H25tH#k?-{W|MY{GSQ z)Zk2TRkyNqB8|T>8l6`o5isF@lbZT}LQ~UGINDgz9Q9lhsw293gJ*F%KhI9~7~OR5 z;9U{1pN*oePAD9hPCAaPh0dJbt9ICFeLXuFYWM5e>Bx>=O|q4RlLjr_u%l|# z3>-MvU}tg`S!*T|ejdl&V(f8Xx5dnsnUbJ_pE=3Y^zeYuGvKz2UJ+_LH;4!s{8F3n zDC8`v)=0_BqiSUr{QBJ^!fTeAW0z{e?-WCp5Abv(=S(e4$0_qU(6(;#>w&ZBoY9{( zEdtHBa+ra<_nryV>R0?Zn;c%-PIoz<;H5N!Sp+SZ3fXt|LJ9WO85&^6>e~?=)w;z* zF`>8}CTZn^P0>n0)#t7#8bDW)IpAiS7N`4ta zjG1$-IY#H?8N5STaCp$n>1=J(Mi$}CqmQSLS_j>ps$L~6$Rb9!*}{^~n1Tu3t?lOH zVUY5BHjGHfbkOb7IjeJL67c?tj#Vv~`C~oLGWx1%ncPlLH&hx79ugh!*fUcRp28=Q z$P+SNQ7c#`-?z=PmAFd|Rl3x2GtH3K#z9SP*lZtVe3F(Ur+gj{ zq^qK}!M!<#W7%oOR6UlR=`vuqETz>TuVtradg^Fe)i#PXF*OLA?`$)O)L7;fwVJ?s zd5N4ceySF|2)VyHq|8@Ui|%%+j+um8)qO)nm2x)lu))u>Gm-99ybq~8k*ldVo&A}x z=a=be*-vQ=Ba_-ZI|0wSnM8C(zWyvvUm1#~40Y(u7)r$_TE~LLqH575Vl4^OEV5R?6|9fobTQxC z4YE_QO@I!nyyMot0RAM(;ko$#`iE}I?!z?7>DJeojPhQJCV!EMuE-DDG`itBldFfF zi>OtRSpv^1rx)^a98O|ZO)G7p3RlYGRPm?+?iRAd1jYo(T-fJj!mALv*Q2&&4YF{nz>dT)4kQ-|CN_( z=3zMHN{_wj*oWe2u|o7{4!Wb!@c%%+UB`v;I7<#lxf>2z15aRMIEn%~K2=L7pf5*> zFh{Iq$E}VVS&b(3T+8T_trp$)Rdh~`Vyj`{#=}`axK^#<|!%tfgK9WTj1#9zJS~1UZ1Gtok`B)ZOG8f zO3ONgGpx=iwZB6Uv>wI2%>}nU&VO_7yqO$mdR7UMKzp7UiGfCp$I#rC3pjq&i1AaP z-rg7->`c}^t1inZKN3C5%b&u@w8He3MGs9Lb3nA&@L@(Vq+*MrSEvwY#JR=1&k7xpG4k_7iJN)vXiQtKuYKMV}>RWHGdYhQgyLoLyb^7#>=sb|?0(<7jlB;`5TSaM4MHt*Vx{4{s@k zr@^D&(~l+A&{h&G)%S3zM)!lJgV=;D>>2CpBW+s)0LNk zhu7rFtY*R){%uHDaHJb-o(N&|HzQa7eB&y-u3c!x0qaN9%9Oe`aJeIek6BI7YVt{U zz)-ytv#4yHC_1fG75DUGO>3=io3f7nsMRnKAsktY*2cyvYmMWqlY3bRlYQB+lEJkt z$11DzMbQI;wnx~i1Z)EnQ_=Zl(SsGKCt>F~J`1)fNS|?joMp~t>R`b}9z@r*9{ z%+qI`W<9ec($lTnbSh(p=7{GeS%F2>>VU!WE-_TpOg%>EPS}#w8gEA9vXdT8KF~J3<dIO}*?xiWIa>V8qUKUy@4w`J>xU%P%zr_nU$3`r9H^hxto!v3pO{1USO2+s9G6JW^5Xb0d|~DEa#A%t7@qR@a>2po63_!kD5~I z5h6piN@5Mgr?dQf!^@w}GHWzj8(7Ct%pVPwlYY4<(=rxlrMHS-4t_B$celU2L@ z+Bl&T6kxVJEOrKJn+0q=0p$1CQ8}6Yj6KO@Ji9m!^lMbheVSKa|mrEGGp8`)^hMbR>ea`YW1=LEv) z`jKOXn{8(r1kCTGx~uK!NVZ_c;@Xk5btjH%$0I6uKXO7+Xj8N**{HsCk7lWSqC1Q- zY>E~#G0K|;?0PpKpd`{aO{;^NXlS8krgbP>IB3t|E#evkxp%bBeCxs`x$F#yz!>UizN;6tfPYBd2F+~-B4JF$IR|@WWFBz0 zb@*&CcFVH~>^RAR$)F`+nrK?hm~Y-wEA&8sUA zJRQlAe7iYG2V(0;u8Gp<_)QZ8=76o4gciR~6ni|6)irz~d4J8OGK)o;8biVF=QUH- z^Grze&~h>SIMva2r^>9GSDlYk_o7Udh1ncv!>e=+Kkjmt{wz$fP#!fOSTf3GF+2W(#Xfu9J9Um>o?A*$hvG)74d9NXS?}qDRzd% zTvM}EO7l!eM4I&)xIz!Yc*>yCgpPwYIXd@_sM;kQ` z8p8_BUXl!j&M5Cl#*2j-sI?+FfhWe^qX7J%11^wjNpfSX=6e^+LS*GZ_xRNKcD(`B zo;W)^HceeZTBJHwWvV^w%M0jN(L&jC3W#dURhWtZ`H2lSGoChAn3@=HJz~hxy!ov_ z)CA@cetm*9E5pck#PR&3N64SS>GCMV&TnJ|>Qkm-P%wLXISMWH3irpiU>s>C}1Kk-t_|o7$t`M)Z#OXFI zV5NmsoHTeVChm_M;h9`7KVIqTKWP8+ip`?fBeZD@QgWIf^HE$j~ zI?;V?uI}TpiA(7~-vTYS8a)IhTd>*=Fhk3V?}^EZ%!i+hrfgjZ&l#WZy-4(Vg-{pc6RbMm_yI^+A26!iyBBRq1+niOK}35$uB_p<%QZiABr&++k|_+2 z9eGqUe~yDkSF02sSkV^#^t_MHQW%3@85v!Dz+IJi=lYp}SmdQp${>E|EDfr!A-SQ_ zCNFtvNcY>FI9`mWD;e$)o4jPfajT;Pwm`#mL$I1$jWcbCYp|+h>QR?CWoc{MF{YVy zCmcM+>=8<)rnJgSsjTA3gHOuQdC+AT1lGP|FK^*a_h-FXbWaRD_r7CURi0HB&lLPY z8@%_v%f9g?Li<@1#zTcx${Sm^LMH*Bkd`z3WPw_FJdd-A+CepZ%~7d=6@oQ-23 zBFgex|4|I<{-v3EdZ!qk(T;yVQlky!e0TI|5&1Vofd9A$Fezlm*>EUKA)lPWs6cIS zqR?^VC1iz!cfgsEJ3JL_ogY8x(sG(IPIR0OJ+@~?9&pGg+Xzm;+xT6#H-Rc`a=On8*Wx-T{I;?p5m>MCkcmnz^a=ZAKc+gx^&86#mg%vnOG$6qe9wnf>3-FvP#4128BJOv{ChIBfh+Wwz$Yztc?pRIKTAUtWz-Yw zi^$e0FL?#yOTl;{EZA3W=o#!o3>FZtv)9VIpCyO>i2>~wn4%BPNVwIsGI1>x1M|rZ zO|NeGM{v~XV^5(7qN;s`CzN6F2~06X@42z5Vs!2T)3keLT>p$*;8mCqGOS?PDEfk# z)A$>C>0g{(i;ZK!4eQ8|D3Ox-Z!8FsH#101z$FC`zT5TMeB$q4C5F-Ie$dEBc zX;mAam+j8p)TxO`D!;FvoQl3!gMnJKsi}^JA6G@T`Wfd+IS4G;R4K!8JC=Jo8TZ2H zGJuP9Cs3Hkv)@?)<1(xEsElpDv#gq)w|vG3`L!i?b(j7uP7TeKbt`i+LhlntF})Y> zj+=YMWmc6w_4tyV18fWBH5S#Z$C~V#;7QJXg9?U*>mG`C>( z&9WE04Qs`6m@CgROA5pV(|syqtyuPmIxz#fMUw{{Q(nFit2QL7Pr!jDw>n_bnTfSv zxpL5P+E5{@ii4h>3H3VP=~?J&4VbZctWpJQ&Fb5cBir!rPkoOl7Uxkhh3?gr+@hS{ zK)EJKpS=Dud5SAPsOreT=W)#(1Mw`h(6aY7K6#3FL4pY@J&^<2K=2K(fGJPiPAA!9 zUvbI|39WDs1MBndu*y0(Pjt2!*p;QrddSe2SgoDm3U%DU@{Q-cX# zvrEQMf1z&JuzBgM+=^2RcC0Zc_XJhC@>xqgcClKi3<8 zowcb`38(Aaq8a5*KVTw>-pENWIY}Ow@-b%# z<;#xQ{N!vC`>0c)Y4M7#1(^6}b*hoFw5v{aw)!cNO7G=v@4ulU9Q?r3iXPnCdC9@W zJTozawgXmRN{_SHRS{auGwsRFry&SrHy&#-WzkEjTiz_-@Ih9p^J!`8bWd&KR9HqP z&XLc|qWYk1UM9I-i9ssi@r4DbLIdo)HK`7HuBHmWMguB)i2#u&ZCPM2>=A{`>MA;gC zVpL*IxI^g`dfICnwr_Dp)>n$!Kd)inN%?w9z6Z0tt8pHvOK^tss#EQQ|GE_3JAz?U zX9j}EZ2A2IqjiNgbPn3Xzw?iJ*zS)!Rngozf=aOFXP=R^TjG(Yz;NH~GgZnw_8AcB z@SA>8C6u$l0V((q6xKwW-SCrlPKcX2DY?|At9Vc zyUh-Jj1{O#Yi&aek<2)$#15CuGlUtkXl$`=vM}{MdZ=mR2RrPj+(O+T;YXQbDq3~# zACXOL%2cP4d7Hlo*rQBI$OvtrZq#_=d(N|%3S4ZaqPI-9HD{WqtT@|PI^Y=3sLgtV z4B!@mv=0N1*T{Q1wiyOTJMNcOn_Gn+FmeFzMVYEf&9lLo48fmutchH}_yJxZk22*x zZg?(x?m_%nnWFnl0aux-X@88tG=NL4TjLqoy8L7!(x2xA0$Q}Gw)V2{IcQmFuF!0u z_Ti#VS$C4S1D?vMD^7K*re?9;O!gQ&Zo#vm_*jFdjN_a2rjVJBQA!NlXX>^VGB$B4 z)XvH?#ZYPee9?|fBsS|!2gmA=?7%!U|AZOdtI@Y$DB)SM|s9Yr(1Sz(iCiLPOO_qMm~xhg{Zx)xF@TxxF0HiyBB3O z>~(=NtgPdhCOfM7*;3%7&B|>Om4=fj34@2iu@(W*-p_qnmeKn*gF}2d4+opM>hLZ0Ak!qa(1l`FZHOFeWl+byK?x3)TX) zlE#i}r!!D>T{|k6V@u$B`T*bGwOHnu>mw1Za?OOZP15~HL3PBv+;}_P*GxG2+)wNm zRc+A+ECh?#GU2Z`D}K%{jSjfl5QQxij!4TB3U3P(9&R*21sB&2x>?cC6zDAQY6fEIayCZ zx*z;CW6niaLZqru*R_L0Kb~ZHr?BWsR#JBPaqW0#KbGXtSg+gU?IWm9^CCRWpNGQC zs*X)pO0RV4B^kV0@{Cz)j?3yX?QmFqxs6X+X>B=fMzrC3wDitY z$3b@kzMN zwM#QlPX=qyp;kFW%fj18|+Y2p)>FrAdo^NmM_cKE2fncnY2#Uotxw znZSKkRHC(ET{FNpXy&5l)HC4>OT%h>aaDc$;$!mg%C~rijoA)eRL<=SR!(6aCYvo{ zGrqJ}SKdfsx59D2UD@u~g4yUguiU?oLk~kqR;O>lY;{kYf0txfGOP}`#%I#EV7AeK zJezwYqT_(O+N!tO8XrTIf6tht(`F915DE81TS}!0eoBKQz4%a+baA+7OUaCAKd#Sg zx2N-_h%|2Q7aw=aIfm1Wl=-u5Zbe_jrE>3@6MaIdrg5-FsbcZI7;D__Sd_y`&t1_o z-1^Vn7gS8P>Ndc>L~4&^C*2T! znvqZe=Cf1E%3&qun2dY=fVTi#r@ zLu%*!!gC6{u2f-kJ5vm%iPG@V8{FJ;gG)q&K7vx2Uha9l1ua!+&y)wH`3@*<3a9)C zOQtr{stpln9zjkRLVo2uqj&7-qd^oylD zS9K^c?&GJly)lvwxFX4nMIDmU(D~ioIb<;o7-Q94i#kNmV8{3(q!%s~RLZf=bo+qj zeme4DYVi7-P@dwV4vDNd;*c^bs$XN3XV#y^p<&qobBpmtct^~Jfm~*~J>iqj2_(aa z8+sBst)=!C>?wl|xT>B|MRv(&Tj^Ft!0(KvC{?%f zq@l3Nx^o7p%7|x>1>}&M@ntGNk27ZwPT;KIt_6{-7MPlW_&4H z&TYf?K!bD8t`s~s<4bjBM4st^lkTTkFD8kA>M%|q%u(zLezPK4K7JqeWI5R}OtY5EF8=!n(^FAm4fq(QsF%AUt+ z^Ah$~ce(sHU(#Sch9eM#WH9W`7m9f#9w`#RYklcX&eSULOxmqWF7K!|e-oPi}Cz!45(pCAb2eF=gIvD&|bO)-R z;$Dex+pqwHCzf61QMzAUUX$x6dLXQfXG4E%UeTdaKy2*BijJ%BxY9N8_*V#b>_goZ z&9kl>=@E0lT}olLSTu*|LC=lp%sGAjf(z;&Z#lA`$7{zU<+lw&b3@fUTPi2kdVsO!S z*vaX`Zl=oG<9To9<|wXTCsFLavjiTRd3?P_%>3EVt+ceK@?tuJnE zL)SrDID4MX^&CgXVtuLcmf~7prY0U^ucg?&HyYUp3BR z0&~rpMqzv%vNTLg&mA?GZ1M>n`4~5aCsoGGyC`O<$2h~DgvI84QG4K6Ut&-QKVX-& zYcKtcGSyLd7*TlcACYa?D}OWDXQ(?vO+HVjZ&77<5wE;p$2r^z>AEtOAcU_%E=2U5zq-mN&dR_T-S!y!;z9@KD>t z6+qEZ9e*S6{2%&Gc?#G3QZ!8DqwjdBb5^)giu%kijJAUN`>oZ370#sO^XWSlZk4>j zA*Zr>cbblU)*1Viacl}tnV^?Ay`ZaD>H3n*=2<{Ix|(}LYz!m30es13^8$IZLxC94 zH?S#qlg-L0^Ct%Ho;LfKWZYE(CR(ifbnG7J-oWOdb)NfTJMFP1z*1UM(Pono=d|g7 zV7ggdDb&6No2gLdd1|rju{>Zk(<8TFGl7ibKxr}TVHhOH*>cT>7I+3)(%2X4#er?= z4qQFFi4Uwe{|Hy2@|uZfBSd)?+H#7jZ}CxI;Xe zn9;LoKGrHM_7hJ-)kzL{1CGAexu#Y4qVD93o?!u$+@8oiWy`R*euYruW|LEG`SkVL z_W6llbBKDlNhLy;n|MvYV-a^OVSvjG@<9GsnXGjMocY^gd`WO|E^rB7Dvqfkx_>cdB}nxi{{nC3HRh5ng@J@M6(7 zWhX3^YlnfF}ZqA+Ic;PA=F^%6#>21#E>zXJSmX$ zoO}pyImbLV^bpqd={j=cNdC-ycrkZptD6&NjX;qYV?Pxh6ww>Ls!cYZ^@NzH?7Yej zA~{&$smwgq6GSjoag`loDz(9rNzSQ@QCQ5>VJ5>e*CukPOLO-#Z5+{0iJ(i|z+=I} zM+Z#-bJdg5($I3F7S*2VU#2;`d^A@imsL5oR~AN^FVoynmdz{d%qaGvm@1&C%hyxyHG&Wum zQ|01GFpf2>4nKg0hFhi?c_RY(%Ye|jSVgmYQFcn*iaM3MHWAMYTV)uwF~{kcvRk<; zL_V^RI2Gtc*%=>YoIFQHh4O+etrD{+JF-?=og_(S6AFC|uCssC% z$YrZK4d!?9nQ0!T`^HW~R{dGo;RIQs$2^i9PwdfZ+qw2%xw}jU>>a_l!uZ6r`!?w4 zBeT4Q-Ue0E_sOsZIas6}s}9U{+nC4r^y7^!ZNkv}x>X%IhboRyezP1Yv}2QYSTTN` zC)OTOw}*q-6RWaglO2UqnP}7U1GX?W_r6_gw=3+heSqg~Vr7n1*vS&d{Vc2|@E#!G z!K_;QcGdn&*LQkVz0@YDS%saVvgT})C^W-3=(KKP9RwJ-w*XE+vA>;9L3AT*4tg;5 z$3d2V(UZz1`veo%%zW1$oLaXW!{x_zk`7GanJrF^?X4+M=4JZk06YrO_qvCm+w5~k zW!3pbYe9O&TvcbtPT#;v(Q`gkCk7<>#D1(2;s$RQGxVuC=p0SNHPL0Z?ROKSD)5n$ zF&CS8KmSYgUDSyT^>v-hxMv?przFbP083U$A32d^oOzTqANj2O!b+3)63O(*GTa|I zBFbk2Px~BlGTx(%`vZ@rS8cSY$9?L&&)`v>x_$nIF3bWB#Sr@5;BJ-XeScRR)Vh6{ zGjf}|lxpeql(GS(=q;1nrLwaI&}LrEC*NB|^qNXeH1B{~r?=)_FF>G1?u@4O{Hip>rp<85bSH39&Bno62R&l(ofv%Nhn9i&4+`@i4P|?aYmA#~qw*hT_pUCe2H0Wo}HOspGOcycDEAz#mAT1C zKSJ-6CFg*{T5PS2x#?)cC(e{l#`DrbuzlTQq;*Hvr*20=Igc0y6=&UJ3?X#-vc^JH z_s;JCBi6=TdFMxs>X*`tJszj9mhHw9v0^g6g7^{L(jN{kGyj`fxBsKnt&%bxaR%nl z#N3-|tISq-hn1B+amJk8$Q!;;B7VGD=qQ{ooU!NQ_@;2w7OsZFGzH_u0$GXtYO>bIXZU-RTPN z?+pV1>Gy}F;oGj*OE)-1RRdOho73BzP4ON=4{F2 zoD?ZPz7=(+>)LX`wNbNwk?`hCS*2M$(h_7eTXR3w#kzBhV-|*aJ$oJ9n{7p%rSle> zK|gJDwC)5qX~@P(nzJV0;M+dZ!!plJ8iK^JlcsaCA^f0eCi*H4dDZAv4Zu`c7acUX zW}`+mGU0mQI^huqog%r%er(ztXREpfu!j-0d=OYmZ&g7Y<4O!VFBxSvnyWaZNi_Hc zK56dtM8t@)jMcX?#s1Qd`VpOC@ybIJ6YNzUa@Lta`}ufuT3>l6+RA&^hmtXKY_(C4 z$2@}q^Yeu73Q>D^R(7jx!-sZyb~ zV6xHUmhu-0!9L)0V_~zdM9xH=?2r2lpaV8gGg~cxxVO}&^fs+*UMDg}+Jec3aPvNf z%QQ<}r@UB|vnfP`HFK`lGn@5v`iDW%pB17`DW1t98yc>8MV-Bj{OM=Os8OCHic3~? zt+gE2ESu4;l%>xHMwMjueiIX5Z1$B(Dczq=x=6+IL4cNH%O)$jA{!qXk%7VEtu0^; zC#OKq?n4RF++wb`wv4pdBqA?Em!Aa&pUHeW{n-T9+S_u~Xih_q`FQ7zHd_nQCK8#< zX~)50K-4o=&79g4A{RvUSrP-C@7fY78yiKLakfqrFl0hsaMHb`z4CV2?s}Scl6AmJ z5>p#PDG2?6`D?0&`C5Kv%-6=-5zUTqFw-(M2i+5Lt-Wv#h~JFw%w+Z3!oh6q^(SFb z%DW)kVV-_@v^l-@UbrNOr(|rVbL^Q*g;nK>mMmF1t^C2V>Wt^{BeJ75d`lhT=U^!U zJ@y1bCh5CERo!EVPb7*N4?Q}+PoOGy2Mc@pI9MutkftLOi5W~^zpGUrqy2@ViMNg~ znr*R?1dn8Y(PV@Sk4U641Q)EASs%j^HEca8%w*ZV<~Wn#h%cHo(U@@@tjMwC$C!Owi2B&8#l8b+(ssxLxsR<4C_16w3YSV{Ukrh|WOH1`LDq<7x zO&&swIB_faCC@l$gDc6+zf$4th3DOA^W=U4Db`+FYXdu}wlF!0mzxA86l-g3kk`IK z6xDseELyC6{8hv5^Q@9nIZ+Qd(-CWFt;^`=DG3z@@}N7rJ$zG#0<3Sb+4DC}8`DGQ zrc-Nl$42fwCwAFo@8B~8l248 zCo=px1V&Y0Z|De2p1~lrO}kxfC`Ci;V0zXZbj3{M{Eam9Pk6dgqmLI&PDG9V1|IyO zMmFD6wWkB}!lNuTgj&!YM(MLGb#>Flt1JbF?He_UmS=sL=rE}Hq%gyZ)CMl^h%XXN zW@`Kn`j)yeyCvCl{zTd;Yx>gINKAPz;BaI2F_$qyVflP%qEgyI(beLuvyKui=gl>9 zP+KT^YEt;bB@`nHk9|h7PgRSJIu+ioitP9L(w&R4lr35uPBlGF)qxg=oNW%k%gy{4 zZ&dA*7i;OsT%;vNnL%f6uF^em!09pLvq(#_X0Xo_HOy)KC~=bI)_I#wBJRYVGKPM@ zFuJA|X=x^Wtk1fiY^Y}_DQY@>$wWtc+zW=68|?aSBC0z2&)Sj@m0f+crO-^gw%}RJ z6!9ymS$@Q&aMd&8XstEcU_Vc*r0dcuFZZ~S=y8rK7j4OMm`~D5a(}nxs!Yi(6FqK5 z`jPU)ETmsw@IZmuGSRAN^8B{oft;tt10ZKMaS4-@aP|P?POCS!WYMu1Zwg(Leh!o2 zuT2#!RbnGn6Jdi3=WZ5ixBLnev`V*Md9Nc5c zh<~dE?h)htQ23g#)p^qexPOBHr9t@{K57?c{w96&e}s>kX!1x)nF0d3(o(jhT;V-W zEE*=xls};qpb{HeYI$BgNr$!6_h?gX>e=$p0XvJ!{xbt) zIN-`QVUv}bR;4;0WRv5%;8x{mOGIZ>!%ne8hDxmGl>?kyWTkSnXMFUe)luvNj&4?N zvQn8-tP)^lm~lGy%3D)KTxS>47<16DjwUzrOD78Tj9r*F;yIvHI(+TCwI=!` zqq~rmb*tOJRMKrGng~gYF&!dhNVLV(MP6VVsEP-o>e0#}qTlJ8tyTI|)4< zJDBiZ=M+sL%=h8n(dmIlgLG$TV;BgtJVhMd?nuqmmWn{H48uJD`xc+OB4wD%;TfK_ zqNU2PImP_doDTJ~1TXq-uN{B1srbP=BciXiMC-}f;4OBPe+;E3Wj&9!BsUOrb`VibwhB5U3LnR90nu6!buCUT`HQJl^%9_^jV zc$9i1t9^Z8G=nD|Jw-ic?5QLsw*PWK-X|T+l6BwcD{9i${mE!0{47^U(cbszT3)j` zUo<^ldFI$DBIC82n)$5h=(g0U!WPHm2P^9;#1@WLCG3VF!(op&G^U2dLQ=em0?r}3 zCqj9_WJYevl1gly>T$1bUTi6%xuuU<=x{%^x9O2l2OP<=@I_jxau)p7-l76{*8tGI zg`+b#H*Xu2wDdP*7M+{4)Dt7!5?5wT&o$>(nxX&feDSVk*5N3H33lDLwTC>F_6=34A=T>zrho4`nh>1&4q^`d9Tx$wkq@~PZ=iFGf<-8mvQxl~{TZ(8wcgxXx zJWx+*ZcbQk;*!&3<>z7*rgYpyiAPOs#+Q!v_H!!(4QW@cNQ48qiAzDrJwA%!RoTx0 zMKitp(7uYmQk`TT&D0m|RjJ@wdkf|~Q>7l3dKYwPv{hfC724wTV0+c8FLkPXYOlSG zf%+6Rz`FI6yR}W!dIRww(Yo6tXxT-}%>ILh|AVtD!I5jZVK-`MAt~wp7Yh*lS5*lt zz{vp!!}d%!OWYoYGU$rv@0Dm$6TJUnZid`P5nbc)4L&O?qUWZM=(d;g6PBja=E3%C z?<+1%TF)+%1W!16Cfu#^N=ra@akrjm;5?oD<{7vXz-O~{fe+H*r@CdNVe(PR)o^L| z^$szol%J$^J@3r!;Ox>Aph)kJoOFa39Y^3vdZm1Y54x{!Mv+ry`Iq`oGd${xS5uNr zJ#%I(diQn)X=?m4&TvAo?yK-rb;bq`RDX|6{(4Gd_nK{tNoXGgm~#Kp)k)4{P5`Y7 zxvv;dh!d_R!rzn`P_Z@olL~u|lOtt3Wh9=CoQ2z@dk6aCHe->^_siP4e9cxnr~59E zS$9q!aQm3qHfvZF?sX&{G1v#ppMhT7Bp!@`el3J$UCIlNAc*UGVf=I*lZu3;jHD*~1xVrJ2J zI^6S){JHrYtpBQt8Tzwx#wu&ZZ^IiIn0s1W`Z(~5@bW1fc2YK~r!N=IrLoX{=^0Y- zq7&WC>+01^^p>lZg-sN$Z6+e;a+~nBVK4d)3hfCUqtR52^epLC7qIC&K}APD9;fPS z>UEfB&SsqHnT|a2PWi~Jo(-C;_Ep|Vxw2mJ9T47Bc4zw9d26o0ag)M6Qi(w)v&xOc?5Fi zu<4JWR%51h)i6!oc|N+Gk@hZwTbZ=48dlZ#_aGiw->*9UrhH1fyc3Slmy=C!szaB+ zXTbAsHiQ1>$)Ikt%0q6(5}w}AS=ND_oeZ7o)BK__&YQwavxLqj3B>Uv$@0LQPh|dJ_|U=uA6IibgX-u~<+tJ-I8#4}HiFW5X?DW4~M>gg5>I1rxjlWbN-*xOi^%GfS1fgs}ic6GuO z7d)W1v}Kzo!%C+xfo7g~&L=@^qsu-~5qSh-w6W%L1Z&M;i#DHTqi<)hLpoqrMoNps zQ&LCt31McNvkurQg1wLvt3c<;RmiFu`3h43ZrNt*R%q@bZoB0}PHZZGMd4}4WpnQS z-sYw26KZSgTns4L9;PEXgrYj{?S*6V-Xxw%B;)3M9X)naN37st&DC!(4daz~fU%y( zz?Vu}R+p`yg8Ty`!^wB%A~SM}H#Z^?S=SaUx+<=-H)Gsuv7i)Po{D2Zfsd*mXD<@H zmEX#;$T|PwEc5Uy@=Q!xuOd&<6q=I~li2eFN~*nCn+0W{7{9grtc2>Iy~fkmgma>% zVvdMeYOi}ip~_LYmfyO@Vs4{!c_0qjDn$?iz`4%x>e%rQb(=l7gf#4Hd|B+ciL7BY9lGd=?Z+==BjGh z<6EVdg~pRAqx3016g6HluLBOb%eM*^b4*&D60M$)#{s)}rR8EoiL@D> zfJTgW7%xrnY%v!jic3~;0z~jhRzA9ERfiUlrx|J-?_`9+ubVk@JR=t)N=9e)W83VW z!n1zaSy)6KC2D4l-l2(M_w~ujjQF$0(_Z1~OBANM!>>&?eWX82JQEq2H$DVXh`Nsk zA*5J*C^KztPq3Or)YI?TYdV6z9<@d~#LNKid5gQ$rNxF)frz+ituV>`=}m`u#~N-% z22@AmVP{Em<44h*wbt`biN>SxP=Kc&wAD-*HjO780{ghYo9R!1OB5zni3c{|m3T0w z?mXx)x1L!GaHDCsm6Pc{(m{I=!_|dSz;xCLGAf!l;PmNsto^syk(ZwsSZ#68HI=G0 z-&_NmdWP?#mHF6)pmMImhDI-b4#e=zeqF8#ALG7kSk~40&h{ymYc7*k(6#zhV=B)v z`A1neuV^>W) z-#(V&E>e+M!VzjxPI=vmxB$YuR(Kf<{=wrPPWv}H&p-8eW;}K5BGu z78^`(=BdlK@UG-FS-Fz72t|xk;Wofbk~#7C{cR~C#7|Y;nmR1Uvl=&BH=2bK+OO2= zKp!kT8gY%f!32C!ikt!HnVt6V(DfinRmfVDB1>`Zw4%ohu1#06p0$6s6Vt6D=vj3> zyE2p`dJS09Oq8E}0JXc{3yvlRy$%FS4@^2gp75HyOkt)>QJYQ_vN}1Se|Dt%qG@8} zngfbz^2kJ*&`<{)7^TnJzw2S*G44x^{!cXNy%zAM!taI}7)rd%E-Sp&0^W@9o-^NO z3V)x8d5QFQe@eXOSx*b& z7)-mBBii$H-S@EFpY4vy=B^Ws8KzFYI%Q^>d|SOOwgsX3nU!Uq-Dj`#80z{qfv%k! zWutJoQJIJN+$Sz8ZD#eV20HXDBh;8>;R-#~VaWA@BJ}C_?=l;ho@nE^`wDgk>P#bmzyh={{0e3_ua*G+GyLDp5(Uo2O96``pbH>?L`mVtql|6HyAZlu>Zm|iA z(McPmTa^wtr=Zp%^B}rY=Y^TskvRwK2F?~UM#VUF-nJ9b<(G>M%;}2-B?#u+XEj{* zM6SBWTeGMM>l3*gHAA>DtjUn1EyEKluF`(|5xfQtVqGB63OhbyUyFWChipOK?oLV#< z*D%F7HWcrPMwIx_)y@Bu?&so%+k^}JLh+ue5-Y7a8ZMk?* ztUVla%^1vn3{q`E*%C93a*q4lB9pKgKGnBM*fPGHHB;^Vftl%VJwLp^Ijuu~q}h zAQN?dsV$3$JZQLySPdwciMd6UJzdlRQ)Jm1GOo<=itmOiOFgAqX0GZrW2}s5o$GNp z<{gWw5IV5d*S7py%bs721bMttU{A%`Upt71uXqcdUiB<&S&r9ka}9aPPQ!i_y#{Ya zZnTR-ZB|kJ9Wc7RJ*IENe%KG`tlDWtOb~M__C1Y2-7mh5wA9XV+=uabP$*-Cp00|t z!LIO#q-TFLrKg(qNHmTB;Tya>^!BJA8=Ai=ic9{wlWrfq8(6&#xl_-(kqwpS5$49> zj(7Qq6BWIHvxO=CqtSS&pyt(R#)(?hA&*MK$tlAu^J+9=D6=+d7vZuzLFJ}J#Lb~P z(zQ{Q9*y(ZydtvsFj8h?whr71o};eo=dkjAOc?}7twH4w+22QtRc1V2`e~GE<2jjz zvBPtQ9fdw%SrYOssq96alK#rTbX+X09J6RNtcjU9U7rbM>wrN;Pc9lwWf43jqb6W@ zu$GitEE0{vB8d~z7`UY_r?lx#E*_SUH5ex#g2{<`azIo{i$tR-%}pv#T1Q_REy6~N zL^G8U4IYWc!170Y97B5i*~Q|S4@c4uppQKjx{PryEw~X(mg&+Qh2lOtqQf?gK7M6Z zz@<4}R%yCUTOS~2i7InQJSF`}w?f=65G#lKrqjU9jprZSdZP6>ZCmN9Ok-2tb6nLh zv3(BMMsR48Y2*(X`Y zGtQMIW}Qy#&hVL+BaL#_B3$#X;VDfRRMoqE-Nw>dgqtI{j+amE#%ukF;tbZZHqRQ} zKC6)6PdLOnQ@c#VF~ywoJ7HySZmh;b>m5eZ@m(7E!_cF2bsCcFTA2#ej`~VHfBFL?i?Gs0Zwc-2eEA?h{uI&nV3EK|T?U z-b4@3%08_IRNA~FO4C5k0!~JOpFNooo~&m+DVY_qfxGdRHmuuj zVz?&!NqBpPaW=mz)5q)XF?Y9RJx0ic!?&t^gHQ82HkvHWo*pq%BQ~0m(Z;ww_VI$p z^SxQw*doJb7#)M!gr$N9OBX78iwp;|;?y5hM;Y^g3t45RD$c~pqPR0eL7x2_q*t$oMEkT zo~d-lCjfMNvFZvold-EkdV-Pu%L$Ua5!SXsi2p|aQE_oc$En+QM_2I*HnK3=;cT{! zV3TER*u4)=B!_#WELcK(B%`yUX*h~a2pIEKv4QGHRZiCwx*l>T#>z6hp*nlWX4W9` z{-c{EeZj(0-=Z;oPFDJxfHLE(BqL=S%oiIjkfUeP7?EY#)6N#B8!)W9>GQ-onOG&8 zbdOFyr9TEu^*!b%klIqiZJ{`07M6;~04Z2PTtmYX*(WsIK!ji4X3UIyO%1CeFh>AZ zX2nAjObRai#Kx@eZI@GOKhTy1ddm!}4ULl-j>cH%fJ+sPtrm7z5_mRa#Z1pfW-_L@ z2sVTA3_q9jPUmYNpKkaj*r?4hersV%<2+!OIJ1R@ebT```ayzxEAK14eHOunp^@&~ zU`zS%lVB_rVER?a3K3VY!GQm1R1IHhVLMBa`mmgdDn2U^En*hA#(L0Y*Qy#V&2_3; z*%oTy&x{J2>m@N4Tdz}f5?IV6El2Q>!3w4K^{UEZ*2cB?$-0wqV^?M)-FyZE8f{`t zSeQbmvfc*yP6-k4@J+7aG$Z1ukug5J=s?QLH#bRfG$-YT@GgI}9$Ir98x*~#aDJgv zDysu73%Ar-2@6f?Y^x(0frl1(O?2*+up#oyx;vEup1g1DzKZxknXvxO$kox|b`DtAIALL=OT=wlGl-!TTm$ei zqp(|3e=E~WX7H;-QB4c^QJYn$I{jniv@JZw(x*^f<@){|I_ zDAQgl-NJjB@$t#RA#OGl^^k^Bdz0v?Cxv4$rf&jGq=oqrXv(3qD>f7r+65Xa0>E{F z3&0$77-r;~KqE9Q^6Xpz&YL<6c3Cs(I&Gd^fT6=Us^mDK>>9hYfS&V!yA z#~!3{m>rQtzX;k~>rRoCT&rZ;x-|ErSD9Cg3m7o7Hp!O4=c~a&^o-}VBg7=LeAQ=y zJ^E@;Ocic%>37uZF<+!W|BCKC<)UBpGc9~~xrR;9Z_j;LOYulE#?h>_WSW-#Ni&{6 znx0?>6V`hN%H(u^q^2TaPTr4TFLtdn#_}lgE1Ao5_EVPzhnTB{W1#c-{qssI1fS?p zg=WEm9WXvxS~}(mGlMZ{0Y|`U{O(zzNB8Uz$zboR&x3)E7kdKLRhe!^ zS1La3qG(GRw~TIfbo=#pfr=*xgHkxRj4lf0I=|2;8$H^J5;ScYUF$TQE?1;=^8@Q= zK?~&~%v74n<_OJ`7Ssi&+-CECc)H^z5vzi&zMRH1HrobrWRwq1m#h0!^MI4tUW@<3 zgk&CF-`Vkw8)|xHwklW2fWS$93Q?LH!qGIt7ypOJ+&Z4#^^SLNsdJfs>tC9X{p{gb zfRD*FEYkSrgf2kY(^JptctUA~pf3Sk2FJ4OU}b^S<8d{2au!hrmOjdB{?HJQ#T8Ln zt6XEkW{!&0S-@3>12$4`l8jAQ=jo_tDqMXsJQo?4-X^agMy#&2fI}skaParEOi~4%%(Id?z?j4=kd&bslIQldh zE67;SBRX?pHnh80_o**wjsj1uL|52k?9`_7Z0P8hte%c5$$0yC#X6T)N_^2|b;jsQ zDv{}~1qx-(xii&tC0kD@(6VYjT9^XyjUG*tA;0o=M4GQkkVhkqM<~otc_X@I?Lw?Y z@nh7S6uC{cp7dsfO>YrhA>(*HXw&gH2|55PZ3*2lC-b{Tf<671G#S>l4*>_N&K)!d zp+3+Nd^3DxXDCiSHyB}<`@_LRg#@w`V3g~#p9DwAzHz=}*$o`TbF#6Wdd6SX3EEJ zA1PghhgoRK%l-(ipSRJ+&+Fd=_j-J#4E2)FjgiH}EW{kEevYlZ0c z-0qN2)}|@rM+#PR+wD8ifyY@|j@d*N1fvsq%($8!(;H22-&GYK_qqvPMwEFztq$ff z*eoAyHFcJfR59f95N;aQ2ux&%QRl9fMUG#3VS|=7O$8yZqg8g%z4Kug$XaLik_hz2 zEi4*Q{vHmB>jv<2&1to?-_SMh&|Rr3*ZfNw=yAHFE!7XRK)N;8bZ&H|6K6#of~Ve< zJTQHu78Bx0=MJ)ZE;leU%&Mk@PeyzYN2j)3kk2Y+%ysSz}KR zOWUt4BnzKx7g61g`#4NOR{Q92=IQT~MSElJiAlhu7I1i*>QuKPL4U@0qiD7+`?-(G zPAN~a|FfwbU0$<>drcnsy*AQwtS-1J6~J=!=yFeo8qy(lVhEArW%hq?Cwhgr^S z1@kuI_&n9EIl2TC@a)7QsZfKs)g$E`-t>2{qZUP_%Q}s?wuv5#H-6U^!#`U^3~W@?Gluhwnm8*fHnT`0As#2IwN#~pcBEOZ z^L$|#QO63!g8VUMDxx@>q>=%_@+>#l7%n(039O2WYs%*|kKAdfFA3y5y*9UcS{6TQ zV{(IZzybAi?bWSG;6!_?G=n;5b=bsOE#EG+&3AQ%MWp6>Q4PWx?M*_NC+%ov!@;Ay z(F3#3^C<^kv{zXWv&x6mB{$`Mcasx@$|Wc+C3IDGF*8kmm|&l*`NtWjpYJn zK;8A-sUlVJs46W_YIUMUfN{ouB_+DMg!=bRrin5FuSOr|nt;RpkT;)ZI~ z6OXJS^q6W()gp!F5i32sA3G@+(+j=up2|4`d9Ere+!KVcytm@hXw^iYvCj&F>44Lc z4leY887cbrTuO48&3J42u^nu@Gua10yGQr6?2jj?epq6$PN z4!syUGT%yi^IpLES!WuLs8Vh&y-ArU=O(IPW?VPAF;S8Iq^a7MFWdeV`=*~$KNHpd zl%|$qh0Y!xzuSV8{-A=!|H8wlZt9 zSq$}SjFZ>0ff>0yy{Vn!`~I)QgicvYBs!n&5GkR;rmZC1j5;lLv?o(r1$g&n*=Tu1 zpX(e-o|y-2%p6~{E>2Zi-6WWM*TXL|VY61B`iyikwHfY)*T`xEZ1iF{NuBgtW;MDl z+Bik7&8Kcz#q&|b1}YC4IX%?ge41pPM^+;%AAT_uIk8iH z7&ZDV8>V0x>rzn$nro!C0n0Q0TLGlg&rf(nWaipl%BjlW=WH~Ts-Lh671q7?ezbvg zn&Gpu%RH~Nl9|R0?xgqdQ&tiM3eT}WG!uK$20fQzbcsId`zdZrt~>n^LPmcnpJa^3 z6A?oA?w+8vrg-*#jF?C4t)Z%713No!m4BEloAxuf`w%_Ti^3)H5<=hUB?I$9T8sR3dUS5$R_MfNlA zD&Av2cv&$QfkhRj;rE%+Gl1TOqKLFu1eQ$0R9*jB$)+yYD~4PI7L}Fd837B6HtSc~ zVR36fEmt*)aubtay}ChkFJ7tgk3h-8>v4S~S(Qg<_ao617EICg!q)GO{miADOhx+(0n$GEFG+ti`|av5domQ)Q9&8?y~ItH5Gimd7!jK7)<}W+YdA#c1d` z%%2`&U2Iy?U2Feo1XFj8N}V$ojL2wT>rZP)uTzx>g6M-5W#DXA2seZ>Z|0A5yR0q< z8di=`Ez{j7rAJ!(4QIm5Ydu4FxPPt4{qwX4&l~$rk02lPe~By}DCL)7i0JI}OQYFA zj}2X#avT=}ounR>MZw-r32xnJor3jXm7r(SD#}+dy~_EiEJk_s^gHX3mAf-ESYbyd z!35ZO-?v>6$h~)?@~q1Kx~EWjlnxA50|sSTr*gIvNlSJZ!l)4-K}=$*6n(j&`3~2u9lE6E+{2EZ-%Q24+vhR(A93 zV+Wax=MG`8;FgF@aISr$MVjM)VI{7W9Tt^-PNL;yV>(#MpiSgpw<1q)&)c0B3Q-O9w5qv$R+0RY_nvfQWBdB6d9OnkAy5sSMaxxZ$!<`|wJ`o*FX=7g*&BH=ZS%$*` z3)pSiQ70264Ro1Bdn9{{qh^}u=d|Zp5m(+2fzdjB8x?{07=LxZ^GXGg2s11K2W6FW z-Zjb;HGROWO7$!P2N;ue@~8}?+Xah_&Q0NH@77f~yuuT6z&WYFw(K@-7CLnV9887| z*v&n-#YS3bDnGTMNLf93*6H%tYC~!11>D+D=G45SyKF21$DlJKj#05wp{I(oSc;m80p)_HAZ{D(b^lnYlmX{yq%HB5&lR zm5)AjD$6bI9|C%JW6?L#z?!;z$`S;wF*GJyYiVeJ;d7Xr8SK%uZNPyx1I47vqE4$y z!RxJ&Y;?q08k$wZ)92ERG=G|2MAvjie+R+p5~^PB z#e}W)36+#Q`bJ|qO9!3ZYH8CqTooN>V^ZCk@Yew`<9lVOx7R67#-t2&Ehp@l=2{s_ zwNBNBg$a4V6Q=Ba*bQvY`iygMlatSM?WBNx*{z%L1refW*iSSnrs&+|4aN8ufiO;W zreAeq++uPsyYO_2WABU%+TbZh_g}?K#(ujPblKq;jSNh^lcWus-C$bGusq}Z1DM&H z9L&ageu#8qNKsC3{CY7aehz!hR)7KuYS=`}~Nb+y7T z7z!^gEW^SZ#I0ZMz~lkbvW&T~44X3KDGd!OGWvimyD~S4V=R&P`2lP1$EJy~n&?I1 z$m*=?v^1|EF3TXB?zLzf&2H2kc}vLntn{Rf$KTs1th<0KGXxo^d%>U~`|m&M{DmhS zw{f(h%am6)B$@U1E{f>nfE@>%qsFu6-0t2>I#qO9<0-yCNd5RU!*UjRgPA^k^Qjr> zCfy~cu&`Vg-jLaWbHuO_9M8kUmAx*!nMoYpW?6W8AF$=LXKeaLHd}pvK0`V0;usa0 z-dq%wf#xCLMTI{)L#ti;fNZ6e_sNhwQXp0A(VTH9aG^>+- z-*}wvco|aBwO58_Bu_Vaavoo7W-`!gVJJFNea^>K5jHoC+%4=A`Q~hVj}1+gqxtkO z6lMFwTQ-OJ*Aoj(=h!>29FFh}T}c`FMHb*F#Q4pZ}lZ&WrNxj<#(-5H=hj17ce>DlV3iS(KAt3z6h0kR$3mgVX?w32iqdAG@G*1Dc}tws z8=ILLv3(IaCZL!;@25mnzmvP2!A0XpFi_{sI9aT?^aA4ox6;oNv*K7Nq(;3zn;k0P z?^TXrE8Tbl6_PU_n`S3+u~3-2#`2-l4Yd6muJEv1z!5E{{}CMeS(B5WP~-Axf9t)_Q^5tClZJ17{pVp&s_uEVBxNmN zB{=b|*rH_Aa~YntkgXz*B`3a4^lmZ(Pp!Fgb)Fa_$-80OW6)#DC5E}_G@*tYj}cln zVR)86Y?!kJT`^he^X}jQ>wACc?6$@hbmep+PtbMzohr^^hjGif!mRzgFaanZ9B`-F zyceBDta^edUS**=;1L|H1zeTsH6Pfr==mogUu{-hu;;oBV#p zh(aya6J(e9S(QWB)I;e~Q?qU72B#y=1Cv&rPt>Rhcesqvhr@3cs1v7fYgqvptQ#T@Ax z4jG!l8n9(_MELiu_Gat3`*12Ou<1kA!vM}gvyT~d+r5Jv^(GNzra8~nK#v;@2OTMo zTqPnhBkIl^q-?yO^GOrQO(H^>VI#?2j@q|9b=`LLQ~l#~$XOKLQbD#Ox{E>CX9x*;r%z zdBrtoUx204bSlx+rgVQIFe>kr+OXL^U&yw?jSsWwikhAUD~370jID9NtVb^gG{6GR z@K&AST2$uiAT%%U*&?}Gi>m)fQ)v2e<4Q;b+=#3#9H$y^I zRXlMaL{2TP8<-KmNw1`(7vD@-b>-jdVa$kdyLy<1tZ}7YY8Ez_KUKmTekHALQrFV! zM9$LJT1n%K>hda-@xEOtot?QTVm@-q=g=nicnaCFD(P4xF`FUW>)iN|GUk0;DZ65` z-HZ!Uew*OS)1M$m<``#-6>~;|6Ae?_IG-MQs@ijt#N6m(_)e-abv!%41x?Ouk{Bis zI@TL+)Nl?uyd$hONi2hQ{u=R@tciKJP4r0IBr&f@%V?O9V>S%ppp~AqSvy-B)z|qbH2Bo6W+JAs&gdC3BfmI@B0H213!kC; zKBHF}{~pwntby~YVgp0I*kkZ_~x1dFXgam|yoP(`eL@DVzSScG%fk7;v!ge_KFD3zaB zF)bqcS)+^g^gUMW{VYf!OwZ{hF+Q^?V#>nAi50u0d-8xMENQXDiao4xcC*Z)qc6$u zWW-lf@?hP& z)U{wUWtsC~NqFJUKI-~~t4IEUYs#(uX!$AfN2Xx73nV_pc}bb3a?uc3bZ49gUJ})Q zz)%(^7mpGE%1%AHm}Yo<=ha|t%YiMj{SLl(c(I=@W1ku>9;I*xGVXGq1NGD@G*N$_ z!cNc1@yl#r<8gh^Nam&>GD6P85yeG_03lhCvvrgEAvNs7a$}!FFHA^|P$;-#a!pGO1 zTNwQ&BjhoT`;l8r`q~8-1#>%{mT8t!mN+| zV+xF?H!y;%z3NsBon~|(i}B3(Pd97V00YCUb2rH;tH;iqQ63f>y4$S4uS4IEj>nYi z;hEA(rwl&D)1jXt+u|9M>vGfzhkNEn#wv?}*IL__QQ8N3Jjo;BIipj!&z@{pa_4eh z4nG4wGo9`6M-LF_M{lUUrkGMq3s<%^o5@+Q8kyI(Nz6-*2fvX z<+!^D$H{RIW`+k`2D)KkbT(P;xaHZIRd^VRC)}5V)l3XLkEy{O_(PT0f8OS9a}wl0 zH~#2U7X2HxRUCU&2TTu_41w;ofxCJlK5+F^R{YWbJU^c?Ha{?7*8OMlqkcK=K6$dX zC{caDF7@sTi|QKS0~f>XkHt&60A@g$zi5gNOcyQx?5q9Pf5rO1QC;(gk}H1Ym`D0F zbVog85;WVk8pTjiN0cg$cbUBlfyIpmOq$14!&381b~C$u(>>eWMpuUeIedr42ca!- z?=~KF6u>UU^H!*c@hx&6)ll4In>__?656h_1N8OsutN3BEZy1Ax>BFKH!Bc#in|?+ss|f%5Ep~ zpv^O}deJnZibq;6Hl9OKc$2;kHCjzK&rfztW!Xa|-GW#}&xn|q?{`Wg#A{{qY2*Ud z&n9Hv_wQds%tc#8!8gfMa#Wo$dl)@=u-@HMzLpAGwb!X7%eIo~pxF`A*h_^qWw#Lx zq`h`^8M9W!6K%4(BYN!iceg82m8;^(DY!l>T6#`ArGKe0?i|V*4r=gcbtbIOdCFd#HYSNhp zJ6Y!J1b@KkxY>NYqb|SEV{*I8A09(NV#;r_%DCR?$nt!1V3kI8*283*i>HonbnBiPmFUZkdm zdiTD^bL%*$v{va@-9z4bH4S+{f3LRA(9P$LOtSS9K&MUT#NT_^90?204_mC9@F!V7 zU|F{Kg^89od^jeb=*PPZi`hC33Ox~i(3~R6AA3#;+&Y}ah?(v~VS&lWD`9!K0h`#G zoyxAe5>a7&#nvi`<(t^*-Rj%JIn((B-&<9!+&paM({3kzI8_w;pgjUHwP~$}Ya{EQ zESULL0)eHq!r4IFl7sP9H4Zpvsb1M!ca7RViD9Z3^DwefkJfQaD0AYtT^ekwK4_G? z<*KyO!HhE!L8gu3pgS3%^|Xfw53A4N<3q+X2_nmp=i1`jX_nuEwj+`KFn{G>eC2aJ zQ*GZ$1TCqoyYx6^leH2$mFm+v@r&u?YZWI+2!Eoq{y#!%QSi^f#;b`(pPXg!uo4CFuOq(W@G-e@0E$M6&z$ovrfSQ8ew_e*Hu95 z1qW@KGr$rRVSK((ZtcF@$9hENF;J9aJmn^IJH>kgLk=DatH6SdpY?PPzuSW%Y##0m zPcYY_?J1c2yLtp!fdih3q+#vZW@TD@-2y{0l=sFoO56LUy`sy$Z3r2|Lvt10LCsDB zo6+Q{g-k`@>BIDFNxAYkhlL%(9RrY!`bxa$9_tlfIZ%BXZ_olpKJhFGtqpD>v*u%h zYR$m!`+QmtQ#*WovJYI<8vfA{<6m(1hIxK)KyCV?Cm-}9I=a7}?{pgTnJ7ZoIAZ}< zqHOe~Pa=jDcxT#B!v!prmHgk}zseQx434Qfh*-eULFsEusb;!$U+Z?K?Q^Kq4D$LQ zP_X9`8x^eCcqpBQx@+kKWtn5c#CbNovbn1ftm}S=dz)@+iKl-p^enCw6 zaT}&w*>k|;qzQ}E+Tq^vBeh!fysnMWWXA%YCQJIjhMv|Rea?|TE7DnKBQuNbJYXMb z8LRm;^zjcoU4ML7{42rB`M_0~fB3?2GrS*|>_4@3`p+`xel|rTtDX`#RXMd)x)+g? z_fXX>iC0!pY?%VjUt~`5sdUeJGy-dQl@@)Oth$V>jm5{JZRKSDy}Vpd%JpPhL&m2K zUff>&_0wfQRIU1Q%!G~3bYVmZmsH6)Hmg;!+$wIo zNt5-i%TG;u_-0k?mL+-WjL|+kU{d9p&8b-9N#hO52Mjo96uKRoz>MjNn}UngnW2@&3X=PL&q=jV{boOGOkA7YGm^>g5e=_;muI2q09S?C z+&n*pc`D5V^^6)3M6MFEtJ$B#T;Aw@_Dc+9y;Dgu_w%Iv$vwM@S7Vli8FwP;@HiTC z^o&VQrq-?1y~1gf^~Yle=?=ral5sSv$gIq6eJ0CkXDT1D!dtarOJn*(;utTL-@#td z3e^i%h9?0HbzAuJPT!!kU_F9`)A-Twes79QR%qRPvGJ-rjUPqlQ`#X-$k)aX8k=$3 z0ug$aS4f9dZH*u4HhJC4h46E9}=$Qj;vi?li4*bH~p!3%|GmT#F{kAf> zfz@PQuvO0=QlgV@`M~nT{2?d$kD>9q7ahCfpT%A5=SEZJ_q-EI=2w~EI6Z1nc`F6v zQF&=;FQe)Z%3`tXdChyMGP5C`{XWZC0txfWtN{JG*9Lf0-j>g@8o(bX5fNA9P5GPs zAjn1ImAanszEQb@*We<;hKs}-ZEnz0Z5xcJyLL55LW{&37Rm%av_%-BpOJJgS#1)p z<&@vqfG%akm5{=n<7-bz6{_y{8Aeh0tn7ql)*gGrH2n#dUp3; zbjsv0jmK0WMu#f?yuc z9>+TBEeW42cdSZjvF5a^xEwRVN8z1{SVh{XJE8KEHKfAT#St@%4Xg(0qhr$;XFrw~ z>qz4Qrd!9%U*B$ynwFP=T1?k=S{p>i{V^N*JZHJ-DS0kf^U_mcj|g`>o$6BAtTiRs z44jP!FGs#f$!g`Mm3msc&yC0zG0*kZ(VAJnK_k*Xu!A1@vxhu?LHY2Q$jT?vc)(q@J9(l=-*d{vjyh z1_F?bE?m<@GE+-+ekS3@`M_P1nf^o(d={bBel%6Nbzg4dsCbI^L&K^?v&^(q+O@AW z3HXymhzM+&B~nF;Lj{YR#7&=Bjzn&nr3=8JHrcX%q$pSvax<@W0uiSHxu)fhpUD%R zS`|xVsNyt*RAjeZ$uc9Uj!m*uxY7G$wk^XRb}?3ty*ytT($Os0u(UW}c@I&WW{J{} z$F<=Yw|Wx+)4sabY9=g>UxXQLbHMFN?DcCsHpgwEpNk>G8wCbq@6J!lypg?j3-XB} z$H3HUcYcQa3kxPeiF`S5MCIC@KNGY*UF<#by3~fMbnK#~cjwu%o9>V%uV~q!%G^au z#gu=yo>D5Md^URUGf=+%3-HKMeC(#^<1^0zd&X*fgF8^8V_*v(u%3!7q?K`2xH8H7 z;AVuk|CzfGYVit>Pl*)r>S^zKnwyGY z>;;RS$&-Pu%nHSw=o!zDX3{CgCOc|q6>$PPC3#$ela^`N>~Dzb zfKJy)!}C3XB-%n7xC2K2z}6Z3GnSFR1TwColv#+@%Wt@xaj%#E10zk=fAr%O{>vC2 z=J_M8R(Kw;37ydkSaScy&QH4G&u%aNLzkPy2W~^upV2b!pNm$=^W^G)J*_aP%-*{D zRT|Za?`6VLdJ-@6sm+yTM!4NQJrC7A+t9}?7E_i_22?sUL2epecYZ{7EyWu#rlHSe zC~8aIR~2z`VyWH`#jwsia4!k(j_PDOmg)^o6`$6RbQ`nRpHH~uqG)ATzZDjMY9=oSnd32dc^v4_Iw8dv||KIZr|<1w|cfg^{}@E2%NpNmeDz>oKAM z;i=80(cB3U9j#eUeapz;|rz={GK_4$(|lFsRdzQDNZQ( z*Rw9vgd?t&HN&b6JXL4o{pVRNny!-7sNmk3(HSwvl2w&%l%53k)G%Ykj|z1xS(&sP zd(O}fde&|(QZPRi4lJvAVxmmhhV3x0zeK_qdz4Qpu7zPG7iwA6=W0p-kCYYdnC=A{ znDHZJxf-;%qR;`=d@m+tf9w89BzZH^+H2{MyN;$0dO`HK~Z8}j)i;R56 z>CG{FpTd9%#nJzIIuO?fY%0TS;tbq6Zc|7)44DTVGZm>#oXJEsapoDEDm(`eH@a#q zkvCK56e>(skHaAfTi=R6?b-6UKZb*g}jjl7*GEO)1 zE6>oYyVe_kb?5PnAXuf;9o4re->?YL=j{3fGgyx_Q&eE*7p!vN(`MW~>5mbYX~ERq z#NMs^rg17vsi#1`JS{30bg`rCV@81rMeu4f0=%)(i$0=K{x~)oo9Bh6o$}o(gYN-Q zKkqg-%@t>cwDrR_8Qk*gQ>Zdp^)rM6 z_>`hgcCO&EwwVvy?OlIteD0|7qYHUw{#hst`E&QMI0hfqpW5mp{^Qd+e?dD9N**lD zxG<{IY;u}eVvX2O1whYL@*ZPhi4Y!mZ`g|Q3vbh&d5a}VS4%<{|h3E z&%h0PyKeQb+MM*h9hgM-Tr=&=&=!ScOg&Kt+#LYxanpj#{CkCDG*xZ#!!M#E^Lfdc zk+hgUroGtylr<@leC)I~ThLvn?M2|0le1w zYL;Jikv^U4y0DG4bRq$6XuT?j#%fha$jFWx=B;q=ON&f!?)iQ-ql+hlYyhhcnvkK^ zTvwLV)<+wcRXtXnfz`eoIAQ1Gwx3zc=Vk{1m~&T1yz8q()UVvCo%c;zS(6hRx~fg~ z9qJi_%D%r|5lBw_Nv!MtNOd96e$xHHs4QG@L{&0wU>|wM;TJ`-?(iE5u7-E+){#;& zKe!5sKWoH+epL2tH7KhoqpmiRmA!&Ha>71QszvzNqm9TprVVVPQGEBJX-RXhu^ra6 z&)ZD6IzQXBZ2aBRh=HWF9Dr7QI>lz(pL{=ww6(XhH7(|GMv>z9<$^UnYbuLrG1lid zQ^UGm+%uNGfPtj@0XOxBt>pjY>{?JHi;dWgn)*qlI$CZY2zj;xDVXE{Vs>|W+qS-$ zKguU!K5z+~KXwTDPabp~kpdR~8Pcx~W-s8$#CNwjb2)#~R$M=HnZZBq83el@zDQYK zT5K3@ZQ*&c$TBeN=5-2ztVN|LI9-Qvr>Si2JzWe zDH>UQprbZrUCA)inZAe=J~^c>o;!wxv7dHvgn8B?Qh2$CaMMB<$8*WZ@yX6bq_9+t z<=td1Gu%5yjAeLjCJbdGbX*vj-Z78CRINd58byt_;@EW{BA!+I$jqM2g)!)sa6X}Q z?|4(^k?`C^3Lgymc%x<*gE{CZYCY-k^Y)~l#{bAEqVFYRayYYHGK8wcS&ypnQa)fP z$Jc)Fa6}(FnNfI0Zi0eltp^A4CK9^K8Ts~mJ6U@>I6}|~Lqv7fbzu-Qvx*d<#&?UJ zpQ+%gd&lUOh`k(KH51>dBX5fgJw78%b!_OV&T)KBNhLUy&zMpUeU}-GYM!YU$QX`# zWD2jT4W7xCjss&*V=t@PoyCe(EPw)MYo()W-ZIM$*(w)^RCs<@E0^qXc6F(y7ihB# znP2oey6aVD5|hnYz=^QxFL@1P&RmtE8$Pp**wJmGd6U;^+3&8sn}=`7>)=$MK$+90 z`Uy`r+iStHP^$UB31jF_CvDabP7B}z6BGQ~VHx(*n4+&%P$mTqIJ=|Q4G(w!gu}1r zJLXTf3-2FfZg+;%CZFLx(mb&(c)VGitY3RGXP!@WV{!||W{J~%p0y!W-D_YoH@hQ$ z@YJN|Q-7TPdL>a4OKAItL3G$XXHj9#giwvILaYB0^0yvlvd3|gwdtq`U&MkKGCU7D zS;^wt+uX{ndfD3)7#@FVh555~Yh%@#%}OvCoytSpNMyxb0g3EHZDIlPF;m6Q(%p%h zwKNnWH!s1I1u70(Wrc7)v-B2|+Qb4kcoj|&CY%*<&`}b=?VO(JsZ$(U;Tj&SkrR9Q zGR7K{C(G6rus&$7QnI#VTJ#o91kXVW_k*tCC{{N?4@jJ^GL@q&ui-JhoVm9zXY+1W z)mW=|y|Fcn+4p9nqWv4oa`u3Udm$_q==Nd=&jPH+46sT*WfHadE zSjwp6S6DrSDsD0@BfYrS{8{HEUz+2Se4Z?!VJ%=+psK%UEYRJ!SCh!8?%1NSWypIO z?9S((D>;z%U~Gti6O5HN^bjY2y10O&q^|zJ(P{R#_q5M%irGigZ)7MgHpZQ`VcWXH z`vZ@q5P$x`r{j90?F zu6%~Ji_czh}+fss61E**Y^>tLb~Fh!=l61eTA_IsgBVm+!6Db-=N_d)||27 zu>+I}PJd)|BgoAT&?8DGs|gWZJZPs!^_ta;nG8F{MWy6CqI^2jt2f5JI>v5RGm`O| zD7sW(y*BdNt^M%)jkTNdvLDR$=(Uk|!i|Rw1r5o1#2xR9S+`HqL(^aDKCNa-*SM0% zR<4|V8r(jC+Bn%9T+Y7T-0Lr6TmSpkR#KA3$wVN;@rSgp;FNFhKv2NPx<^l@y+=T} z96P*P?e)R4+&lhOpY$)d;F$+*CXjz~tS5hHhY{bz1Io&}uH7h6p2-C*sO*?EORy>H z%lZ$jBQ|g+%svl@rc2~p)?dZ$S-{ZvjDK;_DuKY0ur*F&%Zn<5evB{KrOtZ@Q5eGp zww%19_Gvln$F(TVYDnm6;IQ@yYdjN9U?Latdt{C|*|JQjp4*LUu+R`+I`m)zhWy(# z;hS^#_s!^xJ^ZN)&GAFlbf3aj>nzt3E6A|+g>=^tH~Lr;Bk_r?ST5D0`nf4;$U8Qk zMBdzFCN)}w{cu)c?t^^Loq2tOOSggjf4VIE~V$c=JG zSCsQ4SJJ%H2kj0G*WjZnhV+y5@d)TCgqZ1JZo0k@^ofsh=P)1~bb7QWH_9CyL-1|` z*YI^LcBg^cHDP*~IN3*tR)&LyTgg_^-B9TC8$GuU`Hf;kOkpo<6%*yhR@G5@lzq7- zYAtMSOHluQ;V}UXpBp9jgPOlEb)V>CGC3LdLmmZhc)JWhZk0)cT~JIzvihljB*>9bPOZ7Vwx(;OFOQG|a=fkGb_4D@ab& z>BkKVJx}?{2r?FIL6fDky=pE!%DNP`cQQ0m2%X%au_|?KU7nM`@*Z#N@T!wL9P7|i zRAoIWZQu@9-~(Hk@VEMV@83*%=^U0CRz3Q*b-L1*!!lUnQ74zTr`m^WTZ{>2zRp&aCFRZZg%&wG3_j z4CCU|eN$T&;yUPncCSU=)*w2==C#oEbNB34D7N`)l_6*Hk>v}MkB2Tr_#$t2wAaj2 zjIKzp8{p1z)JmMgsOL@YteAt=4>gz#&7WuXz0D;fJL|FNt2|=k&B0QYp9T(*ZF$gE z*e&|;YkFDu?fw|+%;&HT%sPKfO`c-h`bmmX9dI^kVkOQq%oX~Gb5Q{NpvzGnvzAJx z$A@S}K`@YfeTgCkBs9GE_&erIIe1PUW;W zvL3NE5gxhk7J}3D?=S!AF@{}*yBnFg^X7~))wkcLBJw59YaHeqI^om0<>)4=JMmEG z<_xU(5_E!iUK$~v=y^@{tbVc@=u^0B(%AkOWZldZ3wSa^`tBGqld2!;ywk_EfV*R; zyw{sH@EMUNJh)(Erd0VQ@zUYWD}N?fE^bM@DRc3B%1WdEBxQ|_HHw$RyaVrGr{!bn z;&gKZE9JxQxE-?7{`S1&Z^U%=AsC}Z7SC*9vL^ZewgoR_cLT-$#{afWzi`va&Na63ynRYH2W^m4T z>=|7%alnNspOs6toSvF9&@PF2z-Xv8A~}#!p632$a%>KE*j3K8^e=?zlPs$m6XF?X zbI0txe;^FUapN{#^n1gZ&V<(DzvO%hd;erT6}o4hV%R?Wv>U^OZ#mZFR*_Hn6w-IW z*G0vNmVr~zZ!->IDs1RfQ+!P0;_cxcE8M4|@xj?( zMgJ*0l>ABUJ|}o@Wn-MzG~b&2(2V#Bk?U7e-9Ef``N~49db8Zz~59*>CID}D&-s4x84rTu!LLQbeRq0_w?~lWiPC1D$8+vrfx3rGNYJK)GXkN@RpTrdTzBEisij(^<#!Lss<@*+=%$kES13K8_tcF^z$7;(p+pjZcCJ^V)Oqzgu8SUApCVvq@rrrU9fbf{CtjuSjR=rGg z+=5_u_ghG(9++aZzvT`P1^?W>#FMKAN)7%)ZR zX#mNYeG#=(3LI)xJ{gZ!Y0#4$8?}m1*qpXpFPK#xG_yU@H)=J6GOJI44Hs#3&|s;f z*H*doG@iCxo35BV=!WELsa&m^+pTrcL-hI)dqH6DyV`kdnRU}t;ek1^C7K+3HrGRl z6+Cn|9B|B_{-g&ce&!wM{=nru{9E$K^()IF&g2d|;}zLU3G)SfChc!1WXk@O=JxuH zcjg^3%rWJ?C9neOUS!NDl(KHa*5>f&yBe~s+QLI2Q|f7jW2R?5 zVu=;GZuVF=b8aDBOnBiLhL*C{^iT(>J|7e+Yl;W$j)H5WS6$WaIO#Y{lJSI(pd>eX zwLFqIbFkA&;3@NPCf4*&Hq7&sxMooX9yB$AYok}KvfT5NGLvSexabL2t-j=(ioR9W zK9I*n537cI%b6R;^3*gqCisNHojI%Pyw3tABXU}*Vsvdq-k(S)h2{@C-vt((V9Z!#I{jxaP z8Cuo!oD>mBpMKoQ9wY5_WuE?-lRYeKFuVIxlM%J^_-do z>y@4LVO8>DXAwj3fSXwp+z!p|9I4N$mAa5PXqB_}ho*&MfU~D1V4gJ2q{Y-){8g3H zM{^O8eXt57W)&piW$2USAu9SgF*~PKd+k?3jQ&g^h^e! z(Xg(_gRZCm{`3U-7re&=d~h>OMgHyK#oxFa_3zWVBPx_}som<%@(nARnSaLYG1hoq zYIoYZH*m8-o+y!_)sI0093wVxWJKai5;pc_2iZ$Vg#=0UhHb=@$on&c5qHi zA8>=pKb?DtU%Y2ujO6gN0AIE^wh%*u;_a8GoQfI;FV!O z+}mJO&wrPHy&}tbx7%7d$;bB8SkkBd^BEJO&J9B#vLC4gR=q`un(j_}c6ebSe_T&K zHCm!Xlu%t%b}R6~K5zXrr&U+lfYB?Y+Ay~p#*AMUJ%1dS zyboGXl{O-~nsglbmlg=0r*J)CwwHfpTFmJ=PAVC7&{b6u*7C2CVf@%A0cJc*2s*;F zwtqRQ%@0Evg3%w@!!#?EZ3#i2AXqRdDz8n!W%At6a^hxRLp7YdcZ{i$&0nT)|Mw-_ z3NxU-M|t%iWx90Vn2*+p5Km9>s|S@&BH*_--OMA_bGqBAKerYFxFN+M`Iw|)^&3n6$EEh0Z#`>`C?xR0-w0+6s3yzZdZ}hwS zkK@hj^u=^5{At=G{J&!RC(ZcW2rJm+n~+Nz#8P85YG#p_itcXZW0$JUOkzLFtR9XX zxOX|PUCP=Lz9_#FF~#fi?TOIzoWH^4l}hRj0xwqSW~WJPe&H5p9r{pA8&X_vBmr2+?w5 zq75f}75MdZMO?7iXl50Dn})1IM60UMk5j8*%-o1*hbbmMBD#&unJ01FljCcVmC1W> zit!2^g@bO_Sa5B!3J2;W13gL^*XIj&m1(cCVn=^73^HZlodi?vMOgf$@kDR=1Ey;( zaWp}5%myA!P31?&mZ4&9wjB}1$iMh}{|}pQIWoLH6518$vV0DJV3BLOC1y^cc2}D@ zV(x`DWySoj=>D0jPGs(9M$4YZQv&7qDjbIkn13@FNUz}d8+|bMRs8kN!dHh9T}aPo zG^s0kv?Xg)-MZ#FxhMUWEqf|@n`?>*FCBG^^Z|9iW3z+|ZwJ)@!)bpFxYRFUd{k5x zO8z&?ll>r}c#f{g$fs0wOj+9yM8nGwcL<_YW_4psCR=*P;-`?ATiml}(CN>Lrd)%C z5B7}qu{!7|wqF&sIJ4a*@iV!lUlG-PntYp~QqUrz4jZPtrIj^l&ysHhZ4jG?+Eo^Y zbI(AE_V)Ee71xMLvfA^8hT+O*grY1E8+v{%PUShfqFeAAZS3+W$98s2hiBuA+je<_ z2OXMft!I}+F!JMrN7Hk#)|s8Fh6?i$&QjF$O+?4r$L5k?xQ8uxz|3Rx}x&S zC(4cXY$_JY20I~~RqdaIN>4-^uUg|>Ik^+UtkErDG?4Nq0sw1ZmrvPw4lZG6=;sZf zZj$@Yu0rMqXCwS?i^R#_q(y%5mMn{4JWgG5%(pWyi-$k@QHXkXwymJ-)goLH>`S+V z(h_}nFT%1)3ph)RIbEIUL)Hyzz@yiZZa6@To1rqBjEC7QjrRtYO&8A&T1DxPyky>wNZyHMB4B>i8N4k7kv_reX)_;3|96IwRwH|29*B&b%bUw03;&&AB&%IK z8fHYI!N>VylxblYV-()qSHtXx=5_vLsWyT!vTUOL8iXs^S81@RcFjgG+GOKCP}6|% zdylnra=1yDieW__`g^PubM2Etb*}-F9Cpnq(^89i27M=UEH??Wk*GWbBaM+yo}QX; ztzAW8^r*ih%e-4W;IzORPT`LenK-dZXPNw>9X&~3yNVpFI+_EhFRoJRTdKta1Un|H1|}b5f*1#`9gG;zX{h z)|jb1k2h;-0)5@4<4o&v-aMYTRJ{XE8KzPK^MAnZO5A#=_`F6QjEsk&lX2h6qs!;4%BaGG{<%xjsmI1qh1s}0gxSOmNT}3Nw?vDbaL2~&r6&iM z#7*O~&BBgubKvEn z{F{C7U+`j7<_9-x=O3H7lfS8=8^5MGG_4R<@D6#%)+b^sPE6q!EsBW8U_0f+s)&`M z`R(aI>6ojtbTA|KuDLa6h5pk^ zE%9rSipxV7@JHig{)lO2-gk!~BM#U*0c_xo8T3t+58e1TAIQIRmtPwGOJ)8I{O>wF zzauRj-hXQwp5FxBoNwvQ)cadTHB8H(J3AtHpNK^n-j3$#TKC+oQFTbosL{J<&}=8S zIrl7g3qFNCil?xLqXDq(xpy;@hss3>harJ$*$Icbt^uV>TF{=qGMLw4 zFbI0+dJ5d!u&=of+JsXZY)U?5;GC-Tl@U!DGwOso1QmGD#@Mj=LxkC(L#rJ1BqLav z0j*Q+YKybZ!T>z|EkKW&*iQK=Ro8rUC?*LfE zB2UYlhdVnS!%vj^%7`*EC-R6K)}u$Tt&C~xjXMb;`R{LEggWU@oX=&NUPB#&8UG$y zS@h(adLk0N&#eYMnxAno%oF}NEuCrZEyE3HZQiCgy*nNOY8 zSof^hZl8+pQQqb5Pvt=eytNuvGBw}Th>`T>vyuX$YRyHo!)v}<8JS^r`9Y>*8rx!a zPemMwB|I1xJ5%273%18(&<75<_aF27|4vcBKX5W9@F%c-vdl(YR?{yOzo{xyEkoUo z$*wr0Ce`s=OXN}X*@n82=J5K^(OIvS#+1O>mbz!Gse`sK^VeZSWGEIfZK6wsE2g=- zJt_LkR9LP{-EGs6XK4i*MqC4k0LxmJx)q6xWXQJY4t{Hnz!@pe$WTBc-p@* zSF3(zL4MASH0vP_)_ls<>rVG5tn|^E?26{2!;z%r#%p?0p2w=+<6U;qfLeu(*JRb8 z`r|d*&5V7}?I}-fXGbe5bY?$F)Ao2UypqV-&JOf2?CDF+iAPKmvKwpdOf*Nhq!ATU z4*{N*Hhb-ih{C^#GG>IgE|cMwtnm%4u`tx>4GRx{ZdT!mz3(i8@cF*G0~P3p)@(4c zH*ld9b*tJuE8gnKEc5c!I;iaWs!_wbqNK+%nJm&(873?v{VQ=SKG@BkFIK#s0AkZO5;={>#7RM$HM_{`ZnI&7Vvt~_Z)ww+#?hFcC+l}1nSrH z;?pqd#^_!>@2G+*pTYs3zOsG1Q=;}#`m`vtd~b1yraoDR&#Elx#*^+B^SZfm!7dI)E_Sf*c#Nigv zX5d_-ruSH`+@clT>g?YK+vLy6x9v(EemUNB zm$zmpp1LzOC%9>12DRK^^RnhTSG16?SAxUbgybsveQ+(uHypKkM8>76m%kB4tkZp6ANJVxUYrw~2#K4_ak?mZ-CY0;lH zm7qPA^_))BIw;&2R(+I}z;?d1kCW7b=Fb|Vb9h)!#MA+ISB$O02yFN{I;>UT9IU)1 zxX%6$ywUX$R^v${A2|+>$Jb~Uld_Ji*d|!iEk<$-hC8f|`(CREG=SZ!8k&oc7nHVur|xncl{+uCfxVK``a!i4KghzS(7 zwb>5K01ngEZqd)$lqNb>(kWvA;E;T>P}cMRlH(KW+$=5HZjT6ymHt*(iK~H|K3U|M zQbxvX@BnjP19hboj^~Ya{`zpfV_Wgq8ai9pz%n+p(%OzzZ4N2w2JGr zvp<%Y_#(!`85-|pRy2fW0eer^`SKUCs-A6jQxC9VnTpZBu@i2Lzf~UmleB9=wk)S% zJDRdBOSYHB?)jc16qvfe0#t8acTY~DFZ4&y2Kl+iIW=zmD|a-oQu!gCa)7}B2aSr_ zOxzqkB6}8E{?mVU|KZWC_9GeB1*V?n7n9^O*M^2a?;(a@$OqJ))nqWN)y{E-Sd=jAdysy496s^)y=4YYh0Ock-SP7=-Xi!GHn{<2O`iN5eg z9VOl3n4Y$`63-|smiuEP`>@qg|F{kF56gEQa5qE#lir~}re|UzXGgn&7Sc4JGjQEHFB@HBSm?Kc0vQ z^L#Ss&{z}enrE^K*H7K>dI&FQkkY#5*-q&U0W}JG=J#pM0yoJ+VV!ffv&&VlN2|lf zvo^`2Bdg{V&WGUaK4_$ozDgd&f#dZ2FlaqEXd4@r);-T*UpqCaHt7LpWURbZx%cps zJkraEcpohaa9#5pkBk!`a#fLj(Bo;Cm9|1;R{Kd5R)~*8Rq4G3Ph~xG3r&Y(iMK93 zCpmjlLeEzXsz1_9M)lS7JkX4lv?9-+8U8?4Qtx76XeNF!S^WDd>A&vTD5Tk*ry{OkK?%<$;>i zy~=t|_X9?{E!qFh7@u5} zgqIfP$UH?u-oBb)@SO~inB2xCn~9#d<#a~>z<%n<7o)3?#XR{V2ZX3ACR(Aj5l7*b zR&k83Rp!Hcp&U4R)@jLc!R9-Hjb+_Wo3;Ywz6l5AGmg_%L$9)WkKi2ozAdRKdVS1M z*@OcJ?P6zc#F2Z(SbW5hx?(s79GTg+wwD9ZUj7kBbT2gynv)^T8vb|p#E}jn8313Q zKeByI|EG6ae#Ftx_0~jqba%xX|Bs9*d`W|$2UPcKZ*6YA#{ZQP>ePOpqTUQ?SLOz$%Ipi{ zbe6-IZ!)~O&oOsf>C+7eBN=?`n>2S{z%UE8KC`PO<4w{d23Fd@p!4LHqA-Ks46FSI zTkfj4NqP&zyt_};hGp!q$Dx~s_e>$<(S8TPZR{}I#_Gc&H6G6&HdZDCe*~CR9?twDOT42!;H+@#}Cemg>3mk!G&6Mp)~>FyH;ZLAt` z<6#1X-K9gd8gV_0G0~l?>6GbS=Ernej>My6hGiDlrNgnwJVZ><=#~89P*atxtz*A5PLJ*-#|*iL z`=IVV!$-wvjpI!rX>u2TJAxLc!G&3)1Rno=1TA;Gcv&1XOj`V&ES$8^`RURC)%xi? zME&8_IGP6mPCaqV9%BFWSlvlx7S!*pbRxpEwqkQK;^W*9Ud6m@cq&X<=l4o()ptrR z<5eDLS=21^do(xP6{14qyDy(XuzH){n|ANVz}XzDNB?D2_&UEQbA$Ze6ej9Jy9G7R7N}3PeB(phJz>x86D#{lz-`d1>wD_* zJ3`@5cEptg!!z7BHYAYYs$&3EHO&t?teITdkW}-o?@3l~U`?YEXCp%r<(~DCA)^@L zqSN8*+{h4jljkAhE!ui`(5Rv9)sZQdbi(E1na(_Dxfgw3-)l;FETC!-?>@1Q94j5- zGV9a7K4VB8?3iNKdw4e4?Pu*aXnLx9M-A=<&=grZYqyc(*?AwE!>Ya0#NDhL-*uLw zNX3%}4I9KSJzW1o4VPkg8&M|Y?B=^qAYem>!7R>TZE)nt%ZE%O_8-kspUz^0C#v%) zhqA_c4$FM}yqi2mu6mMV@|jt|3A2f>bFJK``BQ2b`h#U@HJ|-+YCQQXA@0g%TnFbQ z!*swf_CoG{DTl%V7dn4?Km0?f)^{KNbnM@>=dbo<4kz6K$jbH!gnj$DR3cua6akquX6r)QC&zMphe-sX{IQ&tDy9NjC zX&n{o`d!7a&idVi$azEBK322wN5LxN`D!_pZgJ3A)eE-&XiTg5G59Was1KIjW8Uld z-PClS)Pi|>34Bm(4Yvme3|Vy9$cQl|5qju%B_S<~*rLFKK1)+r!J};}arS z8P`6aVGeT7Nr%lDLo+r*a|zP+N$vDcq)GFAvn)mWlVeSJmg^Vt=zrjjGL4yEgP5fN z@^VLw;b{G2#gmiHi1O&iER~@7K1^fTXJNO;4RuR{1Jk}?)9J{M!5@a`^SDMcy**d3 zvT(pTK>gNe^;hs@PxwbM2Byq@^qg9T*Z58S_R!rA*rq!}i($1elgR@HJ%4L6`TH-K z)^S7DO8xdb^A9Jg(RVIfHIbL&D@+B}Ni=oM6)g%O#JMrcGtD$rcT% zZpprR5_aE88mIeeJ@WE!9?Gk-Ce07p#?oxfSqH(0IfmCV8-EBhQ##h1wJ|KO;S~r3 z{Gcgt*2ZF{ji!&^b=*TZV6}lXp4n9@>`g|hCW3p++PZ4KJ1}A}p3l73M5V=s?w%`Jgo!idm-0F`n58}v?Vo57 zjLLclFICC7Q%)Xkx1OUaE9UY2Pb0c|$2TqY;ek{~{MI-0cLg&~E6N{Aq|A98S02*r zd>4bqt(B3Hd`PQO)Ra?=&_r^2Uy{g{cGXPA-+1 z|9BlKAMdE8{q_a;$GhyKbkD2pCw>us%y1@j885UyVtb_zv$v5iPm!>Ez5(iI*PTkj zvCVuT#kkK7qfzKrxpoe=nJ-2Kr;l7;P|p*WuF%vPc~+(0mzuHC{T~RmFCaX8uqZ7e6vzTcU7J3#rhiICXbc!3P+Oh$sTEB8V|aaCScw9D%{vY{o#|=ef560 z-1nKU9``t#gA*R^k4{w;}EYZ5s|NX5Zs(86 za_ISB6W!^tk~j_vo~gwuYw#g)riqw6J3Od4@mufFTMA=QLj95)`|pEeOm}>;gDl2m z`E(Xdn(qgA2K2>6{+OwVkS_UzWb6jev~2%e_)1o0UlM03ottpLNE{j_r>0&nJPCAe z`%9y7jNfZrWxUX30`&`udE-E7gWo!b_=mi@p}v>VLOh#MiMEQ^#+!Gdb zEB%g`7@e^}u$lde^vNXF)GsC#I8$!Tc;^B;Dh&HFym?6c#s=voCUg_gAeTk46tMQ%4$S^ZyIuAJY~yzfd9nB@^;j zIKNWwQOGC$@{@mRZ$teNJ~@~#dIngsD)g8j&^ksZG6D3u{Yd2OfVZ@)*gQ?tz|O;sZ9FAZe!imy>>i*-f`m?wA^)i%$% znA$yKpHV`%*P+78kZ;d*u`Oav;byi~o*AV|D}QV#lWO_KgjafY9Tp^`Tg-#bKqqn? zQYsOChLqaVbLOC}P`R5w8KLN7{F&^ohesb(cCF^mAq_e#NRLH5bhJlg$9e%b60SMs z&zT?(m^q_dzX9#8BtIrRF&0n%PB1H!YY5lJ%==Vw70T>sAwv%KvGb_$*71@^tx!LT zO}KB`H-CMHS3yD$g1Lu|Mj3U-~TyflRFzd z6Q?LOvncwdUkp~eg>uquPHZ_yCoUP`OrKbpY($;fhc0BsPamE7Bcc<2c>e z%=q_MIJ+x(z%`lkqXA~RkkSEnB7Pe<_y^C^86UPh)cxD1@(-BFiEG>Rg7>3>rkB+^ zDKyNPjDv1YWbj4ud_k|GY$j8u$*T@RaV~EXNA<^c3ALGEA#$qkTJgs?%z655jtte_nK>JbIplBn<`sr8WA$E{%4MC-d{*m`#t~@}3#X)`E_z zaQogLEUQ7+C;TJv?Y{bZB+o&&Z|@ z2_ESoyXXi;RBlX4Ag4wj3+@I44w%R)tp#chbg4for8PCUWQhBWVl|Ygb2#}?DYB#{ z4|>|mq}9vV6)~Te5#@3{#wYiT$vp>~%FORx7ywgsFB>$bQhN?I2da;fpaqP)i_nnJ z`o&c8KY2=S4C=p6K?MTDhwg|-di&Gj10rHWtKIqztjU?B$4xUbELgMg?=a;bQ}Qgo zwvci!VOv3oilE;-ssf=tU=_THZ3U$?V?5{#W%7{}t(3iR5@y*We|#Zf0v<^b|sj7{YptVACSG?U{PQ%;j(d!CIc6-b* z=qaL=*V-|d9IitsWliKU=*>9WA6I#1?U~d>gL!%dA}T!QpwoT4S93;$S@ST{n6|b) z=qNL+20e{&P#-Z3b;@!&<79NW<-CY}apv0UBt?mF>SGh_4Cxc#@<~C%Z zp?U8*LvlUN+H1&T>oAXEKS`)^uh_td8rFB0whZ=T`4TzVT3Z2JU0;H$G&A#KH}iO;rc#utx5xR@q8a)lXtfL$hEU!VWX{tPEmQ~fPvmB!&4mBG+K|YEmG^q7jXyfj;mDfP8x#+4< zxUaEHD0xzu)f%v$Y(1O%PJMz|{ZX^BY7)kj_~3>F~PtzK916Tru|u_%TVVU^((3D zG)H%Lnu^baR<_q3^%Dco*(XXb_q@;Jma6vWG2Amh$vlgJr#iyhGD^R6jQoEUBmYCg z$Ws*iU-rb-ACYF2@jdI^y)|<=g`fvL_7fc4UogJY)8k?M+^Tz@&C>;6o(-d zyz;#Zli{{Ty~lmjXBWFM%ECdj+Orn){E=Z{^6yRGn4vCOEO@LGDQDW5$80vy_GDb_ zKXHZlBT;E~IMS32>=g%lR9HiIA)w>qNW&VazQSabY&ZLw)BwK}@N`G_Jcag2=ZbEz zaR|Gfl=a-#p1Y9R{bo>ge|pa_$5?!(K9S1xWj;mC7ko2XhI!pP)p6Jt~sbI;O35e+~srXZXsF4k({P z3}hj)F4|)vG3#^!X<0g^Ezw@bK(#S@o$FLX9{nAqW@9NGw2Dq@olY1HcpCdgQLsGd zhIy*j>4efyC%RT$?)BKNlqjsxHIHEXM+`8Tf)0Avso70i(-Azat1$2Ed|I5-df)3r z89#E=eJT|XiC>ws-)Idb_GjBQnId&*0cCdVioNsb2l0n@u+ng8fexj#T`FO%FY{JT zG5snR446-^#@9mH#|pqG&zBYGjDjz1`sHqX8WH5o$yctaLGNw)X)i}v>b@dVPMXzb zBWe*!t2Uh>A~Fp9NjMT8JtzGvDL9tHMnO%$QE&TBJ|0 zL*MIM@M!e?>vFRu)(jV>5c$!RX<;+EA1-;#uC}mBna2;wP~-7{sxp*&hO6CCpMx|K zN=IJ_0G7!7Wr^j#A7XjdfB(zz-}(cX2==EF8LQ@LfAh48SiMVG(BwITCne6)Xm94! zzkh3vrKGt}&46_rY@!NLYbm{Z+vDVs#^d?pW(kh1ls>%8X08)7jf`hX5sJvIlzwXH zcZ#J8Ea39lUaq~Ao<32>ic_g~WYo~%-fJm6no&4joT5+ZnYYUT*C|^$r*s0TbXPnx zjLZR3YbkxIIQgAs7NwXuXgAPNYbpIS3VF;pg@j-6xW_A_)>it&+$nTe$~_Kv0J6B2 z(kt5ISaI4~ihDcCNbRwvNUNOu-kGD+=nW=OVXNp;Wk~e*&a5yqf8!6}u+~m`x>@zN z4B{qX-exdE?yFSQJr?+0O*0PJ^UfSZRjy>?s8HW)FO!yI_np}e?!{oRw$^896by~J zpZhVSwQu0?k$pU;`v@IRVF=x^KK3wb`vmi5RK8tRm??3?YJB?SQB|$sPp4@9p_wsf z-*gY~4lJRN>{-Bt1aPsX{HDh ztUXlJIW-^CC&}lHi+fD>dI0B$jL(qX74D|{L``q^)luH*Cz{!mg=y~77(^7nXo>Mbf%2wdLA zX&y}PRP1Mggm)nye`$HX%^1|76B z$12uhbV_=-OF&UNS2OTwOT(xW3s0<%fhk~i*pexfgu@{(vMqDfiJ}(2plw?PeP| ztVWz~RK%fz=E?_da*GX|)%9VK?iIgD?(ZG)Pv?U9TdqI;K*89Ea};_h8;|B8kMyQH+>V7XNCbhlFGpj4DKD6bio^N%kBI#?>xA(M8M5f%F zPnU6)JAt+AJF3`yJU|js^|XxB413u(d{lEhKm;rMGVlQQhztf~pM{F_ESMi~Qst?& z>$?Usb1XnJFzbU3w{ooqY0D=A#{;B@Dm`ejwB8Bbr@+$`CB+1vPe79yt88JYj;N1k zOd%D0KR?mT{UDXq)a{CjD7D2wcXG;BOL#}u#7Qce4}JO>QVFv6kc?4FsJcU)BG_=ci4S)HAmyCa^XN~zO12}=d|9Jc}vX=&5k&APb$`gp8vbsQBw=p z-7G_&mwh~@pY(N>d6ciQUa#gt^HO5%pziMA^}~#-fXld*45hV$x+2SX{4g4H_(7-O zQLBh+JTyrGtfexNwYRB{phYj?}75t&{Uu>RoLM(?*q&N1!i$C!*^1A9Z`> zrIe!$;@XJZpy7~qNVjBO*`!hEHEIGS+1FMg746CF2@0;PU9)=B-($6{#`rv(3>7wO zC2~OYQwBs!)YC)MQ1mY3dWco|JyyqHIWPA$#>ur38LEf1GwQu!p_5{+jmR*sOWIi= zEasqzVHMX#u_%udI8oYoKX+nbxN9Gf^ig){!+eAfAt!cI zNh6c>?LsLEcsI?}slCd_6hwdSynq*2*D#D619lnLhuL4DaVP2}u#7phTEU@4&4*5p z27Y?+{S9rI1n%W5e15$mp__ijiy+GciDG)iOsIYder@==|pXzsnCXE5ETc^qj@UV_+*UDypGI*!Uenj_;g z>1ACdX$99<^P{lLdNT0Sec{ifT~UrGNew#@qa==<2l8jY>@ELtSS5rOtT-lkY(s~6?Mjdcb8TG53?L8;?+c`EN ze`TuuBZZZf(a(U@{z|zLOx=43E4m&}F0DQNQ37Dlb|J#_l+V#cp&IZRqzmHgA*`7) z*SQhNCP$Z{O%fGr2Om}`X(pY2siAXl6*4L4zmHB7LYF51Q+l`8Vud$wVY4BLy(^$`p zB*z+CQe#Hlbo{A|c;wiS(wkeXXT>BfKC~&(jZ3I&e1JXHQ)bk;S%^$jz5Y2S*7e7L z7SG8-dpjSAFU(PEs%Ip_crF$yqJo#(O+&`okHRt^%X6}TF@+zri)j^mtY;hhoGcW4 z>dm(dE1PvpF|!H!xBj##NIYmcYfts8a-EBX3WxJ~Ck<8oUt>MRv;7d0;sF=biv3`r zoictz4kB~rzKBVyGcIG=OE!%DH~M?t=!MHvX`~Hkq|%TY7dr8TYbmJ?wDiboQQYnP#}ce=tVRJc__7`_o~LKC-{c z!3#F0m;0J*$+WaNvcGefdW@RIQt!!@3e2fo3Y!{UYM`M}uECaxaNQJ)!GQ0u5E;fj z*bCw9HR*pH9M^nTujGI}4lBZ8Bg$+M6x{Pi#Qi0W5$9e?CvYJiK2n1GR>ZfnKU~hSyg2}LwKu0h&>gP z?l%FW!!4>0+TFr4_H0Z_HRn_z!r#JEX3B^)8*@BN_f#R;8t;J9W7B&$W;pXkV2ls) zc@+*JXb;ECX6Lz8C};M|s9XAI562A4^lxpNXrJkWRwaV7-YPU~sBdkmV8kPnp{$d= zhGRyC-?fP$#Usc9PmX zSIx-GEVGXQp0M{{OK!A`J?(Lz+sqymdLGFMDRk^WX?iFJ9XHe@eK= zmwU@}^i1ACo?|eso0B1!p8(FWj(WmgI9a}y%48^_^m$%VQ+=S>aQUn$e%Xc5y^L|F z;-JN@7_BLOrYYgJl&5LpX$4@F>%XP=b)B+rGl{qqQh1WNhxmo6&y!8_(DSdANg91m z@e>jLtuJL+!~5Np)0)~-{A9R|vCM|@Y7irg5qpYXhEE(lxRg;mXojb=))YURz-{{m zrY7T{;bDVXQ~W%~`wGI7Io%h{Z0toR90z!UTw%s+9kdj*T@cQoO&?0c!`S`Y9;Z{K zHO0?{Gp96mylGi?T^*mWSq0&wmFX+|W}DF;8-}Sfazi&dEAd6Snuq!OXI`)w-vwdB zI6jZ9RUn=lU@s5f<>Y8OkbmN6?vFQvr?HO(WQ^uBcMXY{-O+}DCHU3dR%HkM?jb|< z^e!7E%m4Qi#Xkb^jB-8!{pJ0>(;{2G2jZ3JapmMRLHXDZE7fZr9;YUcn4B@8J8lFF znZ3v1nNMFWS?%?t*G^EGdm3Jj8b?bGl&PQkJ%f^a93G}yM@z04I`2El6`k7S@VxMd z$zfB8w-6uA^=w&HLqEF!!y=;&8Z(q?jl=7Xc73}5qpf`ony#5%B@|bxR3E95#`O1H zY_9QK#pGcj=3`aDiT9mEc9^uP$)zTFimbz@`ckdgnZx~d*)1wQHMzSfKE8dGj}7(` z)9g97%Uz<6`qGX@aE)EbESckTL<}-w?7q>utSDbtf}TQ)^vkw(q~@VpF|O^N7U+~s z{F(E$f0s20K7WR;&7W3;Yk1XJB029dZ?J03wi6t@{TpRvk3-ms9nzj{=jp7Y&eA03 zQ}HqmU{AO69LpomhB2qF0>q%Z_H;W)&ZEzI`aJw$hKG5r>2^8RT}PlTxcif$B3jQL zZikASwaKKsFPcTmeH%$1bBm+THY*YrZEfZ2HEto$xcV%8vL9XA+^p7hq^t_{Z6h?! zv>qEu%C=2_7(wgW;C+CJ|FlB>B+9hwm*DdP7?|JNi!? z)&4Ul&YKFvRd?lPZyb8fN>lVOGrJyfx4QchkmWV3H7717+xroB+2T{d)MXKSP#m+M ztL_40eb5&2!G8Mwo5NPuLZ%| z-Pe>jcuPFmE~?0Q(A7P&#>AzXj3e% zx|?oMR!_%)RI|#v=qF4PE2&ts-#t4C;NUP~Zwyr`Mk_YTY-`pGYJ5 zBXkYvZx=YDIeb{xFv~4-O%1qTVVP6ie4_PKJ+o)7p`&nxWn?~jib`uhSen{+ISRtNs67hI zf{p90u6UcuEXK75ff-791y)w;$cs)FomTL}}Pj};cINcL72i#UZSg$;@+=N3>xRrpH@D0SQU4Ge= zI*we~?(g*-n#RdB28_sIAGvZm!t@mCb=xj#WVtJEp=m@9<5@WkgI?vz3^)7APv{-_ zHUx#t(y+^wLJz)3#H9OkMP1=6Z6^>Z*?cBtM_YQ~U>UHeT(hMZ;ncOX3CT5CDgk#K!LiVs3l3$j-#r^q zbCtt4Wz`zd_5|&UuNjLW|`MwE` z$q(2GF?|Coq{%;#eE-jQCQ;;-6fo+jiw37uv!GQBm+H?12>ko-3-5P*xoC zYq+h9M+*rn#`qcyC93=yZlmN64-}cI-jkt%60YMG8Q{HGr}=2rSUaIGT+40Oy9FS; zJXSr!tBTI6u?oVY&{i;fPljU0;A*UGBltlFyaQ`66j8=2u@Y*$xd&+9lc9+Akv?J~ z!>Sq=t+K`{v1%f$uEd&==I?P*x?;ULr$w=k!rC6nIpCptd#(zrAmY?<*{;u~jF3Rw~1y#2aBWIKc9XW`YH6qEGv^rWNNPjtb zcVX|k2}|qX(Hg0;$~XTE9_t_oFq(%#?FSyO8@S3J-Fu8BpRoTbWu8vXZ zHH9EE&}({*bwu2_?Ie2ia9~u{=EN*yOwOMuTlmYrM;liEiMoY<2KRIilh?<|vC-Sz z*wHm>a8J?l@o}PwH)Wjg+?B#Kgcoks_vG}Gip5TgJ-7$f5!cA6NL{eUxXahv9-nB> zD-@cHHgf@^LMvhPJQ>F9dMyH?6(jqS-n^4lWHLgjwJVd=iU7&?svj!xJJ4;*wl zqT5%UaH7ic2!+h{@q_L{PwhhCXofsOVY_9;<9>*tuyc(qNOTUm9aTA))RY8#v8MN zVAYzSgHYwIzAraR-tiD2c5d864HAZ68vpOEukxhzPBXodf z`xP3SR30=EV(%F`%$D~N8Y#*8qG{>vYlco%FwQ*R=3Q^Pp^tmjDl|@oYL3uIsgU<&~a7P9ZmW^es z#vq-KDKb;p2b|dzS$iCejq!RStwPmz)~Qj(DqT(Vu#R$-Q>OPOnU+|Ut4w4gZx(XY zJR7gVQ8Q~A4ANn9O_4;E4%*C9>NO5Vv}RoC3TY3u&Vd?x9E`ELAL*)x(0d&e!&u{B z;0)uDu4XLWI(GBkGY~A$>N8Z2CrmovPPO)-y2>qmj&jASHh+o$JcM1jQk&9`ay0-M zZ|rtXu4lpFs`^5vvNI#!#P24`v`bg4uy5tfiDV=1U|SKndwCk(t?#ZkN;M*1r?m&R zu{cPZ(9H!74*a>^v(Xk$0@!QE$sX^=?HouaYK|jBV2h!>+#PDvRdOPW#-^juF%!cK`Y#Q zd<`g}87q!*6=|G0X!>Yo_2aO*`&yPA4n!WbDu=!|*pxZWajiwzNYBx|7_}a{gr|9& z0-NR(anaR9+rK}wBC5Z+wyb@IcLmBs0jqMwB1OX`Q;-K9d#^25J^CJO# z?*4pAPiTdOs&m#%mq0z!#<<#J?ug|*(mIfvH~MM2M)dU4`I(wr=kYW;-pC)O!3KP+RYzE+J1l)A%UEO81`&3|}){Tv>g}yc#xXkBlRh z#jX}A)bm*rt0z18jMGKYw}2AFn4@odvJmbEJvM>v1ub?Y{Gi9ue|?ZUUC3zMAC0JA zy$b(`M(LO_-ri=Tn_prhitKd_$m#LsZEp6oXVz%a8eGFspzzjhZtf1(L0hykwT7cG zjT1L**3?fmIogTd(@|VT)^!(#wTh8pAkbVtTc zaKl}!BYagf@_j3K=Nj0GbPeX{UX6;*N6F8rJRxQKYy0)q z@VS%e!PtH$g9N4d3X4o|%I|olHWN4Wj3@bBmpY?UxB^f%EU6W(@URb!XgU2?^Yp)_ zaYp!en<|v7goE}eSMTVi^{2T3sgC%aY51R!8#Yqk8_ROFzde3Rd%BK4M@pMa*f>Zn4a5Gn_2R!d!eFpm9D(OvN_TfQ?Eb^6O-7c zTB`|vJZ_k>s{qY3EY=G+RTv|$cBOWoiv}W!Yve{+JVR|+Sd))pCu`)|IHBhB9PMgc zgE?q6k+E{jnVlB-?f8iadl@v3q4}y^RSjfAMXIifgRmkGIz}*? z?E&j@?|D?5i0nRSBYR@D(G+E7eeGh3=F~+C==I2y7&GJ%aRN1uKnr+9uE~8+w&!(= zO>v3`-Krexy$HctI+H204aLWaW17fS#8IWy5pfb-5znD0vQW8;IG*|KjR}{SPs3G; zp%v?)=R`HpsrlU_Qa^Ha^u$qsoR++3r=`0VG@RXJ9&}CS{4R;^-~U%r2kfEl-<^H9 z|6~%lRh%jnFRO1IO<$*4hbO_KKKT^!@Z&HSSM^D7Se-{3MTF&j6-O(2&yTRIxi(Pm zP-7m?mUV`&`4KM6oJh`YPrG1PPH;Wx64=wa;#1mN;^siJ_V@_&+e>U#tP2j$o>>n! z+=@0=e8Nz}gC@t>Skoh55jZDZZ7^nEN~auVE5RKWbUPI%lK1o*{W@v8lQTjB|2^5V z25t5_pK>5>;Bn^{i>4pBs^YO(Q!&J>XiHbchh|68e)nkiPZ3kN_sq$1^t0|lF7+Cr zkU51TA;l=^y0p$z^;&4=Z7}jENI_KK9$YppxNeQ|a`$r>RaNYG^d~GqTc0yZWS_k; zC$ssOu#zdo=KLTxAquG1JeOBU_pTOcv170Isj*(D_Q^d}(| zd?HPc!7st|EfAm`?K4Lh5CZnPpT?y%4*=H8Gvjp!qTebD7kxXCF2{V2p-jw_FFLgJ!KMvIKSW|#* z&*v`Kkh?Xd%scw<^Ps<_n&ebZtq$|ZjJ{=XnVmJ4Jp^gH!#rsD(DUZ;o*~#6n`>(m zRkHL$&*!wBaYaOht&~p8W~eTDVD4Pg%T?m-LqJbf zUv$lw|F`(^A#Sf_s6hBrYva?6m7Y(x@e}Onh%WF+)3)~g7R?Q92~DOhcN2y_(FaD$L>M$(ngOkgUm?)nx9akPbsHE8xleMJTgYlX()1 zn}ioM)B#&&30ghoMuhs?WMbsOe8#l!p4tX2Qv-3$DN(`cgC;aNvAWFN-DWOFFTC|) zB17h@%iPuG{01#rs&N0aQJ&r_M_-I!ACA75%{*weJaQ-L8wQ+BCKv+zzKv%*IXg)Y z_2KAe+@E95k|^iq)sC97zV*lx3fFV;60GtC9fg^AJQ|?qFQ2dZ;nY~)KA)fs>~}{i z{WCd0J!_CFHNX6L;>QPWmt?o{gxyz~%f`&NJ*Xx*!$YzsJ>OEdve2G>>tn&WEPHkb z=2G-Ypw`W;cqUx=D`Sqh(7_n_*Em}3#qv?c4Hm2zQL zt2tba%d&Se;(!}tnOcLbK?L=Uh;rrNSsq8z-Yd)AGaWiCd$Th6bcj2vdS%%s;W#9F z&E%tjS#?b9{t%S%1lG$bufAsS%rM{4W%*4z|NfjMfA{tK_s6o&0;a%}*{=*De>k7B zGkN2sYpUbn8EOh08#)ph!NbuPI`en0hJT=`9F3o!-8NmnBOpD0Lc^jTh96V?lwnU; z23Oa$XJBsCm!)U>L3>iOvw)tC>Pzsug;IClt_<$CC*cV+4#98HR&mf~nwD1EwYe-W z!H=ky$t$%p*4vY;N+TbeMx^GVO9{?uyN(DO9)=%)-E zmEbS5O&@}PrjU623hf501b@+O&i+Ri*!e`AD3w?p$gD8y!&bw)3L z7DyGl#akd1vcMzfq|$ROK5;ar;qkJ0nV9AP?qr>iNZzD8~#1AOcbot&xF4oevC-)ZD9XAW9s zLtAS+P|2LLjHsq!crT5{;9M(uYO?FrcoZ0u4{4lMQS0C76qAZW`?Af!gGK`$3!49` z8b8xck1#gxYbl$nZy>vE@+MwcQvKXHC1ZBqKxt|km-Th`^2-F8O$=5;tcQioVSQBv z);I=N{3n6w-IJf!M}N@lTmLnHsPw;Bd-+j{!+Ok#OQc(V!Spo z?~d_*puZviw^P0S*i=mGaK@hLkKmfHZerO-CfsDaXrW_%w~sh}8rji#C})5K-e%P5 z#%c~VYt0FjbHdYKI?kkCy`e}Y2Mncr&!AP6Gj36i z(|YnD^Fp?_X?S}6AduB%qx(fv&saVlQy8A^- z{YyISA81A<^?}ul=j!#CjD+G4)|08mLDQW^UkU5#CNE(>&TJzzRgsR4q@G% z%{b`s%JJC=YwzH(dw66SaSv~-Gg=$k3jGE7eVc6l?tta{Z0I{>54Yb&BmCj-bZbl< z(%7ZY0b9c5E7&;{=YR_>|Mic~qT2DHAx!X>3p;;?uIM^^wV~=gr*H(wZA8RySabMl z_l`F*5+ls+Ew!wi)2&eLs(IezObc5>QJK(yhp?90+bD2mKhv36hpWbT(Qx0S#q3_Y>!B#%M51CQ zGV-8D}$xikJy54%b>cX0dIyvomsOnO*A28U> z-d&EKo#W3zc)V6a(%XCQU>q2chpLXT>Bp67oocP2sNtRXCQF79RtH=#tNk9l%wp`M z6=#~u9x=#0I%+lTY1-|aPqJgW>!3Ac*m^cI(=|H8Y3Fd#-z20g)oR+aD&WLbmMqXZ zXzxJB8dnKf2>s1i;LLkSSYE-X)wCB3)8S3c%%ToB+pMt8Sgdm1bQ`D;^MEHj_OMD# zl`d;)crQ+i8lhI&w8A4UZJNm7ThlfX;!2y2n%7P%OufNy)&zWKO(QaKSksR7H-{E& zJGN~ab+F3$rKR<54Ij9hs$XWxx&O2zt217)Le_K8*@a20=#1>pLAOo)Qm=IWFgRsA zWUrTZ@j2J&o>(t#W^hYp;wP#R=}#Ml4}G=V!7RtWXUj(KB<|7Wv$tHEMNJ&C*DHd0 zU*c_9YuaRG&Ea}`vY|X+vN^*wY%*pBePVH1nT>;1S^?{X6xqsoxL&wf9P~8A)u}#V z;ogVpWsT=Nio7Ft1})MiF^B3^s^Z~-c z+reV3G_gj>n=e!0)YC5j?^5msYZY}>@u~D`9Q1f9ZG9D!84MkocvMfxS+n3hs|gEi z&m(zC$EuOGIY?%!XzO;|bKsAUh# zY5)tHz`21pM#uAaN{vsM=wFb}w@DDD}4a*NwBz?nDY*{m89D^bg-wz)*@xaojtPSsA-24FUas2y~~^RLD3 z4(`Xnn(Pw|YAE>|^bZ(k16NDc_`qSL|8nKyk4=@`zft&%KhxQ$oZLhBq>7G%ZnXba zMd42r%tANAue*LrVf7EYO@TwTBFi4B(X$9*TLYS&m3^pIvk7~?yH+t+kAs_$vSXtf zWd-y;9}3?y{A3--Zx4uSfO;wjgR7D;j7Wca!Mn3AcD%E9kB3=T^t}w$Wa%lH28&t~ z{JbZvzBK?wa^j$CLe5!<)@nS#9pRn%oDV8c6Iu;H8B=+b;YQJQ(d`=f8k9^;V~$s1 zvb!b@+LATQZK^GHJ?uh7@;#bN1=H6%RTbO)-l=*J&zp2Gxfia)L|PnWI3>~V(l_!% z#mf7&jB|Ovq$~Yl#!V)!iE?Qbtb3+9B>SLKR-?TPDa#mrh`)d%-`3-7?%P*dFf@nx z%MmOeUVUtf%s-U!L1$6@yC%TDGj=bzw(B+!Ku44flEosc=0C9@$+PSrPr+@T#)9_o zN0KRu`o|m2est2D{ll-X{pAMHd7@y|sea?rv)=olO$0N2f?(jt{1n6UL|@lerz>K0 zqF~kTcy)se?X}p~7I)q#Sm!sFEm0fysj1D*-V+4tZ0z^6$*@H{HB1u(CVcdBR|ghWts(QfPTk*rWxYFqq{2gnB!>_A;@3*EJu_ z>gFG2HNRnjH+!O5{m09kGvl4J%*jkg`e=A1)m76qxv!q6KV6{h9~e__+tY02pG9U; zzgz=#A{49ewOk$Jy_&KOV$fV zia)H2kpATeT%9;tXiNIm@~hozAPs6YbOLEee}mM*v@&l~4gk?UQw~mcfA{oYHip;Y zRl@2MN@H|{zk3dXbuV58Ve>@NI8?tFEZt9SK@7$^fwazKf7Ab%ydM!~W_9<8q|MfR z)(T^$eUGCtNt`&EHTbND=ghTq{2RV{btwL@$jq}w_ntDH(T+d-2%6ur;(bQh)C3L= zE8Tg+Esp!>QM&5Ses|7q#p&jw33TtDeRo#;5;K)NQMk}zzGdgzJ-3-o?JVPL9799> zS&&e~&h?Oiggb&K1{Z<&?i5{hR8#L8w=ob@BqUW7lLGg)Cdu!*+isE znB?dhH4rJuF<|s)#(*)JG4jXn-+Rw<-h1!!o_n6pdp;q~;kYHM-NnL_^_11IRo&WT z3UamZqkc<4f|B!w1%qLz(^;6EpvisYx4ZVoWJUQ;4iJXDF%CXPA+du5?#p)NGMS#3k&utl10Wx*D2X=GU5?dd5 zl3&;u(odhfzM|MzmUvz*Yapj3c4bBLdEJAR4X^dl=j3-7p7bV=C!tT z2{d=}+-dB|GDPe|!7Wv^=U$8R;)5B&lTTmBJxW6>_UX(AGu+Bg;m(tyGwr~z_a--= z_zF<$h4T09Os80Kg1o&WcOqbE!Lm#)Sqd);laB7_6r5z4Jg!U)I#mAUECeef_RiOq zzz8oj{^RkCKLt7>n(^lYO8SF$-eWEB7I!npP$g&~G4AK$skOj>2g+pe=i;IOueTpX zi#sq%PX6*Vs7=1+XGLqL8D@VABZtIaEvZHqLTLX)Z^y@^i$%Sz-! za|D0UJC7m%+#^Sc>oD$~qUIvuekqPz|3Jx3+wJ1lYn^-!)@2U#E(y4B z*H^>B>_yOa<#%EZir~gs4X$}EMzNxb&idcy4nF#9qAa2bQFQc1;}tDbuRsy2%nY74 zX1Mu&PMq5iJO0F9E-qb7VV9Gj+l#_bf#$^pYX0^5FTFkMs2((Ww3)8A8NLB1YC6$` zC0y{@O1Vuc=N-~Y9_yYy$XT9r>0Tc!goimLl{;t*KG}pLZBHX;9XreG;J-oDl8dzR zjrUqL!XWraak@SJBi1HtV-ihHqes`7VgL@bS~u;*&$cK8$?}+M(wgI8-oPD-|7YC` zH2f&6H5YXFZ7l`zHTHHsjL%H6;CJ6 zf;|Nn`NqedFVZq5@PuG1N4V9V3j)n8_1v#XW~Ba6*z`QJygA>?QL~_#y7Av8M;GBj zCbGLqZ1QK$da?JYG zGt+m1tN6j$rUo0?l12K>;=4pEo0fo%tOiCwjsGxP6hZMR3hCRT%hKQKT`UMKaJiFx z$3h$n$yr}-j18ULp`K*lR7cwk2QKlZo3 z^Mz%_W@I^8USIx&ejrf?Ix0(ht~7q75C6mK8lSp%vysS_zYFV_YfEQuZfo}S%%y3K z1YhZMdyivH?)`&w@aqlg8`_3MI70tnjgUpnm^(?qMZ|p;&Y~B#z;finM#jWE34f~>i;kSI*_%Ov zJonK3kSjG~6K+9R=Y}A298+sbMi&Q{3czbkQt%Dn(r1jjE$Y{qvHVW0e2~F5ryYx3 z*N^GARJ0gve64=m?fbC0u;cdR8?A}RsOrX?#0^^Qd)tVIPtILm>~U~~jGb28Y3){{ z=Co}|fUakqWF44FUoM~XuL!O`f8+UHT`Pm=EtBJI&8;u-u@rO zT;7`qqB5mKeDb^Sx-q7=BC3qYIv*1e`G$y#_H5;T<|ciy9Svw>+Qrbbosaz52+37R zT>TaP6^NP1`1_b}Cw5&dkIs)1y-o@&UJAMKN7(O|wMjU!` z#%WH^$Y%)2;cm;b6ywnmrf2nGsiGhRn@zA@80#mruJ*_vi1RaLOUrsPWSF)y`?Kz zWh;7&m#the<3#`kZH@`pW7=|~0hn|kG&<;Yfu- zJ|8JtD8F;sbU!ZgXoT)r_MN~{xc=;{{D#4I`F@}G=!{U8&!<_yC5<^SuLR6?YZo@H zp%~7=_uuhIB{F2V->y7FXq9Ed7A*kAF1%&Sq(2%t_%+25)s`V%bIW=G9?x=7Zng4m zsq%&Aj-9m|W%YeT;5FI24+~8b(bG1oQL(FGjEC8`^uNnb!GKTZuC~t+;CsE+2FtW36%CL-8o6lx5PtB&@%$;70JS9{0uYKl5@( z9tds8S`O|<}#JfSPRkWemXq6 z0xZ|V4^Nyy%j#spueYA}5%7b-2x?t~>-`9iu zJ4Ej}H(&TN*6m_K)q5crUGWJS=4XQFdseq{uP2+gIC}1^kJ(ac*!I0~jo%bCGu(`8`_bYa0Y4x375v)`>YUD-`_JG<{HJNP>oY9p2#OpWnB2jP$M`Y6<= zoxhgXMubwe&jtsq3I|by*a}&5l;aTSdfo9De+`e!G2vDDp;udzZ6YIzWEnDBegK_o z_*=)cSgLJlcelKYrvyHNyq`f3>~1P+f~mcfe|21*^Fnxxd4o$ zhw{(Qvu8h0U*BR3_S9c>@?v5@3NYWmcQU(S+lT|xt`rKU%Fw^Y>*g3H-GldOvwYzd zB-GV^LN367*eGZB%|w5Xpz;R;Gs}@ahV%~-ZP+s=UoTpe$?Og9|1Op#+mnQR*m3t| zc6Up}I`ITT(MwJkepGMqaDZ#s530dE5zvb9of?{3KYM09dZ3}=U|=`1X%99%7|K1& zOj3Ec2&a12*{`^IJ4P;`INBIC+w*~R6E6IWL+!pY(4YyR&Dc+UbG`Fj;JK6RxB9@< zLE6O3P59LpbI)v&P*=@rsthyW-3d&6 z$qL8CXt;EV5*b27+-dF)9Nn~%Yq5XpOhk-)+QMLcl*~y6qe6>kE3b36*VQ;}UB?4! zO~F&Mb#ODB>i+Iwp}GvtZMsMzNQ|koIEG#EX^Z(ouQ*WhF;meLm&k0*QrtFycCcHE;G zaHVu+Mjy20I*Pc-biQTY^bKT8a+FKVWIB773ROPv0Ppto{?*^@4R7Z}Po3coQj1^Z+YGfWwzB`WaU){(hE?&f>mR zAM~{b#+gxzjn0PD(KhGk_82@h9mO&26FW)?d6K(O=*SMh=k8)LSqtjqf9d6V?$*$( ziboKPX;bCNosZqWY0bD(>gRiI2f;T~@;z$chK$n*)w12L9{1T0isgZr_J4|On--Zf zi$rr9?UWc-c*?PlLjr;9OSe?2YHsq@@eG((Z8!tJbFCTm%oEQ8>zYzy$33J+CD*~D z)AtNR$v#wQXU6S(Ss((Y zA^6dMq&BlqznqDJ!CW0zgk1@mX74}7K4e~tmW}t?hQ=(m6-GImd0S78UScVe@CpWdQe?%~v1dOYadeHY82VDm+I4xZW=B+g&sA;MaB1V{< z?(GQIdgxX&z49tUoDVwrP;!8sv}^C;>FteRde}%P){8S6AdEG;aPpad@xQJc@3qg9 z77*rdHlxRwG<|qv(D{6QqV8>MqrHO59)XSF*y4LU(mWIJ<8Yz~R}wH@5%6Iq2FfgG z#!t-&O}f2n#WJG8t{TtGelOX2-KYGq)~S8u){ljXycYhO^i@{NVL42TH}Y8NEz$f2 z_p2Z+_e2KdF2qFtj=#UeM-ySzs!Ht5N!0>O{Q5x^kX*`q&&1!CCe(h8+ol&*i|QXf ze#k)0=k|?cuLxR-(B^;XZ+=${N~4rG7#Qx99Vc=-X@!)tr1K4&n8R>k(rph8_L|NB7Ntw>f zgKQ7(>S*p8?)N;}_4!)(mK~?Je}wUDN(~yJ&-E5FT_VEmUMrgGZz?&mUQ&b(?Pb+w zkKrc51?DckM7hQxX=t;(&|Nt{#y;OCuk?So3hHMi)DJEiQZJg0ld^gSjI$qIH3mtB zc7`GT%US=zs6tIMYq&X>et&FXM%Db^@5E}5zEv7GzW3m%8?PJcVdjCMzjd4h2P(>x ze0D$Pi@SGh(@79OoW)cUr}cW9;8^JI&LHYuNvA>!RTo$Yc5lLtzwr`5oR~f)r-{&V z-JQ6H7h#&qX1l`)bB%l3D9%fijg4hGon)_e-bI!oPW& zPm#-kwJLuxI^Sf2FygG%FcRTDMRuH!qB`vYW|2yxFZ2~*Rc=q0%v`U9-I4|R=RQ%} zP1?1 zj8*Kng8ED()2$v|hky1vpw8$6F-C5-4A6wdd|=DG2AL(wE85`|$@Qtg`rDO2g`x1a zQ^|94wZt!b>wgYqee|9iKpfKWU*(;Sxj3aj5h~bZB8=yo6=k;KzGkyihj>D+K(fiA z@87ElgF!;?4gA~aGdD8zx#8PoYst@d)3nAW9T(1!a6%wA>)O=?1lm$t@XwW;gxB1`i3I&X9M!}bR?oq_ z+a5OOUGeGQgW6V4Z8iJ-drZ!K?dZ47{CXvfF~@@vUPTr-R@Av^>v-WTdF_Dr*$^VP}b3(yi!d1=(%VvSAGGQrUnf_6wd&#Uf z;;BGSTcrhWE0Xh8=<^*`fP~*am$$|b&N|pz!Hz$WWvY!2pnw(!bczg5t-U!{Q z59-c|OKNE!{hYJKWwTx$#`PE!#*}(6>`wF)pW4vd5kEJZ>`*fln{ECFnSIj~-lIC* z7v-{w;dSnqmXPGci`;&o{v}&5sx~t4pBT5hhp8*nGpY;Wf}UZ23VCtoay?3vbTC%A`nh6BwrZefc^+0wN@vZSk` zXB1B6H90#u4y$M@22W+u#`ShS{22t z23L15Fk^o7h1UsrtR6fgv^pQ4Awe<55#C3@#$1ot6g?l4)>P3|@soiNhS8}&a+3oH zfLx1Kv0WoPasqq1dddh&bMB?G`uj1U*5Z_O2KgL-M=H!GAg}%%OoNBf}EZ zms772?IRE^Yqr~&npf`eZiv(TF8ijyxa^^lS`+@q#{pK`ckBQw?%BF@67vOWP{0E} zuW`s7+TzIBLot$(!ZqkZtr*DcB+|5TAx(lvf!afJYxe(EN{ z*Da;EB7G-c_^MoCld6?~%=ici?i+V`Tw%<+yb`XcdOk}kd5fm}c%pz39q(opjzMaB z(cc5v$@FZnZ8!&CV$A7)Ryl}dof~C-T3Z_g`-?lvZ-da!D~^A7c-ry{6Ij9RYmm%A z>Lrv03fIn{S-4mr8_9oaT9Qqs9NAH*rZJb1zdY3*Vj|mKp?HLar>)Z$isj9b*SB7Zf@`Sg}1gyp@-FOhP`5f29NFB#o%fS zXAFiq#}eAlzl+N>TBEeHYlm@z)1oaB0jD%Gkybm^?OBsx|Di{KHuTHn0yh7e<+k&n zhtZ_)ojV>6`0F%74ESBl#VXdUTGiX(8Aw41mBUZfT|@tZxLKcs^@R0dJ3eJcnjpl1 zQ`1G7$q!b5r30GNiYX+Y@X2u3zTkwg0~wLw)Zr37@sl)?6}Kq zJ$6$`Z(!Us^F?Fci>7Cu~>5?@}wKOBY)%|)8$Sgg%;T-WTqN$35;xg%A1%)`)yLBsh1%5#ZdzM6itEc30?;tF4Og&r{? zTDPIQkRCT?1p6(w-K^M4t#0gjg z#AH~p+R<*8P^A19)TG@D5kam5`6BJVWq?*;)0dRX1a_2^$}_fR9BwM6EGs%i-%h8K z9iUr0y7D7kOEJjzR8gOO^OGxH9X5X1u%C~p`j|&MHIyFvIj@v8(V7`T)OiPID!^i~ zU3S)L&JsL=jk)dHh);ilyh(NAjG1(%~3XZMa?klR@{$FY#>-b7ir4=Y<>EfqlB%;{tN0|A8fu( z`^9X-Sh*`yVmEiK>O*;1npvtNd+aWj((h<4d}T&3-cef1mULi0=kakl`a z$$-j~m~-w=z82SIo!hT?C(~>{i~9X)v(+Hd?w!B zAv9hu_Z*d-fIp~&F+hy00L9?XJPFaBr*a}H9Q(YC^b2{MGd*>+T<=~PoGp(}UaVAT zmB1QN0xuX>1Ma^XlQH-=Ns4J`I3rebDARxc{XmeV>ng#bqz}CF+-?V0N!2TB#+1fXXt*q3AwOCOB71X5! z6R6YXR9-k5G+$?cZX?E{4YA-VW8oCQq(N`6#c$6fD%s!I%HQh>Fpz7>X^;V`8? z0ZD?~-;2W%7r#(dv+%a$jyxp5V=_`?8b!Z!om^_#W@yHXyZpV?7c~3cl!r@j<_mM%8+>F@(gj`2aS1Sx4b9B0wzT93t zdXn&0c~IhKu!GKh8mLPW*(w=x(9BK3ZdSgs8Q*lf^JHhe@_w2N92oPObXYP`VNiO(}WoKiHYoVjqx3zIj zi<0_fEk203mA@82>^u8|x5yrk8&yG~EPH%YSxm+L-Z$v$yVsagQGx?Gh;mm+BmD@3 zwfRzJWz=bgIi?}VXg1YqBd4iID>w_vr%J_JFMRe_J8HL$<-=!vTBa?!lJI$e2Hf)4 zqM&i70yXA6yPUSmI?YB{mH+iEaJo7*LiU4-qdE%VrGB?LM7-L@O_IeUdVq7x@@!dtXaN=B>qA5TYul!RT)nyQ#3~ zw+Nq6=haKckWRRI&Gv9QAD$J({2v6I!?-s@DsA!m@rm4)+cac;+F2_NoT$}VY13x8 zD(CLz6b2$2SexVSqJcGX%VU`J*uPj(8D3RVq&u7Vr;9-Nc6}|P?m@5gRPR6ug6<7k z!L5+@n9%9Bzu|cnHB&slM~xs(p^ID;`+KrJ{oY6f7}k~D5=zjw^WFi75`9*&3C@F< zjrHOnc0N48t7iG@G{LKCS;589P4{tT&6nL8u2L@;R(y#KlH8~=ko|p14?rFTQ*OlqL$y3Q5lNxrT zmCDuiT5(WBvv?&e3E~?7_I9H3^{7;3<~KKzzLZHt5`Ytz&_1-C&yOZQ*Wr9WEgl^d zF==$GTuI|_rg(>;AmhR`?9Glb2s?S~+{H+=Yv)#Pyi5*VnPKC5tPDWv2;~Tq?fdlx zPQ6)J?#ord;l}=AywX$I4E-3xN4so`wtkA)*c-d zlsLsbww8`lnTzA|d4A1LUG>-aW;)xgB^w27dtrp@YbO0ZRZkd~Q#NF-$!by5BInb( zH#4W{Ls~$I>0uTjuC(`j&1at>yPXYN%VFv;ArDYVvNnU*aMo4BBziXzN^_`&t^edp zpGd#4esCxAs@LSGQ`i?>xBEbT{aifZ`QzZtJ6FZAUi&|vfD4w0eD>^#MQoe9t1lcx zh~_?FX#p->(3|%>svY{bSskrMZRNzYjN5=y-)4%lNm`Ao*i~G5g4c;0JiNIN$XU0J zbyD=~Odn9!KdWhK%H?R3oGfaQsaWtj<7>(`{_ITpkQTO*wHQTm5HhQl&hM@UrX}9a zBF5mXx_CFLzviT2=Lw#(@@8D7>74}3MBG{}PUkhVrd|`dUArD|`mkH9VB(0C1y=3Z> zX^b9(e3xw(?NTTZwc2wW5()`0Sjhlozoy1eAvk@5wgd~lt$It0Xs^ScC4-MkR0C!w zUB?B=K7CS}Ybr@yBq7|Jq%#2^y8^L;k;T6;<1a0qz1Sek@4pC6OPh2BR*AcwEOrJQ zMu=ZWX_N^&I&D}uCv>7eVxvs}3DY~TMo$N_xr&^`?@1ZtB031}RUWBTF@# zXA~X=XSKjGa>M!Klt@ej?m3qj3e^MmLPT=tO8s@WD(vlQL25X7QurK8ON1I z$w(n?klW~IOU6Bz-6s#8kZ?1imDHU=xy<4YfTM60ANfV)O81U279wrLHnE_aC?GPr6cZZmJ%mLb;( zky^3x@VK-9o7Mi_gG`nraEK2*HdyyRWUk3JX88FJdE9!mDWJ*}b%)L6N*cTmz>8gC zjWQI)6I?o=Pyu~Uc77zIXa`2^gRDHRv{srn6R?LBuT4F2FupnsGn;-Z0`|tw8_$X; zl9!i=U1OspOv?Uu`2mY2iqxBkMBbnl?cZIo!2wC8;;``QI_>U&x?|vJtT^R;mVBhn ziKrR$_F$1i;*ZdwknvduCP+=a!-9R+AQ5pxP1FjFu}pxJTYhji=Z8f?8OmKB%_5wb z%db@t2~)e+o=@|H;eRn8b*=C^%E(@UW#z%hgRXC&WVi?)J8=dj0niPjY}J3k4x3)B zdJ=zb2`4hk$prEmb*MufmudB7b457(imPR4p=_P~n#k~C97s4}<@DTM(N}eW}FVVR!r-0#ou zA&%U4TB>wMq(Q!q6=YIG=2vWFialRoe2R+_dN%!=SQ0LocP9+e6avPaxnI+Ck#N z>Mde<>Kp^&#{TD z^7AG4seicUC>X|?VIP!QL zj1v5Pcy+~qF>Cok{$kblru6%e-#Q00giGP3b+g&Io{DHz6i?N`H7{ z6scdvPg^#W>XxTd8AF|rZ;-1sa{td1zcCeU<1pmFrfqLH90vyft_8{@m};_BwqYnGKTfn{R42I=66tClBL*OSa;q{D$S zb=FV~Z}?%(YpHw~iImcVu=W)fM2U;Re7@#;fCZh*jec^iIx6OXy^B~^$ST?=)lBI* z6AfW5LuakPb;bjfW^Zu`OWbU!KcScHGf32P30^%KXctj2jA6dHH}6TE%Pz&jj&8dW zodee{jr1oJZ&I6Wre(@8Gbx-6srWlVNw~Jol2?>(QK>nCgO8g*?XETe@2+8ht!>{xJVar-DrESJHgTpmpBb558Mi_naFx z%LO6lSQlPxk<2F*!W(#bI0B63`&V;51q?L#nGyK_HS`mQ7-6Uf2ir(PA{u{5B|wlSxo?mCy=h;q=TwV`>+3%+@BjN()<(sd2B%4Zlg4y{nb7410HaO?Vud9X}PpY$l*)Cz=s?PZn z+n(GCnMvuzXh~VFl4K3rkS)YLBch#a;b1XU*+lM%g-(L7z8kW?piB*qy(8jYJHv7? z)Aw)6?Y=%fX_t_+hQH)`O#1IX;@VRFJGm?u6A)=eV8`o?b*5kjc>}m5+Zi?A3BgEE z)&brCxxp=UP&7nnIuU=*EkBV_aI`yGH{qa0u^gu8G2`WJr+zXyck_pDjYMxGz(_Z( zKcddl)_q@xNlPEC=foahWHE+uQsgctnFY+Xf3pa>5EgZ>#l}te!rVqc3VQia(wo-o z57bt$J|>p`7#p zfA=cIoe0cbV)K|sIS(8RE>Qsn2y317vVS(NpCS+wGS@KuE%=+GuZ{`s?)ZrILUlB! z(KO!{*)BqXJHW?sbI&@@JqZe(cu6j3fSUnpenEf8=b1medM*}CUCUuK8CjT)qqaTw z4$Z$ti&B!@?s088E~w672UJvZMQM76L5LlE=Jm2^>Sn~539m@s2CLIQBf_}j`RH3P znh0L@H2l!)9vpP6=lZ&K$@jjXDVA#MZBYWBzS>f#w7rel%*?_pLUVkWBGdHr9fi>5 zI*K9wW~OzXIHc+>HkL1$8gP(TO&N^~lk~C*mdItE3VuN=6b+cjRAenx1AnJ2&9pgk zoM4j)ur^*|(d_plRvdBTHg(R#oZc4)?y-v}Md@@!5*=1Op$z#X2*$3>>h>i0eS{trZCxy7@F)8aJ>g%SeRK&osMFe>R$JB=N7de|WdYdWD>6xQ>sCWLdZjXPE(zqlxw(5e z(QXedFdywXglBmZH939ij9~O-6Rg2mir{pwYSf{-nK2&Gv?*s~NR2y2#MxW2BXsic zH(EE;;6n1Kbk-7idlZ7L?(JoSZ-^x@`$jy=X0{;q&(nMb$X#& zpYbG&h`ZGcx=e4Bno=D0BZM+yL0-!QM8q1=pA-hvBM_oU2d31?Ul=Gu_Y>-;gq@Gp z4KKkVf5+o8yhaL$F+k^Ri1{@N#EYnqVXhv6OfLUN9mo;CB>^R^#~XxCnY>4>2Z4msq~FGY9QZZ--_p3GTvL?oGr@4)O2Pd*j`T;0vq#= z*d@G9WTq{(ec@k&v{eO_-{J>~CH*C0Jd-`lW0P+j-t+Z!HOn~9O67dHUm=^$IU_6Q zqTauHQ|GoWEsk*HbCgsZ4eAb`;~g$Z!L)@%x|){^CUFFOyMuP|OKC%_*}p*(E%y@C zefE(Hk=NLnQ?m{+%g;}Ij`)iALPhD)fKtdYS$#%pVOrb^?z4s)`@s?qZg2|=I`anc z-(UtB+>YD$=4AI%zq-x`N^(v-$+slvJT%E{;vB%f>xUF+@TXBR zc1sA(K1Z4xyrV9g-A;lEToKjdqPL%fhW=m>QK%ZdU8Co|r+MygI`P+K( zZXUVZGOPBVelIF*{oF$(*1vtlW=fxulE9|DNp^JPTa`7b{jq8*ntO;kLVf=SA8G2B znM}36!9Mj}SHIh}P=4x~2uI$OLej4-#+FR+)zD$*!KT0NC0lu#!deGs?MCTm=ZH9~ zWeoiYhAhbKI5L~86kY@$smen{O>FA7b9NjFSQ2_*Tw=zQA=i)fQ~aGr1OfN6KNh1( z?EQvGEh#noLsNQ)G6oq>XcqqQtZ&l$7o@c{ELUs7ql&$ux8Pn7ZTq(vZi(Gbc3ik_ z(z{f!kOJ3n4vw@%mOy}5AmF?&f+k$0VP4kFUP5Evb`+`sb1S3JGDFr(E6Db+?vq21 zen+sNxpY*ZJ@=1J%|78QM9eTgR zdp)QW{Qf-!pVdyYSRpD|UYy?=vjPVWI^4;JJ<)4%ROmi@AtvQ_*MX2DTG4EKWzDV4T2 zD3EyR#V0Dy0N3Tk8ZtH^u$wL&>;p4BlM%DHqBbl`%sz&_ zbT7#FUtB-D_CX=MK#|9sGifjd?N^?@v$n@-OWycE7ZwFKF3vbz%dy1;6V?XbvTbgT ztry_R2!U+;LXbc3CfhiU+0Gle?Dag{hgM@x@g>5&>z7|~ub}7i_E~vm;g%04hVEd< z5VgZE#@Mvwhus%2+cHp%4=OZ?-KmsLouu5=uvzI;^fBvy`};VwuQLnS7{5J=HJnZx z?|ITRO@39~67z|fo@OT$km1UToAEp;=#Cn-{*@kU#&J(Io4k;x$l~x08iw*!)^0IM^kc8>PlhFN{pO&sN%gCXR;=zc~y(;0mlp{z{FI;I8tn zp-LpeC6#ttG+@xbneoZ^=qkHgOT?p#_+WmJM(s+ z>P@a|CBVih(?bOWh-r=(^>54XQ_jp5?|ag*ZBxoHH%me)ZCv3yvrXsG%FnWts>j7& zx&=5Pe%`L{9&<2PYpi0z%=}?x0z&)Q$H<*)toT;Hb`_tA$Us)9FjtSukcqlVz^&kYdr1h=T z%dwk=&^qYjE{*Kdo;}{swu$px?SZOwm>)7M8rkg=u)9L(tlXh8B|5ooMernyQJQeUy#l{OX9FfMlx4!>d z#MI&Yn`<{0Wm#`}vcp1!w<fSBV zqzjF9^XwJNK)dz=f`0n_^#P9y^5NdWi}L;%W3OX9Y-R#;4`zfWTnJ zKXuEPLujmjpLNLAPAkx9mx8l(Et8v)kf4x;2glhjHb%HE>efOq*#~Q@xcj{Y zoU5ey^nSVK$^Nv%#e8<{)M-*)V|JF8^XWkIHd5ncV?^&nqEG&)0JrPn7qX3(F$<1) zAbXruQm-7yI~(HU*9zS9b3-48g-q4V*6mSUlx!^{r{I)~(waEU=2VlTDWBk=Dc{+_ zoy%L`W#p)e&W!dm)h%DAjSE+{R^SF3rS$5+X;}g?;|y81voX@L;}a}@WVhL2e(u<; z=0VLIh>$pwoZ&(bg(?&WyG5U~*uIjIt3dScmI}%9k6uU;`i1iLhkbl5Q*^$~@nM|L z%Wn~fFErCHB-`a{o8G#U5hd<9=Nv~H+D1y+gh3H)hgtqY*^%6)tv91LwB7O&E`Xdz z$4B4i4@{Of;9(Dg$91Gs$DI|(kTdigl)D8eo9&l&%5hvRaN#f#LO>ty7hukFP~KUkBxtS}n1^FJHPE-f!uI?a)H zl+MoDp*k;d2>j7Yd*-0$zxm{{SD_N%y7F`ZYNF3sUj7=TWu;uemwMiO(uQ6 z2uwd3dpue8W=`jP54U6NwT$-N+&bRSWSre%KI>LpC4W3Hmp2+^AS0JywovDXfuP2fXa0jryd7VYRJ|Vm#TJ~0< z9bpZ#Am#T@R8&H42EoLrDf+~?)sIX0mtM2Yx4=>E2ig%5;F~@&u?Jt(L!*RYVWK8j zlN~X?@wT=2ELM5Hp^094B$pjKE52L-y|ze?B!oBTP~@ev^0hlY^jC!S}c@ zV+Odd$MR>*iSME$FT&R%XT2Fa8MBVQphB4=_vcRC>VQj4PcMR>doAyN+3=a>&_#Yv z$-fQogn@C{@O?YOv*F!qrO&rM-sGDP`Mqkakdk#r|4FeD+59L_c0^W=A<+5f&Q}w{ z4`aNbD=y8* z@b@!VUc;?w@ufl{2svh1@XudFr(xWHK%K7VK1Yb<(Ew_w<|;&VeT~S`o6$O(f2Qw; zZF8W}IS5BYv4%KHqVqXsjQg~k8hGWCVamzgX{xIGm!_K-R!@3M z6ef1<9BD4?KoVEG+^vf%U8ymDEH`E0z;1N4uKK03+|vC@6A0P7 zvq10q#JlVBH9LHs98}ZtyoQ@GEO=Zl6MSFX)YSA%Egf=LJ~_2>qNX=I-IalZ%hep% z#fzo@S9S9g>*8S;bIV_xE|?Wo+@lS7@G6x_2QlXZDe2 z4T-*Z_Dogl;8bLKZ8+FN;NZ*}`poehGYe_G;Y4)Q92}Jf0 z9Xyqjv8ua|CZ8#v-eu@KV`o>vW5vrYT?c0lW{5brf!*BIF%flXMJ27ScoaP&SK8Pw zvnH*=m5GB_6{Y&e<$60UM@pvD%W|bl8=XxJuj9;&W8o>@RM!?T-^boa^-Fg?8Ev|Q zpKvGsF;Cx0E{qlu^GVY( zO28hrm|~tH7~W+XJ(WRvwy)w@V>UWL&-Tg)9GW7?{Kp-}{Z9BY?{K|rFhj51ax|=u zrKbBWAJJz73CG1)1>?-tKEGl}N?K!qgGyQnIVa(gNgbI*0aSY1y(isIOZ__j~ ziy&6K)Il8_?W!E<;z~vNhSxCjneHrbSb1>GNNw8irYR<``p_5-9$dp{pM9yL=Lx!e zvcvPP^u(0MMuTZ}=Uc<_rAuaxS97&I$GY{hvrVQMuiK+!&5drSrQr#=*cJ1*t;nFS zmZK!(nXc+k^qny*z-hJ7gtHKbE{wTfZQ5k1XVq?C{L%(gw)LUuW8tf|E9mr_+0$Y2 zy7`GTbFJDe@4zq3%JV)Suahaz6~ z;%>%FZ7`;le!Qlzno(b`g#lgK=(H}^rG1R-Q~G|Ra%eUiO;0@wJSW^eaKlX%a))iY z<49L2s;&Lfr69P`R%X%@uZ$S0zA1fF5qq>zmh&8gMKsND!)?{UT*D2|?kBgnQ7QO2 z(lHMeV#7z)9&_6X4n%@tucHKvstM1G!SsHWd&{0}SQheC8wK&gZS8}`fybI9PjdK6N1@7* zdDnz6}r=3lZztW$!!0jr!4F>uchm)?C@`xW@5*@nH>br?js#G^0Lv( zelX@(=z%f-fwu6S9xwegBG9hn9vb?k@h`Qxx z`*>jATFU}`=`3eCuJ(jaddxpgyT}vt>PiG0Z_c`C&*Z$~9CW@;`rg$&ygBm>y}N6` z>o{eM@su_t4{k8hQn!}%sY&&-xmQGCO;c{I&L_*srP6(+V_l)heb@n?I&^fa z)AM;&Wd_&$Q`mCqEOj6zrstiY{bhP&gHM8ntBJX$D-~V4?a@$N+u824i5s$^RcObN z^Lh`NsZ!>}WzESA&-60lo<^|^yz31Kk4mg`csl0L$%H{Vbd@urH=5(|xSc`J#XKW~sQ%>Ip+a=O9Sh|yxB<;|++^x0gnCpk4-+G#`%@p?+3kO;$LyrOE}neF!N z22?fhGTA#c`!bENytn?$NV4N80_p8~$MN=U%;t39UB8#A(MR0N!vinbjcMk)<=z(g zTuxb1*KQBPDmx6s9NC%fuFH;j`m}akTHdcP5aG)7x{0mQuu2DuRyVOJCj&RqAsZ)F zWtQ=t_g8rNbB)!JyUV%icrr+TUX)rO$?_y z?x;0cV=JBGo$k-a1UZv+OP^p3tu`7{gz6@ikh*Z-R{D?|>}?tzm_W+)WR*m_%}Tc? zZ2U-jwUy&>Ifx=Q+LV#(qh0AHwO^-YPb61*3V8WID%!I{mv*!C4R*5u{J`>zei?Ra zim}g9Yo=Zf{$?;1&u5GkEL-ttD>|O3mXi^FPmqcp>AQHDf!F8bEU>Tkn0mC)K2w%+ z2R`FPdp_-Ap#nS2oQbP#4EOL$YrGH}9TuKCu)Ix%N7|%PDE+>9nq^=N^6d|3Q}<69GzZfA9A+;X(Sna+p@Kvbyz;%n*vC#bTX~fm+lTAcxX+GNrDo95KN;u$0!~1|zA7 zK5&%x{wy~WbAy8e(^d9Vw(1!(x^hvK$u(@{>H;0W)K302Yjt6d> zHQ9;{h6UW7Nn)Pu@q9xN(b|+HR)^OORfp;2ZPYkX-TQMiSWcf%RTw&+yTGpM$dr%24&(JI|zHLoFif9tF&3ptPs#Zp#c`jZUjRb5nvfY@Tl! z4dvL_0A0W@JYlMuKCp+>*&A%7A?LUnOqHH<{Ro+~!5*PvA6KV$ruTu1>dJLBJD3){ z-j3#t@ux>9%W)sxx3MfY7@%3>2qVC`fr84t46DC7oYp5&Eamf2QM#HF zTw#MVZwj)>nDUp~{W13y&Wz^qHKJQrxX_->eK}@Z>(1qhw~m3j%j`Kp<-mJ3Wiq>a z4qP=>FE?{j=&lWJr$^|(U1?%J55;F1zQM>$dfa_^5dB;uhrw%yBQ2k{BtejIg~79Qt8tM2sDGVZ3F^4W9Nc9JsC1aEIj#Vo^x31nPF^f5BMVNWi8OB4(q}muJ&1AV_2pitCO6FoU7c%Xb2+TZRN`$MBwZT%Q*UbbuB61#oq0zZHTNKsTUksGPk8%QO z)(Z@hs^Ec5nkpXHRVc&)TeL^yiE@Uymkx_?M91c99|GaOaF$zG-9QbIKD9b~CM^2E zJ|XwKLuQ%Bto|~qw&QFss=My)=+jhfFuC!U;vAc_=ksn`IdRX*@l_YER zm(u-i7A%`!;lOau02jEdRfG=g%8};4!;I<8Z0`x>-Dzx!0e`BA#Bfi$F+LIxT&dSO0>+NobG8VYJqn%Fzn>5B9GaVsfonV13 zolqIt%=q%5T5*u8!{qhiZA*C#56l#izB)`X-p5}qvtl1MrYEh}UY>`|WVH8T(LOCLtRXpm zt+o^+eGcpxq;m5Yth()Hf|-8#9MPs{e7L|xYZvRla&xm=C};HyVuQi(;7$0>F|Rpr zP~C%dYgSD;kHbigo~EQa!P=eOH4$}SM~oZ?2C~?-z{YG(;LdEB5A(p5NNHWow4mH? z-n9~5)>KT@f>vqTE@~YZ&-*R^uqS6WIH54((G7Zc&4I(laxMJaLTMZxcasv;UZu!R|eo2N54>2uxXF>}B0jjX9*E^w*XFDojt zIL}c|&!kgpdC#7p?wu)o?7mUTYKBcMFgnOlAK1e@h+nvo^r%(Xp(jw{q$%dGomJzT zZc0|=hfN!oj2`Z@wlIrkVwA z7_uS`OvQ|ja!#l?8$9M{e?bwNgEE8Vv7upRQx^`H#&EpF3XA=#ol;WwL#;tfPuwRT zF&UEW^swWenjsPNym0r36&su_A3lfJFvH6a$d#3(74|MK{KAoiYVyF$C=wf7l{Vxr zoK_KY*pRg`S6x+R9h5$9g*v)!HN#rrL^hw};9@f_%jm9M7&Fg_E^V@#bKsEY02|D5 zy5a~k$iP)jO9yL(2QgJw*(_=<%(g`C%B=BwmW(k@lnz{-jOYz6^MN1bCMVf`1ErjH zUzN?x@+!+Mj5x}gCbY506r{tpSGm3X0B%E(t8mN4ACw*jP{FldKVff-lc`l(WMO zR{9mzSck5%mnXT$$Zd_o% zvsXCXJ>tMtHOdP&yoePBEn`mA7F5&f$snyB*9x0jUT4gxf^(h}Vz~#(A}HuuZ882F z+dI_0p)o4AJ~l_nEAq;M$($9=FdN>P*`)imSrHbVJ6vUsqioTTUFEju=E}Aq`Zx>p zbh;llqp}ezjATATrc;iqi}BF@i(0ODuKzH*xWpAfq#V}%{v zyjJ&g7ap^_+F~}?Yt(gDawsFCo{ce^5i8u0uB)6GozKji6k>nBA5+#ZuQyfn=XV$) zJR7SpqHuH(5vYFo?GIt9R<;^E?BDYf$X)1E+hhKSWiE&X<=d zn8wueSuaOYZSYLB^&B{%4%f@i#1X|6HXo0d+Nn`<54^k*j^1FjTMnPvX-v`gBZ*Om zV^xkE;ek~O)^qCK2-gN@jOXNan3W1RX17n!-M`j63EivJ%)}_e}Wpwgc$! zUzmYv@7Q3=98=sP2Hu)`mW!!GYlEYsXcsoGX8Lmk4Inp`=}p72Is)Z>*a%np3g=K5 zKe}?p9Mq&rWUby(S439qcWaT=@1*kFiM$AO($7B^1qonu(wlu*sO-kSC@KX6sB zw6UNMClAZCj61JMn=$4F6WPGY17@ipaD?3f#&)jR%F5}vSDosR^W_)Li%}aK0jKVz z^tcyu4xDPLHf3dW59YvKmh{6$O%!7jW~HX;upyc;4qVZ)u1$C{0M841)nKkN5)LkK zmDddJt#TGomn~35Eo|2?pSvVhW;%3XRa@l(56U7dE?jMNT&vxhwJMKIGUvb+s?Iua zSDDi{<<96d9@ssM;DLQ|c4w!?^xWY$9Ubmh*}G#w<<4LncY&79x<;$2m|Ebr^qSIr zF99(!AKggA#>SX~cfj(fYF@U6Y%FjwD@J;r;~401VUiKEDW_*m=XJGuDzCCwHC*8i zjoAq@vf62W;9+*f8mA`Q?z|pkh?kYqy}7Y9l9LCv8dc~Dr_#_1TxM|i+|^hG$9?-` zfGoAb9o~IlCc5jgu8E1+SVyU!cP(;dat;hRf?DAjq58n?X&pFlc|=uir^wS8c2E12 z!c<;($TDm!y)4>)**1+{9@@u9joDy8>G2Y%Kt&ul)7xWV+Y~0#G1@0OLWix0ruQZs ztr3saX=zb;VJXJe{F4w1d2bmCG5-8sYlhP-7r4;MOdQxfygUwEHktAj9)s*C_rTO~ zKX!C;DQ1DQI$!QatU7ye*p}I7)1})Ou5MSE>FVaFm0VzsG0|~^GkaKl;Fvb8u5S0J z;T^EcvX3yMraYnbyAKu;8ddnl=9tNFV9V^6JFGIN zYPCA7Dd&MJMt0dLOsY55yxsJ~ILEs0h^H!Jl( za?CRNiUy-XhxKSw)?pLv!P;Phrk-<6cOZ=imW?&JDoWyy8Yqty zmW1r1T-{2){*pzM@87RkdFi%6ZIOW^Tm@_EjTJTablI3_)L~OB3+@x7O>@^G;FY6m z^t7@!VZpN}{5Fl&W8HUGm5Wsy96~=SB$RBQcsVwAAUAl1IpTp~m@Aw>8aW$F5sD-1 z@`{KHD|+ZFY)NAscp?XcKNmXFlexexrk-z;gyHLVD>2MS-<4-_c;JLdbDgcMYR0Bq z>Ft&Wj%sJ&C^xIKbBAmCejU(*KtDgBZisNl2D`zG|KjUTa4p$w7=Z4mAyE`X?SErI zl5f`y(9Qx5D39eD?t5oFdL2yk-3S=7Z#;1K=-_JCb{;HbSoy%RS^T~P)MP-PC4>92 z8a1-cFqbRZw`v26^b1!e#Ct(!=H8ov&dBig%Ld@=Il-%q?m5BBZS6d8bG&))IkUOV z&4az8&L=LUw!RPY+KV~3!$Jb@M^77AfA7y$s=6oD72AAaXXO22DhBA?Lt` zodC%ryQkuNkfJR=OQx`>==+Ika5QzVZb0;N$E}^NLER6i72Ec~xrL2+VJo#fI5mli zi)*S3Jur7T)IEo=v%Blw>sH6Q9=PEa*#`@jb!=k{@)^tqVvpU4X?}Pc75TypRG|(| zME`8pTmkh=o@{+HQ(BHXPcpNDfd}qhH#-mB)XqH)xTd$BRXZ2GCwRmO2M^v2jrN5# zLAp*bYOuHiC9eBDv9mI={SU5Ak?_6AR%?w1t`PzIe(5fD+$Jj`rFsS%(c%dXX*jqS zWp7f?f$GW3(ivrU3VD*X*%R;sm#16dZ*Fdwd5=#~Z0d!x5_wvT9L{p?p)Z|wKP<5> z@J_FGqxXAY27-kbj^uKEuo;@w#m;k1&JmDIN?G?+v>+oO_ih?abZ0 zoahnWMQ+0RjTKe0#V7{ zlMGKWbd#s1oX@USXmqFbOiwNDB{{d(d<9QTIDD`=ciab?M7bU~!zF${a9l8|^Hv=_ zx$kMcJ@oui(+{X|Xmv#SH$3m;rnwD;h~Ope~0W-q>tPmS7pi@tJhz1LIBSbOlO zQodztCmIhLnhe~-Kxa)QeLKtlZyg6^yZT@PE!V-0VcO3YkJ|nYPX>DDcGv9WbDS_U zNZwt*va9;resauwVhXuBnDo@>V7N!p3unQpIyghizR4>_KY!@F0=4<`Yh#CTFX*K< z`xRW-#ap#C?EMa2tDJln&FU%tV|Tc2^Wa7gR4>ekXzmHl7Es^eI;?)4e=5_leMY&v zgZn*lFK2E)2dW|j`t`ZOGPXhrrzp~+mwFgg48hT;O z%zl@Osf=BHx9HRRY%%P?p&eNhxrgp{%+pS}CvmKu#prLVk5%yB_%ApI)4>yLF=oNL zCaCt#Gg(Tn?jYwRzs_20cD;vb3*i&&cBSi%aUvnSf~j`9Pw)(*d7JFkOg)=iyJpr& zW^K9mB)6*YvN2n(8|)Bn%?7)&^@`nMb9m2t)gI$uRpvZz?b$%|y{g7illPO9Vz({7 zFhJ&APC0Tk4o1p0>zOfnOkM+F&DkXFEB~KM&4t6TKU&*mTZQT85Drdi4 zK+W7|a)!XXcYYh59$Z{5bYDcJ8+ktY&_Gr;MIK>Y7drsSiWTsvI#!%aG*Sx=6-W~gR|1h z0vvt)HRM+1v56}36&w-Fh=aGF$&1I$h#1cY?-<9h z@V;qWckIE?m=$?nkV-SLFB}p5b6!kkWt}m`|Np~D)!ky=6%^Bm&vg4epjuKUGibuFHQ z3`|YmLkI!FcZ_#3l~2172_9Si21&WtI+}n*I6t zeAj07dqv3HICy%cGH%%`M)V5@wKsS(yT1EmrK;+=eY9ro4V0rR0;goBko`=plwD_p zja6sw-9DBf?<;tgHR4HzxAVI)3W^#%_i7G>zQYunu2XiA>5Lc7R>aI)%qmvhclW5t z=SKrxM&D5~Vzl3C5|SD{?8Iiz^85Q8%iq6wj%xdf8BvNnc)hdV{khnKK zM9sy9%Y0rXSYGu#Thoj38L8<>Yahwnt;l=-RUPZwa4iI8^hRn z;ZjsL4<2N1^ue*}9=-5Z#O~MRz9*-etYY{XJF{yZ>4??$VTizfe>p^twza3TqM6G4 zUIndDuiz-JCQp0S8KGNsP_FkV%>)>}FE>Lf|g*D}9 zTx@mJ#j43&KJbnzGWWJQsPMU*|8oyrFH8mXJ*|)O)ZPwDPpI>S;lg}Vv*q5od&ov- zzgJ_kCiOi#GMDC^nnFeDft@ue@4-!}mG>gkm_a`=Na|ve)bzo#5M!P=DOMg_RHtv% zMY-^>qGp2MEhlQeBTNRu-g@CyRpbd?wADHHaBUW+pPMdBb)Do+1GZ5eH zL=1UPi?qVEeqjeTYwq`lnN-%n8A?XJaBVMfaAK2)ufJ5Ne)ktK-achJHQl~tuY{Zz zmSW|5x0;HUE=CWvcwi4AQYU%f+1x&uRY=qe@BV(v=jb$WMk;9!__Aptm}ivJyVzr= zH)H!{9SamraDX%GgGF`CbCh$?#l5$yk*;r`0@}(a#!frtUf&E5x3^|6&z=shZQWrC zWY&CR%p~y4t?1>!uBvGB;A90{FPvG}J2l~g!?(qWuFhw0(mOZ}P7S`?b`Z&jokdL4 z9t*P*H@4Jx_H!`6Jh80K=+^D5Ec1z7=&sw-vBoz0=O;-nz2{}J;W=}wm@VSxjZB4K z$s=>OE_RAk9o$sU^fMVS?%9da&A`E3UG~24aC)(IFj|rH!P1noUfALJW;LqKxyi~3 z#^QzBn;spU0MmOgLtekjURLvrb5;&PA8d~xJ+P+C#-3!xSaXsm3Sj!(VaUFVqOvRM z28TK$^|Z30Pp)#8iDO}Dhwt37&3koIQhD!J8D!MFFtXq|c#7q!yBybMRK0Mzck8aH zNp_Cz6!BKqK9i-fzh5>Qluxo5l~}!S)G%XC@-k=Y;GW2ucz;5ON^~Er%+>GTl&D?i zGkLl=ceBUV^!i}zj?=GXXQ}s;ttPi|%PtPG=7ncsLO3`XMjp#?4(eq!(}iQJI%2<< z=xs5LC+2iUAM8@k*1_dmyPs8SiF@;x%}y}y23AY*Wjnn3Mmbgy^99Su=_g)vKqt7S zxjeac#Of8?%h`>)Dkgh42RCb+cn&hhf$9@HK`84a&lm9t6_ZWF}pIJ(<>`ki(B?`dG{}8bDDZ3b5;Q#ywlE^gO|Bm&*b<|-3KElDIYvb zqE|1BwtBzaua&-SUbJ$6H#QJ+aB6Cn2ltLs{lMIfoS&alZG>lUZ-a|^_jaw2H<=UF zTPK-Adg_5YBID<`HU^kDcbyT|PQUDEsk79GTcJvgU!K_N)-gs`3jJi#p=G6NY z{wiWp_W|Xmn>x6Zoqpj`6M2I*!{iONy)*eA`?u~=?VxXyvu)qLP9(y3;Tp8QyH;;S z`gXQ*4D*4h>K676RBBLlu)9O#v%d-n?|rHfZY6(iTbDJ@vH^wnmJM$%Z?d5G)(K|U z$<3-wCu$D#dE=yj+RA8=ogO$ro-J8slIA z_T7HA2nS!m2ISD-DuHnt<4JFbg0UH49TySnr>S&0^3IC5Kguv4YV&+e#R!NZQA z?#`9A1K;HGP`NJ*OjqMzD(Ibqo6W#`_o*qX?zFC^p@Uam>wQ(OC2^&BPKf%SKJ}wm71;>W=X$NBOe5-Z?9x0PuSo9W_1lgZ7La z);CJS{5F9#V(W#)81P#WBtY%=wZm%X+0!)>s*4xV>tk&~J1&MR)Rr zW3syT;4Ywja0aE3-V2!$>b~aWh;?wWS?^)8xMQE-p!GEw8N0DhtZ;7~o8fHmSfDy% zUN#-+;=xeEz{Qih{d}NGbJ8cdtEaN?J%a&Mc;OgNEe>WE*?S*mYz9+L94Px(J2Q|c zc&A6nhb1ix=f1zMS`&BM+ZyA2tJ;x$CJ584(i}UhdEEuY9~avbcRAX*YO|hLoSG9nt3=^qht{>vveN}yN6&0;=FvmInwQ3cm^fO)UfhpO zClE}%3ooQ1_vpoV3s<{inok{J<~=|4qKchIvx9CtE7yiIuO4P}-0X5&?=J62A(sDW z?f|1XdNVfnoy|@8;_>PSo2n9@(QG)Vqhp6PXY(~DDxTV?;>4b2*CtyvS4X@2j0P%u zeQ;$%d!jch0+G*Xpn>7hSxB*u4z(mab&5T8W;sZEcaAnXi}lnr8a_H$8R7bm&iF%d zpV0%M`eATh_wwx49xJVw{n_NM-^o1{0XO-D-3(iw_%H#pS((pq7fg2T_z>-=OM`iCOX{BR!QD7emP> z&d|2{E8Fa3Oe^dmUdY4f&t#+7+;MMcy+a(h^&_5`Pdo)bI{)v6zuDQE1# zUgpf6;(C`9Yk~jb<$m{AUOc8q|JhJ#*7rzP6LT?8 zrpPB|)X+bt$%J)qly}STky@v9ac_HkZ!1xSd6hi_rf=D`#d~$`}n0>Z5F&(%|LSX-#N6Jq23%3T)cQ*@{nm0K^nXjS? zG0~s(D&yKr$<;{KSvQ)Z||{~9cS@jLt%#Q+_EFqr>hIj ztmhsuk&(^0^JC*%4(@g$=4CfZ{mm_8L%L^eOgm>^I1}3P9bR>u2@w%J~ zy{ObTtEVULT~W(9dg7d@%wr4G;G3B}+Ul2WR(0UuWMuTW7K7Nu1D9hP=E0GXIht}`oq%SL+9FT7QwpWRDbMO|Exwfn;ESh{Yq5EJ(fa=f?<Y9Jg{383g6&uW?dYW z=<*AT3Dh2pHMVrI!5KZ~2)ZRr-R+*Uy=OHOaOBPlPe-+NaHkr=!RaLN+QC?fE`GyI zHxhS6Qp4xrDS8--pL1^ZdJeAUd*7`J3(?0mHdQ`0rnJwhv#l%~OGk#T%|b;!Ejw~_ z@ucbf1`4a!W3>9S)H2Jructcd4pi4-_cczbRcsy`vF0~Uh0b_RuVP^5_p+?Te8Ys4 z@?i-EhZmErj<3c0ehX259H?~9t=e!bPt~LL;?>oN#^4Li9p(+r0oHusNOq0CCa2nU z@dBbARrhu}`u4SIU7l05z1GePYupGN%&E@VgO^b+nHAmlHYV21tbbsGT2;R-GU|k8 z?b1Fr$T9mdwTw}h{VgVW)?Y_=&%Q<&QtwQkntGC!P8r{ z(CgnQ;m;-&K6H%e(4m~H=oj@Y1F3_RE*l3o&^37BaCYL}*n=CrbFeEmhi|;*++=Lz zb{{Ml!PgKc*ar3v({MbxUA-vjVS^Df$ZLBeSjSdc@@u1>ZDTwKmj;E4xf>n%XmY!? zlXuT^4-txs0U$M%1Eelj}q95wzOW-k3<=SKK}bJa`mU|Nl+gS#LKdoG?<#cP}q(Yv~f%IQ{pAxpi`T5_R!*Bz^Iq8hT`AFVnw^-k@n60>FtCES=`_5$y zRWYZxE0EZ^b(b5c*Usx$Y|pJ*RlUA-lYz=tbacs%Z+;bOgvXc_O^M;t|;J^trjz0xYyHIe`Uw&XPjr^x#crz*y>}U%*eTxs~$cuJY%*m zhC|GYJv;l}NOq7h7iT$zgFCc-mK{B5<=5Fz=hnfJvLau2Yti(<)lsdl?DqD|YhBcu zQTf%qn;E=yCmDXPs-#HaW;0duW$*0czpKR`Qc$oD-cc)hzg;W~g}-BLS8Qkw&Q)k} za67YW|BlOXC2JO6dl8?V#@t--; zQ-wo!h5i~`Rh9Mk*j+ASDv!-Dx9a9@%}%{)?hK5+7nbTN9jl>|uaeiny(M$DdF zh~m$2W)kbi#7;)d1p8o79`si^O6kX{a7wGZ$!rBDzq-3={e86P)Wko>W&Vj&YvxYQ zoKPws!NDCb>$k~GeWOKXKdP>(-P**#&RhcrQ=TsWz3NstBkoeJqM^H#F}>sbyPa5c zm8k(=y-|L6JFMjc!1?$`VvCSbL0PmgPrUr!^_ z4?CrBY*LPjrWXbv_7IX8J>#f=T_O40}Pi)4fUUY}q&AKH|MfS11xpF_P#>+Xm zZnf=e*F9B_Ym;gl=sQH#va-MNg`@Ye&u8s`^V3-ig9me29gnIJKxX;a*_xPZ)$HW! z!WQlMzC6gRgy5Tt2=Gz#X5{P_oDlNo%vN1)KXF;i(!qfugEzSc8U3o-Ea7(6f^=PK z?}i_=%joir9ksK+*b3K+_L!&}JDbg)#m{;CRT2EDwN`s3Wh;X5Jyqpy{vCE(ZT+m> znc;=mi-%;l8=ZH91!{K=ozC5?hmGvq@re!AOnnxXs~;7MvuvK+7<P9}Sy{_zI!AWqgEqSXS zEBAkYIh+NU_OUfRpdVYLEXE!hibB?*LL-33W!v4Ys2kf`$-S}bn0#GKO!RoK)lm60 z7ZoTx>^L@ga}`4VG&k1>zGlXDDZYiUEaMI@tz^HNyGR!92q8H9MpxR$ACRm+IapWD zKe5S@vhTaW-r0Ig$f#JYZY-mErfw{muKIgyWtXfzt=+}s%*pl6NcndQrV7-tv6#i( zYceA%9=X}s*?a9K7{9M27w&yoY9Jh2D{^piF_W*Fi|T@}bqTBd+FP^s-z~G3iSM?~ z&Fa22Z!laB8{Qh;er}+beRI7)KDP91b~@{hFQ}QH3m6lw#~xWVYv9;ov!r9&jO|Cs z-Q38$UA55)oRY_moO;;tjLkEfV;ItBYk_%`T)D}~JSF$`?*r=ET;^kV6}GK9x$5H2 zGU^)4;P1AzQLcOGME4eaYhECWk6Z#};pApZi!XNyne(!(GJUC-XJB8`kdK z=2EfDZ;R~UYf>q}-t@ISU0K(L5PaG0?w&e!$X@E$lG%JvYNNiA*HtnPg_@%OZVgQ~ z=UA^gW^OEEYUg1KgW*?lj}o}nOa5(Z{_ltkoO1`aWS5)0uowB#HQ%D`^v#?*8XLO8twkd%=w$wqXEzqe3DjQo8@e zilVh=Tf{xU1O1UT&TO*zv%9XnTpg-fuIkWc=Iq~-O)7VyZj-BBt?xoPHtEMAJEkl5 z*im+pWL7p&6~SmF<%c8Yx}>oB9U=!j`?qa)GNZ5Uo(8X7vI7sBk^?-JTY~b~ z+z{J;TlOILyS=WNU41N-rRCq&Tjiy%<#Nnp%dGKZzLhl@IcLm4H2TZsOs`&JW<;p2 zb;$T^Ms&^VNz_=!9t%y8Iu@NlzHGwNyt#?(+%I-pqX(_kk95#?i>P2sV-u|USxaL85XPgS*rc{RGA2_B1Tcf7b?MTHJv2wX$j4G;GWz#6mjUcqDp&W$W2tgf%$bwhs%+(#J8^3J&E>a26&3Vj$OGo; zo_nPx)hBj`-hM1|t*e5^#;6gx=dYqWb{|9DfXJ^h*b#Mi7cm-8FGzTjuh{63g*pm2Gh*eVckRId_pG2HlUkXqcWnbeHMU zu^mCgqn1Yk^R5&lQGvWiNJEz%jaiA5>)KTS`YeEcoC7$O0bM)no-cPY!Ft&4TIRI` z(0%5+-mH#(jM=H)y4$<$4D#eAgV=mnWE-`|&MK32ZP#Q!wznrLCU0yA#-%81%xlQW z>87q-N}tW3`>{jpL99+J5gSe%8e~t*!)gP{IW`>Gg)cUh`K%y$}WWF5;KC3JI3`53eQkuG+19}DGJd2>sno=0v0Q1I9yGU`_3 z7(K75QpGH{u9fY@v7J5EBX`-z%sIB(gWY2*6rFm^w*Y15XNzhbD`%RozvZnd<%iX& zitl?SxtbolFauT92P-j399+}HE12mKOUDi}T{>23x8A`B_?BgNS`rWTz*+N3u5KH3 zk`eZHUfk*_Jn?|uJ;|C>gbv<_*(WZlqVF!(bY$pMNJQp(o(tBQis+M^8=F%Xw;Rtt zU|w|DI|py(2z#)4o%92b2AsOdlSa)P>}@gYf!%a>`(R-+@9z<0$WhMcuqTFvgSj&i zcg~aLsD0pZj!=1UQe)*!PFU|zujt{~DFJ94TIeL^Wdqngv_~06-`LGk;$dYe8aR0E zrgd;eE&QsG?$y@MZ-9347D#nDbDy>*bS1ORII&!ZTm7Ilw(UGP*^};*TPw}XE7$1p z`sdfs)wAEx_C^n|Hlx zK?;5)2hqAMWQv(h-eG$zJl89_TbU=>)7rb(&FR^i*LqP#V7`N_aNa3L)6l~z(Umwf zT%(?2I~DXZcGKEAmQi-&TJ<{XnJcSr=c>xi-5YF=mwY7`f(jix0mHtyW`$RBj8((E z^ayndq)3-pb8;7P;Zl7o1&q*`<{s z-U6YxK2w&N#%r}2!8#*ebjNpy=`xxx8e4Vi#v1cMY9mp$t`Vpl826SozH7e zOxd10TbCwob;zNqdEn{5R9`$@h19`a8?0AyG`9BJq!QIU7%qm zdM2JXt}O-Gcg}+%`<@7IO!|Q}E%Z;fb+PD!G1PEg*i~}u!BjeGzF#`?^n+S*!FdN= z6Rf^Hpo*+liFgz>b8>qymG>aZnd(=tf-NU*r`}rYo`-B=T`!!umcA67ha(jJAI2-? z3b{(iI-w|=%eJL{~%7uiYn3fc4QbM`vptgOSCnTI3eE~I{b|HEgz zKcDA$UJtx^g~~0e6MD>jqy?Ya;jK+`4O23kOORl)`7EEzf*S=m_c+m5*fooS?E*^` zh_!Q+sq~vl#l8=|JX>}!{NlYX-X?sGl>WskSgrmmMl2Vvh<)Fa>L zv$~`DLATabcW*>Hb{;WLynHglJQ1eO04)(<{o<@4a!qD!Ts@dW0Z8cG!Jdwr6%rJa z%cIxbTuTl!o_!xHKDCq(Q9rF@g==rO*A}*{+oaEzP1#&hOf;|?e<4I?Hy$c;lrD8; zdBiqo<5`+?knZf$mCR>N#@mxgX*Ul#!u3M;=MOK;;Dz~p|5Rp^qjq!T0w2zi;JcG! zI=%i5=#ZoK1ckfvB0I1{5Xmvls|WXXXbWOimos2S!@DtQ9&2Okt=h+yt`0ex^Gr83 zPd<~gtdl1Bz8&R>M&$DUxBhvIO{cV%^UCf^2*f@scI*{${95SE(<@#`8VZBVN$89( zZF_=_FNiN?r#99CASy?{t^16p?6J2~wda(1NBp8QANA}i_?owQnMJA%?f62lr{Xsz zmvJ&hNK(VZ8|h!^2jBPZi{uL?veONwOjXv0Z#40EArcf(<&NLUf%l6#mG5vFocU9O zdDdBk!U`j23A2r!LTz(l-5*-7KN+IAr_$fuP?>L}0D;#g<(cbhGXMQ<7%u$d;48G!HOV8B1rOQ(~Zsb5zpZjX}MDr;7vnwl%U>?=^@^IK)V9)0vd=v{kJ6_R@Wn3(d z`^pPKXD$wUknq@}|r=2p}+JX`>k zJ~4{9FGzpEA)Ip@x`I~jgW@|%y5O0a-FkWcuLo5ufp59DUV4&ehCoZ0?)Nx6+Q`(* z7l^Qa8CjNGX(@7v_b*g<=&S{KWyc#7DMZ3v zRUCE9TfpZgpV4;*Wvtl3F&mC)fi{vbHs&UEp^-pg!^;sBD?bF5;ew{8= zSN_%j`RoT?yf11V<*{Z-GC%4RY*so`8psGPLLjbkNHnp;Kh9NqzO}{>Uk&79n=7#| zP}u8MvK?o!i<$BokFqf5avI+f;Wn~CE-1&A_Ey*_hP-PHV&~3w4td*`8Xsj1Ulmb+ zLu%_y;#o-XO;OP!=jlU1vhizHzfx&>gIx|0w|!&BTDXu`@grS_D#%YuVnlU97L4^* zrK!rd7)LiFUP{gmdyMBKH)NV&)0EZi%um=U(KSfGH>q=1epQV?=Y_gd3qXukx5z^$ z{HzOR%#IG;+E<9r$7E;9%NZ`%n6K|^ii_u4oi~=4b(L*}WHe3OfA>man^mOc2e;JE zM5FCjO1mqb6mExV{@+VO7R_+3Kq}Qj^2+`e_KErrp!w_F#9g?mhb~Y0_1eP@93R-( zZAaE4{+jwy$eUgqd$mA1yAfZl1ZftvIbNJE!DEO9eXWx=sDJJ@6CKI-#F_B)4xm7| zet*#&aQyzs4HSet{{ad!tEU@Od!y_^FY4dmRxbn$#Xoo)ro^*@)2miUTL?nu%v9Lm z)yO4-pE74y2#x|Q6SgG?cy_b(gLiQH5*=`MXtEu4KZSkZ zSg|k8Nu8I&Y=1m%WBx5v%A)6HuyhJujZ7yGF z&)@>@`n%ao0-VvKXxEP+Mj>|uvZ)jUd)7Z|&@bzOs~1_(E{X`3o&N-nYIwSv5+CAM zx{3Y%+SrLt$-#3SP754}?Y^+p_ecUF!NlCWX_U>feQ9*+au0beJ5+e?!^nsA$>NW} zv*I4SP)-}G1{e`C_aKIazD-t9eSqRElCYe&6Us` zo0+ToZ)k=Cq=jJ=4#jy;UYI>T0~AxWLt)+QvIs#x46&0}E7Xb&d$cgf+1@ByLgPuN zC;3 z_&Y=4)<~-B8y<$RXWrKpL#T(O&eD72x~=Hvze9X2ES7=;uhueW3frzvJde;a=YDV2 zywJd>t5jL#h1*}uG__Dn4R|`RqfpuKd?I`0yKI*HG>2S*Bmn*EwjHQ$5^{CkTFdjO zw%PtPWI~Beobt#{nUpXs!7XJR;BACMyI$jvAY|OmXU>c&I%+TMXHb%aKj;T=Q8Jsn zZ|!!gh10vZuos|O73@-vx~|`)S`SWMl0$pF^Z_y4dwE{QWjp&=QQ=IPRhDHnE!rfe zH856Wy{LA83FK&`J2|n$@VGSstGIzP3r;2$RV*bX0i)*JpUKOcS>V`p6QWzCyh!c4 zs&48lC(C6TN6Ide&!QCM+b7TX2z-X@mMC~qqjMD!*Sgg!ns%C8z4T+ed4P#!P0j&N zowP47NJ(D{A4Yqoilv2thAjP5HgY37Tjp8M?!$B6vgv8!O)bc$j5qDxKZ)!jx ze-j0wMO=Biz!$A4Ahf_4QQ#RzGU9$19_pzM&XC}mX45G*zd3@rR8zqi-(Bn)aD_+b zXqa{E>0-#(ohTp@@f7X)X?uzdc-{sA*sS9Bi2Z=~Y;CQsmw)W+lFhK<^@VumFdDV= zJW~poD@aL3Nl9C+20lLo;W%|Ewc1rjy&=u6v2@ZF-4g5ue(B%C|DCAwvJ4V;FC=kc zfn1S0MSnw^82m6fs9%-;4niuGp5KmDm58=;0vA(_?MEhS!`lTsF++O=jO`ijLJ<( z%AVJB7tEcVTV>g0WX5;v4~*8D`8+%)28186?f#0iblWGoKd`l8gWr#RbIsU->(ar| z?dL^ma&jWM1?6HwN0o3PjGQdrj(O@ViuxaA>LQMuNQsGg*Qp=;dtBcN>G_~D%W6_;P z3`^%ul7;(EW5zg3-hrGYyzn`-;kU_Z|K>?*$vL||@4cS#r-xwuuuI}z#Q3t+%*9WmxbFkxO&}k$)b0utMB2b2WCnflog1m`N zNv&bxb;$i0Ya_zgki%f##G~0M>5LhClCHqBigNAdj=x-GIZSvs zk0#@a*rVZaUI>G=#Qo42K!{ABbJq)D7Y8TNeW_)=o+{T;6~NY71o&5>`l{g~jx9T= zWBQvZ7!aG9N+Eb;ZW+4=ry_9m!iStF3290)*T%~Hu^=>3yjVyn3oV@$JG}Tw5&!sjtVRHz5K7q=Y%LvLjIl0d47)6$DbCL`U zsV5M%HxEFFo*&!F?iiU8&1{O?ocm;LPbGA!Q2|#0pU{e_h^8#(RWq$D)FgrzG~Xki zf5!~Vq;LIrURM{QQKpwG0t+c*- z3o-RY%oeU;f)@M3WV~<{Wt`4b3@DZiGZ><04&gT+v#RH_+gHi;QSx_~QcEgVeb%)g zi?ciS-&UBY1FkA=1dOcQ=GS#VveDt6TK~k5_QbxM*LpqUOUeH;kP0jkW zHhV8Md+x?si_B+J3abH8^$1uwf|Y@kNa~vkdGW*{V7Aezv~?_oxCt11dVQ_6MetPl zYMqeh@q=Y*V!&V5z9&yI_>nSiAH$7F*-QV357Msil)RqWlUlo`Ppc6aH=xxF8<&Q4 zIn~C7NG1O{8T)=BwHRUDHFP#Q2%;(NJWzjcMaNc+qx@Z|b8{9i^I=8@zBw^Ak}R&^ zF9V-j z8pz&F@3d0QM`SqJU>d<|CIWxVyikZk&@7j~86S$RE#HV$O10J9oy$$imWn@D+hurefz*m@I>dCD`;u@4DK zFi7#6p7@A%fDbu=aHE9og+!$if<4ag^_-NZ$X0Tju<8=pJZ_!ZC^}7qTgz;A;e;*e4CAk%jU<$qlk0C4~Q}=>7J9T(cGn&hM zgM_CJ$g;sNXdL_hH6p$3Ac2%WvuxVC}o1xzZ^Z@9{n5Pk>}H+-L8FSQ!+I?}@6S4#{3Q`m1E-9zutA$~`&| z4OiW1LgMnDqTN_8q}dTVi9Q*ZRIkm-*YWcaOdjUb4@-$;r}_qQzDYNhhBXItA)WN` zx1P`+bm>TEhNxJRPc=LcTrBcf6PAlg4vpMdunX0A+k&*!DR(>jQ=IU&p>u$v!rJj~ zgYSZ+W}Fs$0f0c#II6{}F@)WyfW>f|=(Y?+i*4o;Q%N4aUb5KD?|2&B_@|B+Ir-$8a)zM7&b~ zX*-QVjt>&+x!SYjx)`^lYzgj}BPNW=Tr(Ohr<{A%tBQ0(Z_4}}yQR;d*jcKVkgZ~V ztcUm=AWq|)v~hH)MCnoD(>)cr&u1Q~NU>N^qq{Ud$DT!s&Oqf>zNsY*5nW``lWr{h zyL-lMDEAw&UwaOJw8rc|`7TGgdd;RJeigx(y(vG*`o7goqy&R{+hDzxeGW%ZFV#}} zV9|e<=E+z__7}QTha?lF8e<4>h2zg!slTjX?eVmHD`sPNg`Th6H#^oglS2wxJya3|n_3`ZZjB^F6fiVX3j2SnBhhJ7w zF6!J=ef&Tu0+LjWjK{yUKCod4)L3NZ$XxEr_~N^M6F265H1{o6Z#Lp_-{dWFaNFs zcxJ$6*$5{u>4~8-2Z@gP#4=ix_y1XMyCSVx##RriNad zomF0|bJKB=@YQ4Q)NpEciM-`(^RhWk+4#-Te&D~|^_*#~i@ufEWHjRKsB&^)kjLI( zs3%B%W^lS06?*;9$m*){mZk=QrasT4;2l4@?M|ih+Ky2+$Hecq8>7Ki-YFO~o2cjF zE8gv^j?00pda(Imi!R#qrDxb~yTFNYwaJWwl{#S0p_ZDGD_Yn?vMp-7-A(6b3N*Yt z6TBVXF;Ay)&$f>D&d$rN<^46!fCV)zUFe5fQgSG#cPLX=`+Fi~l%!gw0V}#OwPI!v z%I&c>r$w19r` zQ{1OEj@S@`^u0?N=&YsBs4V%ZlqPV@d-BZH&w1%OU%*Rg-m zb>XTVxegaoh_$9_bx&T)oXdLrM2;sg;69g<*ayvwql0&J54=+)xb=px@=NzmY^Co6 zWE4ifa$2x~46=}#-?a+Im+1Iu*MC=8W=o1#gSz+%2<)G_kKH3PH!5ry0X0(e6?@-1%A#e;z-z+Rr_I{JMYiH~;gjt=ufBtb+O+*et)fPMmmG+lrLlX( zz96tSHMmxf5@54E#GQtT`w|mkS3-NUX?lK%-r61t=2?B9Tv?S~j`dFC^8Xd|qm$|` z;7=dj`$b}vs&>?gJhX0wOs5@<9ed_yK3?D8d@#hKW^nN~Q0(2U<4RoIH(-9R@jQYl z*hkssDYE_KtVA|du>qEF#?a%Uhu$s}s5w7zF9npbt?o3GuoB4FhNlXBMpZSV%>d1` z9Rx;YJCeU2EI*#`1udFg>JL-@ezV(G3AVHS5SSo~Bj1G1V}5c~3kmM}Nu|vs?KsN$ zITndpLfb#FQ?A#eUA*4CUt9eAbU4(6xiErena=8-@9^9UlLZ?DO=av``wUpQdeA0I zr0wEVN!1O3S*`C=J^7B>rXv|XB(o5Jxr$>FrI{8a`YPCH0>BFv=Tjzo2fLuoX!{v2 z%}5FuB{){K4*T8QRG1VsT0VZeb-M*XuuW_^?W(P^^c1da@sqrGjHbkW`%C$?>+s29m*Rve=t)cdl~m zdLdmGo%2F2cqjQp9Gi=N4&)+8((F@MgF)N<<5IFTFYa_cv0F4`|iK! zwAr99R^^fDfJ`yq&rT3cVjf9h6jH1vmwUv7Dh}k;kcN3P`AlxwVe=!eFU-8IFSJ|W zl2BjB`Xcsr$aMGu-3Bb3=Rt+j0@tRm3FBzFKkcNyiDEOqvW(UIl=q4tXTK#ImU+M;c7D3H6-e*a$5!1TF};`^kv5*5V+-$!x)W(-c zGmpxqvxB}%a@`&+UpUC3Su2NzJv>zUgJuKEwR!dOM~49wfgB%WrG|65aO1U1E`GKg z`rml5!HFH{q1-PV(7u6;6!miGenuIRZ_1)5yv$EOJFZDPK6(h+P%MD2Xf#yE(~8iS zJO7^XztlLaMstvN8F7Zl)5`-7cY=lA+bmu)6*hrMtm{vyaowh=95N-qO>PqSuQvF(h(;u@k@#hrb%_wlMM3 zXm{(8p>8S#Y~xNPi^6SDAyadUSVB%9H4nCF zu>F^>BPpwJOfikSxHR7z<&kOK$5zVDY_|-#nU=2HzV;n(R*4bT_Xx6=`wA#|`27z9 z=#gntdrqCRg%9{oRn+SP-`y($H@telPqtCmQj0)9Zk?$|C8UzV?u5#v#WdEm?*9D3 z=sh8GnZvHxd?th9oTPvorsQU{ZE$(wbuw2f4R_7-p3EwDQue;1-?LzSyaH;ncaJ(Ux)Xpy*3^JH3qn$Kzs5FZPX8N_SrzrG zqX_;1n^v-TJ@db;0)=l+PM67iD-Y4HT-&`$Bw$+cvK)k*mBy(CSi zg%#K3>1PgjH>zNX$}d57PXh@iBmbu-8pXczEL)whiEv6MmVlYEfsa!`7 z28$U`@DwyEV+Z-zeaMsoqph5tNe%{B@08XosEPT8IAd#+PPsj=a%R3xnfalSS!jD2 zX!4oHMXl*UV}yl&cU^O-d5l^!pABU@t$ekuHi?EKysq?TVw0HYj(Xl2opx?hmzQl&Yk?3*)i`@St`3-q z36dzinCo3}Sl)III4>n5#o1W zZB=p3bMWC{Da5yk;iZ&ClCct=&y+|EQ1`X(4#l79OpU zWdqq+7&i2|zzNh+Q~1ed?4T|0%=_-dF{zYk4u924+F!J;-)wksg)Ig~U)wOrvEyef z6S7Ln_D7DF-C*eSn=ThmK~*9n3>K6fcgB8nzFesPl-H-+{!jt{+;-3nadwe2^xgXs zGeS4)Z9GRa_)c2TD-f#n6Q5H1;UAwzYHSB5Pp=mmd|xAScx@2%#jRRD*Lfl%t?<#p z!(Ib5#%CR$HeIZsOfeFfDQ{Zh%d!Uaa$SBcvVn6!-nPjmihZB-96;th?wbnR?w^lP z1zfWL`v?`~_LSb%ZnQ!gQYGS=PRGHK=%r6G5MX9dx`(8J$~Yr? zy%{^IG_m#dciJ0pv(i+eV?w#u$Qh|1mC)XwAepGBVjkHSy^#F z-3e*?#gg^Qzb0h|>vQ-@lfnjzw$~M2yLpOp9Ddd+A0z7jxx0%2;jbCbI({M_IsKb{ z84b*Ia-n6AAmiXEF+#!ToEL% zJ1VC@r!;=>#OLf&+EFEVEU>G4PN5H|u3&|YV){^b-(iXPT=3l5ks9v0u*f%t4lWBl z>>w61@j_W;&TOI$owdN^#d~Va=u;!$vAO+gquoU(1N^tvXma+S4vv(f^hlvwd+m`9 zrxtf5Kb|Hgs|E0i%SW`W_!7l7ZSnGi;A#=yQzeJ4fCfpEW&ldx+w&$q#vC=gzw-9f z3C6~K(9u_(+HxwY?j})}mo)~J(O!l- zU^`VR{7A!d6-6MWTFy&}RF(MLybh zZjRQMvrkA_Np@&LOBuQHSW5SG+5u@VW+e#IJ!0BklaEdp-z%&ukxMNO{ryzPslGX1 zstN3wmp@40r*Fk{KmU)+LrC8Ut{-W)PoZm$xjgxNeOPW;`VXq_Rqb)dYeUn5VhpDq zKpp1T6c5SuWFE?hCP$i`GuFI5tIeOIH6;Bc*}na5lVQH5+%Q_**oVa&L8HWAb-GoT zM(Lf#YWp#*s6rOCAn)pUFt15jT_{ed!}0z*w#W;>!MO zL8q+)&z=C9nc*ED_@{|Y<%WyCg~H>PubaIs`(b(z4@sordRjGCbiguIP&|e$p`q`|sR{xxQf6;Ic&z;7 z$BOc6HPvHZwHFF1yjVwH%R3@L?DhN|LKB~Vi)($|v9?T0;Io37m>n}w$Ps3sSvogn zr$FYG_*^@`FY$3EiVdES%)a=zQfx*f0=ck%*KZm+H^qA2!S^4;85t~=o(=m5k-1B*)B79v}^aoWZtfde-`hiSbQ)u$h0A| z&JEMub@acMM;6H+xyS_f!tDh6=})B85brQ!jg-rdOI$)qyCDYbP02$7u; zGPPYoKYAJeDH2?rLlvZja!Q!7TJO&kXC6DqoK=}qzMx9$e5!ykYC;F$zKX5ZCPBf{nc9$K9GH4HU?%pOxb8S_9n!kHVfoJ(p zA*@wGSb@53Z(8P>JFV>kk`L}!>8^hH4X6fw4(-Vh>k*`+IzGZx3_a-HGD`MkdgtnC z|Lw(=^4_4#&u}|mKb_Ev>MNL-^cR1%MPA8}5eb88R7}F)_kTT10QUY!R8e1~O-jW| zj6;DtrW5At%H&4I5(j0S-KnA3yKj59e`wl0H~Jm}VpepK;qP7l;!$-&s1edmgxK5h z(=aeXvZ~toY-Z!P7lq$7!Q0B#(zL=p|AW{!=LBbW!MEPlB<|B?n0tVF)KcQHl5lnJh;NhUhv2_ zNRJ1>!>u!g7}>m5S9FfYe*K~S<*q$eFnx<^QT}F-Vp0CmgF$eoIKC)kV^m+5YlwQD@7wN58YwwI~7 zdPK(ON45U)R=J3lREmU7dTuMzTYNGdo}VGSYCDMl*PQJAvl;I{6`Ml#wHS-8Fxr2$ znOiBmF~M$!`dzpk!ryh6A&s;@@yx!!|J%5tsMk94Qc28@`5vX$x|czHwWRR=H133m zralvj_t9PT;?X8Yh}zj0!{z1xIaaJNX;r!@!xdQ?ZNBr@kwazM=?(IhbPo6!vqU+8?7MUp ziNzp6tFbri{%;fA48wGKO4p^#?y6E~GH_NG#8m0imVAg~iLR63j?=ukLCRSw%j)&&24tVk~@1ytZ5 zoJn(i`Xk-F&N+BB9V*?Uve$c&F4yS6?2aNErVaGo^JA>B+7<72rfM!NSW|AOLsc8J z^2A0DD~i@DRU}a-e?|FiaCB46tMjJ8IVR}aLHfLBc?=#FGY_^qDT1>H zVunw~^Nc-LgL}4bG==pdC;Y++3)y)f_jx(vTaV;3UOg_Hi1QGdwTS;MXg?wRZ{Boj zE&bnx(0`(em*Va0C*TKqG1vdwJZ&+aIP_xTH=6!E3pebgO~SO0G3D23L&^?DC~uUM z=pFpzH>rRqG$Si^>Qer?shzq~tcqyPzOh$LW2~xt*g@4BK_~HQHQYk7jHgnMxoG#H zMaiA=ecY}0Bgd5jl|QRz1%A#r{0G_+MT#3tO@0DT@$;JiXTR3^ig99jRrCJH%|-Q{ z7N@@G?#foGrfy9o3gjSM)wc`#ASV51sU@}dkg?CB-8>54=^jW~R}4@&TytLhjFEq2 za8S6a!cGxt6OFo4kErCd`QsS!DPkHi=2jFV!@~I30m(duH;rp4fr6hmlSiNXN){xF zAZpOVfjl$nN^6aHUpLgG-a<)ng3VuTmD>lP$FE9W@us~^v%qaJ<3{o9ax6AD6HD*T$5-H&I1c#>KJqK15WlK_q zk{q+qV(DWj)U3q=XoLc;NV&#V-S;6xb0zr8%}g%)S3fXdGnVELN%VQ<^K1``d44OR zs;d9gt8!rG@cH4kyt68DyoqVk(Ta7_1*dBrfs+e0!kwzTGkRjjBiz&nyqK71!ma@N z#!scXFs{+qOp(MXNCn?EueLw>(OFZ3Yo7JTXfk5&jxa6}_%95czW&+mhF@;CZcz%FH2iC6jNs->?OV6C0+P@bAo= zg6vmX0_K%!3|g9zas-kx#=XpqH%wWifHJRd@(sO(QR)~_wAaML6&1q~)s6Xnx6R$=3hN@6y7>oYx5ZbKUzfU8KHkc)#_h+!fhfcbpsIcO^(F)QhnF$7Jof z3j?qu%J!sSaHlkeM?!Fa*KH`dtQTzMNG;cKVlV3c>&Q6Ze*EXeRZVNThRZ2Wk?hPE zwR-Mg!3n1u4;AjK7_9b?iO*LJL6CUxW~-y9rV`pwj7Qn?rWjPTlhjsgqiUrXCo+Vn z%Xsp;ck`Ta@Fp~xRWqq-?Hq<5QkHXZpEx-dwpA7oJW5V-8+z98E^46X4J!Y(1 z{s%SaX=3nop8iDH<5{zbgTfWJkn4U{?`*!%e#{-V6xNXAhF*K&4>9IOo@D2(UQhQ- zBIu1r25AU>j8TdE)Ha{Uyf!?QATmh#Ej1V9I5!v~Qbn6@oCx=}psKyhb`FCUI)@>v zKyseyN4BkS@azIsTPFobeu~|F=~(r-u>^X*e9L2Ppybq2{L8jHmMtjlfZU&!VK7yf zwrvl&9TJvTHSX_F7`VI4G+OQ#h0cM<#fsJVqTTE-1u&&dB#V=bZN=t@UzSzFt#g2| zI(?M>P1ZT!EQc!IvEMxeT~XmM(IWezkImU(T+6!krmxU(W%Yj{!(W;Y5ZzNZ_u;zZ zN{y?kJ5vR2Oa8a-;V*@H1&0!_TwO6wPi>5pij-vq>f-QDje;O-f`!=W+S+?8o~?1y z&-lWV$=xyJ3Zg*Dd+x~MllHth(`W*|u3GxQ#>_1M+Z-Qm4~G844<{kapA4aAYNYFj z_=55s|q#Y8wB-jpVjSW;o)7{A(+|^W2F`f zw2>fb7e~QaaK$vU)(2;<#{3pOxsG7GgF-f00j>dG#~73|EBA00&#Yj|4>x*Z^2z|L zJtuFy)YrL1q^>kkhAtH%ieBJc7iN-SOK~`NkzM+fzQyq9vdr;?+tcKn3bDbQ@{A!% zK*#u6;`5dO&-s@89PoGZhis;Z{!93*^IOMFdY&>TSW^Z;dKqNysRwvjV}G z5LfzCdf(wj1W)m*h8?)xkGW~dZm1~2T0TrWNM>o*(-32xXZmSs&?AQhN zl>RuLx$9ni>dW!YtoXxOTDh<0m;3cL7aDV~-MW0y?H^b5hwq}XW{mO|l^(ntd$Rzg zDZM{AdYUq)y|oVhJFSf2a(ehDnW8gY2)1Ar_Os>loEk{1iQJi8y(PB2Q~t7&SJvJO z=g*ky;{mBgPVd5NP3D!cJhPo7M6TV@=S${qr_SHzZnLQ&(#sBO^gxyGOq8+71gO^!f z>K(j*vCX0MJ6Yp=4e%ODf@%5HI;CpG_kej8Zr(4Bp0Tc5eK=r28l)*DS6SeU!^vGn5@uO(as|# zv#)@!_veIMtoq*<+5!;U~vCP!2WSz3L`cuibVo#{s`<1}H>; zem7XkQV>(!+Q%x4?{>0ZV(R@IL~jlwS`?1G4a_B4m-2>|2Z zwbn0v%MO-J*M>n*O!)?Y9#B?+xGl#mr%*CB$>?nMhmG)PN-;TIZ!r*+6p;}ew@MDa z8LzNHHznPoDJsJ{&K+69BEeN`O`CFgTGkBqLL_br7Bx47us zYz9nGqiELON-}`Zv61}8OvsaE6V!o8ni&|SdHH$BUNeV$!a-YH#B&hSJCSFAup2!r z&d~xMUxX}ppvJOsJ~n|W6B;^fcwb3_wB}(3GtFN+)%xiQ-e2figHjYMP>!nVC&Uc# zNpOP@(p~D6uVc1Cw9k%oUe<8%xAtqKMdq)HyhL!y4PeY21|fM;^zuLzRAj;0t;wrM zCff@iqvzC};#z6;N7?rN(^_wBY%&a;pB~LUXi=eq#GcdfQy&C0h`0ga)#GPvx9w)? z0jf_d&?5h77Fv26iA-5IY;P|z`=U^p_m>k7{iCa;=FS1tLH3~b+WsQ5sn1B1M^Ic^ zr~i`ExvpRxV-Ex&vn`X0x`P&ciq;{wuc)tyB$Iyqp82nfVoZ9{_ z@gutqOecVA;`yKk(pdE%urFDIH@%l36XD9Z5r}IZOQ0D$sBN^ACP-n9+VVEb$CH|- zgX0~H_Ej)HQ}*)SJ~|zlzD)$C7p@%|@pTBIC58FP3EZC4AwQx_VX%nL={u3qvX)6~ zUX$mofhjMK`ljH??s!(kI*~7{VKOfbK?5~!NZ@t{sr6cXsc`hJ#w2A28~=7A!3@WO zV%G%m55{wGxE;0b%?YZDM;VxvMa(Gh+%tOJ@+Iuc2tYtKwB-taHUB|~fWXr%M;7_X zZ8d6VBQ9bLVE133g13Ir5uIkOy}vvn(qqqaAOt{(EB19}OnI{dVp@0K2+2O$*9=8c zH0upUAqO1_#Ga(4wKXq6^G64Pkr#ijT zPViD39$vYuV}i*jT=&ry>QHW2O>yowC|OZ#FXB=)D2cY!h<)U37n($6Vnh`hZ!Eq(plIpOJlAT#G>5 z!}$|Q^%Ot<$L{<{&$EMxH(1x%Hir{*W|h8@{}+Qu{h_%BlZWF1XzYvY!%@Dz4jBp} zo+7kByi@VMJ@Fz8WZu0trsMt!Z+q*=V9H|poE74Q%GXt(k}uirgTw10a+hoRsi=1oPcwL0OLy$m{7#-zN51 zD)o=fezE=5bkn2qrdT0#pF%riRWb`qWt(m+>3$`@E0{JN2P6!-%rU&HGv0x$z6`2Z z?B1uvrtvv|X3O(vtff+%?ZF~#hr59t8zDG_?nZU&Gq6`yom#IQm+{LnyYY9AEb66k zNdhfFsQ0jQN?4GAUBBM!IT-9n>tey9j3rf&`9-c>8(>J|)O*i5S6(_3k)Z(wvnQa^ zNu9&?)FSj6{a7&T*$8b22e>%fv!DzlAYkkwE+VP+md8+%4s?$DGV+u!iH0VH-JUF?hSISQ|c@PNeS zFIUKp>~zntF{)D7f;hafT@OzSnf8^NvE?q^$W8`Aiylsi>FnqXx6>KkJT-SrA}zo$ znjem2ZV1fVp?!WR_sM|ge7`j7l=B+1Vs2301L+rZtEz5|)6uLCXXOz@N-$mBdWijJ z9z|3rJ*068alg{jRMx+#;ZWV^f2itWMsHDjsCqa$TogVPRuc-M9M z0%I%bB)%4xIG!{Bdtso2xHukY{w|1GuN{gQ(np+3UwPtiOTG9~oX2bDpaB0Y*LW-e zjHGnY|52)#=ndnMDj7uN3YOuFZ>9w(R|FGwnr6q#uJ0{Rzugr%$0<;Gj@GDt6{O6r zy%Z={abtIg_RlS4S-9Ul-|no6U!Ips6&n(kag8?$L5E6s>0cSDoz}`*J~w0!mi3>t zc;i%>C9ko0OG2$Wd0r2Gl$d=ezHaP9tQPY2{M25}c^Q1N{s+(^8XF185d4Y1G*XRPpxB^p;grU3p|r$*rK%X?A(- z$OHtv!S5~3WUtxG&CBlY^n6PFQyxCk>%XMNg0LdM)j_0w+i_ICgX`Xr{a@()m6^N0 zI`ptZi13%|*;Um)fHO{VV|e)Nc+%{P&G4H7Za{iuC%g045cHzsc!2y@4wRK;Ny3lg zwnN*ma#&&8MxFiSav$TcwlngKqy-I=a{VinHC<^LWG-vrHGWHBD_|*;nbs|nlI%Pl z!Mq%@^nSa3KxvV@Jkx_3s#Zu@#SxzjIr?vbXoslw?YXq{=U2k3t;H(70n~b=w-$%Y z(~g>-8=9Y2)qM-21!y@3p(<~Kk1GulYP&MrU_`5*gz!)3MPaXgD}bp3pKj&c)&>Bc zN1sQwh@DT|6rJBoc*^JIA&?7kC}`f}Xj&aH0KryU6#Gs?u5>gQ?k z;OmcFq$V*|BCm{2l~EJoEkPkfQ<8OQZjg}oqs=lvOqm14$ZCZ$)iyFQcF;!R_8{N0 z_xkY|GBKJU;qbA&#n?<6M3UkhXJnbzvt)XD*v_DT+Hps(Vd9#2E9iCFI1T_4YNQmV zY|NSQrx~2{+c=|B5zU}?F?n)1)OQez6gh8^Is6bD-{jz9k#W9_y3H&H`uYR>mD~#! zUo9k-xfZs}aK~DDCn|lVFe(XT)GzE(+*@D9&r+L{Mpr!dFIVJpdS4ORd2i7qj-M-7 zful1G;DhyjFv505yt&fWh{Rv*c~6_Q{{eYGhQHu;E{TKTS&J_$8%13lX4yBH8~aYq z)OH?Q6J%b?4OcwR1Up%CpA+U9s_*|auZYS=upN`*o6La-+~h7)J{Nmc2Jrn-In<0dc0->q(B5ULmMsLc;|F}Hazi`MvcrlzrpZ^4Ap>Mj^#S9&GqS}_Ng z5;6Re!|djB!KNp+?)|7u-UsXEOvU(tJDhWiv*DSn??o`-t$A2>&Q#(1$udfN3oI>` z`C2dZgeLELxx=n+y?PY&NLEEL`ktxbqP9+QLAB57+!(O(;B*b5&vFGt#>pkb` z>8d$6r#O|k!`9f?7tWa|@4=hZPF@^lK@VKB1>ja^h504R-Br(IPmH9mk2JWGcc0N* z^M#eO%DNaJLl+Ni&kI+vVsxPVN!P~474vs<~^u(>nx>(%m`I6bY*$+(ZI(#fMJ9+KyHi3tQd#F3=+G>#B zp9wlvpm?$tk%IMOWQBpn_F?Q>>l_g$5z$6Fe4dV7gzUmUEG+pUN{i& z?7`jO^4Mj_&)_Z>``Xx;vT<*knaO7`rgv}~0fN!Ei@j*i%quyR(_Oez?$*vX<>glE zg(HdY-N=kW(g&+nt$bmoJ*|`Mu(@-SjoR=7(}Udo77Xap+yz@GUp6vj`PlNP#=OBb zvwmUBOquoF%-w3A#g>7n=jXix+pU9}J;=?I9NN|5fz6JbxSgPZj6JrySE<)>r5BvJ z%T-Rqe#@nrok#EjGT;*&PypX?j86I4y@tE`8g>|cN4=eeP(No}vXghYOyt&Gu2pZ( zD_It&aFeA>o?t3V^ur={BPWm5W(a-oWCinulm6a7h-m*_GH?|7MWc5+=i*W1q1Cg2 z=N^@kU%%a%y=Q5n0MQSt>4?s~%e;Yawoc^Y`Ld7BsLZ^}yuIUZgTY|ng;8D8dvPP0 zeXzo?_H~#v9gBl8mGPa#agN)1CUe*RcDUE^b0DIM-LJ*2G}wKTv+~VtbLv+ItzCYyTTmKS2)Rt;4DblcSgU&)-!lzcFV;`m}UWA}ko ziJ7juPun$hYjaSw&*a+NM(4pRsD}q{7T5cn^E8a_ZrjEh2j`5V`M~s6G<@(@Ec+&h zi>fE?NX5>dv@Dg!^`&ie>s~qu027fDXpi9_&G^_JQr_iHkD> zv&B2*3b)=6;f9G7x#sf!BFoZj72M~LQUF@ZwePjUS!HCuLEsVq?bWf_S_BXFh}rqV zyCwPHoQcZKyHm+-J(H^wMc(9f=^M5=HP8dsLN4yX@B%ni#&o_cB3S#~>X8%MeVd=j z<-Rb7k>bG~iO|6n!SWNYJlO}MLiT)%9qie8Cr`y(i_osG&F$#=)5brWMjCzRJkzTD zhCP~qU&WcxHF<293g3+ibf#XxV$!X-!OjYN!B)-myMOg|-_8kZYxW+guBdtUuWoUV zwTEpS8%iwoTrb78>+TeDH~M=~gaUYKRb{U}9o-#$w71*AcL%F6=1zJuWq*@q@x4{8 zg zYF|1QNl)EuZ@1?s+wuAYdb1V~16{e^UUXs5-V# ziw)o9?r|pm#)Yi5;rsr>V)xilb88+pCl2e$g5X9#s-kJJDZ#Pwe-m z32)?U#n`TH?%pb4cVO>E!^Gl&Qyo2dmwQyCzZTe779UuQfpadNkVY4??VP`{XUj&` z88$UCPx6$4@mTDcaZKi|Fr%WgkKLs^|F+suu!qO0GuL;inI7RWW+GG#+%b1dqVAZT zldtk>^?)7sejgSqzxv2%JtnM-_H^CeSsYLE;E<8?TIu!t>!M=%HeP$OjEC)rHgIxx zge0z=Ra>t?ms-1XC#+b>-;5*4d0?eFm3gs8y&vvP@llvNsRF8Qee`HzZhdG_ukVxx zCf3>4S}NtW%^20gnyuQocB#>qTU)#S+os%+ytz{u&b>A!xBG94Vz|UpmxGBUkBtqJ zf71#rhYn|jzGO^DR%nCb{jo6R_yYFTI{a8bUIpBRtu>I?W)}LpbRFrn!hBG4;HO<}(6xJPWOqNyVkaQnK3PFz_@3V7g8R1x1G~UIyrnk2 zXA>BBRB~k?`$Dn0`arK8(nC(MopbG$OSo1e>+w;{C=KJ@qB8|ep8+eK?0zh=gV^uT zvj>aFyR`|#i+Y)zb*Pe*b!eK1)x)w86*xAe@c39MYxuC7N!s@UC8GIl?U*6_O?SI< zb*Ks$#ff!rRhrjIt$jyat&YOo+*~d8QBmVyO8jO^mw0E(S&knT+RB@{?cTkqJ)YOe zDT^DO{-ETSF#*FHo7{YhmFY@)t#>#JNYwTX4Jz@xodrG z4Vv}YoMAuao8AZ>TOHG1AuoEF^xw87jlJhq%!&K*)esYpxX7yA$f%$B-AWYL4yg+G{7wDftl_N|pCm!c^*5 z01=*tEkVtcRtha+WvOmEpX(l{tLa&I)sUY++;SP^cv0Z>m7cx|BrJ^sxz> z(qp=4&fXpgkJj8<8ns-%PX1K&y-O;gg}%y&aLrtXf6SwVHWe+OwLDJLc{V$L(~^NKehf&Ir5T3(}m}Ja(gF z;74slZ|WQJl>Iy8+RVrHdcbz|UFP*-beB0b*?2Bh?r={ocV_bDX4F0#&ZLKfZ@MTB z>Q2`?GyAt)lBwvs%q~RY*bu6A9@fQ(#Ic}u*~enE68=2de|6eVD{!ROP$9qqo($iOP9CKe4R;r^HuM5 z)N7qZPyhTuArt;yk~T{FI!5VW>)5Db@3FhPRPSTH9H9EpK_hE#Y^qXt&<*DL=dHo4 zKD0Qlhs@mN7H?{AD=t;n4)bpdHdpSGYB93zL1+)2MTLp6QrB)Ud#)`lRF5&scGTW6 z4|=w~-kkD2#$1e%;#f|Gt8Ol5CE#yM#VC>2b}mB4)&j+O*ldSXr!lf1vd8r`1V$Ga_>)Ndbb#1u$+MtOhT09%HyCL2U z0yA8C*g@s=p`kX6L$@9Il5Wo6_SUEdk%y)l<;UhOCpoTbT~WznV>&VOuuyj1+%^)6 zKDK&GuTP2vCep!Ulc}FEdpidC$X)fUbjQ3?>Nz$l7WvpA8?Eo|WDYiOF;4(+;BTuz z6>qm;Yf^`9u8E$<7BQF}omg5E-%~+3A@0NGHfSG<(02IPHL&)>&aR=omX*76?5uLx zk7ZUxmFC*X=&5V7C+GQX*cgfWXBQYq4Z`ZZ(T$(ruH#gIk&Tpog#X4*Elsa9@DKw z6z(Dy3mHDPz+ly@-E1&%pZV&R{XO%m*L;jw(HXk$F%iP|GHNWL_RBJ-a4+o6DdKjj zbyVmv-Q7&?9$V5dcr4n3$iHnDlf}MvJJ!B7*mxaXHCV+v+eRl2Z4`vSgH8!?W0lw{ z9!jE;j}e>d>|2lB70c{nH>2!+SQNv)v0TJL$7XHtwL#-b%^qvFXHP6aNB3*U%bh%- zU4Z7u4itqw2GZ9oMxA@3Uj% zu&TbFNr5H$`|~!+kJ+krh~4|)ZStoe0ZU^&Ryk9PxW$~>ty_@pp@oNqhV1p-Aq4GP zQzL@)H?3p^$V&-(J_~GYKdd5I(zWUw?6J`^cnz7I9%dc88QAo#49phrx9wn5?=7nF zfZSt4m7IRq*#tE=*W>7Gjon;6tkHqw$=ysM&OxXZzx#fteIyPz>I=O6=R{L118WjCKm^*TSdli)u z$j6w&vALH{t9hwPay?{6xyy<Z%apjqL1)oy6GJA_v1fwo93>!|M@R-n&wYXx3RN zc4=QtV=~5EUh62$XLHC`MY_Tej%_eB-&j^Vt241v|`IHi?pG_)_=6;RK`R0Mpmiz_^bJ!~j+ahRn% zcy`0#2S!4{`_M_p0ytZRZtbRC7}8Ab!DxVak}JI7=T2d=l6T4pA=WoIA{)DS8^$fw#!5G?{ z2X=?2?`4X}4Dt**Sz5eu0}gz-qan~Yx2u?bVA5Rn#oI9%Jh);OkEQN^aw%5eE6ud@ zz5G?Ecz&q_HG%Eh=+%syOlYz6BN@@LUwNelU3Zg}#3K1fmJHU{zdE*NZ?ZR;cw%Go zXThAQ?t7;quu*;JcGBb@x_K`=Hij2{K7=Unm>5Db+F59*8>|{ z{91NuxwU7?ni2@VaI|vg;`CVY2?sYt#tUP^!;7n-%DFW%v6y+5h*Dd(_Zc0RPE~O2hpmiRWZpq%YTz?y zGscZ4W}{DTRt4f-t=?dB^st$ojQxVE6BlbWZNB~u!qr&GyIRR=&9M}+y8dhbL)V!Y zNfx9q)T0RyLIVFC+cWde##S2eLLjc3uAZ)+>{6b-x~=}}=l!u}^&{qJZiaMOwnbgG zsw4c;#b_q_#@sQg1FNGpgqL!0sy096EmmFS=GHzl&R{Ne;2AV=m0hTc7d$2+23OhB z%09{f3WFD{X#-!Klnd3(S#6?Ua7Md&E^N510}Et6;hj`>;w~U7vkvSrft(kdGYsZ| zHyE13%1m#*SSEwTD?CN?9(Ys9ewsZQ_}{hJ$+@rx9KB$`+Vo$`tJFAqAj(Pi0|wHl zJIjR)^j_uECmdMogN zVaVb&Y?3UUu%|h}-4~o86MJ7@WQ6CyRV`XCxM1$`Dg%@2t30{jGiPJkmK%B$^oQccwNs`Gz|a)KwPo z*I>99m43jry%SRx_NX>5?2IB_%Bii)J}@GO^nq8}cD|Hb-JT0`rmA(7x0CgPTa|+w zcCIV#%HNpIHD7Gx{`Fl0KoHq|%pQdU{en^L5wGxo-aN{gneG=%F&)%}R~F{N+yb6( z(02d*Pa4GZg-7)BkEBcpTij!|Dw4~)|Hjtn0lQ=CuM;V#P=~eAQ!kVj3|(FJj{C5g zOiVstjkhvBSb)bDuHCL@&@lsr4_w1h?t!azqF=B$SwUQ77ji%4mQeG6rz@qt{gsUj z-70f>EBS!E@MihIHJr^pFt}aROF3(X=2aFHtOIv2;eJ+`+nae|4>i7Ug=$~QTJG9= z;iWx$;g-^Vz@XdK$(gL?;Jc8y&U~=hnCfqfOwvK#GGkbt7aWwfec+&K>P8)rF!Kp_ zbOx_7W~?jBYyb~7dSb}EEV205E@NMRfMQjKw@;zih){nIA==uPGB{=abzNPx&HLF^ zb!PP2>|yrToSdn+En>P^^)`E0$qTEZCNHdzdY^__j@}E~nev5=&CI7`C@_h;cY7)Z zH)+CIc+jcb>bYx(4ouH}yK}fzPdZ|&!iP?5ruxt{I%i*W5+kAx-A?1L6*$qv14by^ z(tQB-gvmPaMwFXRX^boU1kdeNwg84dFqhDlFf!)BB*4|-yu+5TwK zX??T`kCdSq4)dCA(!A`<#0(yBvpGQXWV~D4sk;Yv?DWen4McydtRi;swOD5CL%182 zl5~`70?E(p%z9Q?QLU=DDJy$=u3e#&Vjjx7-a*t=Ui)9K6s?ho%oJMO$;&E-SIWS%)LPA~8Cmd3#F}UF2_emRc6k|rW#YP z|LG0&#N>^68epH8%kI%bciA!Be;rpMn^)JJs(P?hK@|@hVpsXFVpi^homq8Uwt77{ z=w=g>dZ55Cb$20fG4+G}w@^=fm%od2#$9re)ib}*=61&Fpk$`v zc&q`(+~2I$3-ffN#K~{ z9+cD5QFW7TC|m?mI**ns`-)XbH>p&-V9?!FYSdoYA(DeNMQB)ND8%3g| z@3JVSHJgWJxi|G2PF1>l>cA~Ua1IQb@{8@LWL-8iyM1+;y$>|7xvQ^3m|N~Vx<0?nlWMtFaYF9u$b7E> zbT)a9`9zF)J46%Pb>3S4SL9sVxMgynw(mGOhT7T(92^(i_tL2kl^Qsprzw3)Q9R>B`q4atoaP9$-s< zux(ZO)n}-*+FzG8H@IJyYUg*O=?}EEk$Eo$CZfJSw~8oZez6&UHrEvY&Bh;3a~6Sr z!}A9)An3R73{a3y&<-K*bYv7`CV#VnqkNaxD#GQw>?$|;VyB9i9ksgLhwV};@)dJ? z({pv%>ODqBZ_n1g*jNOQ(H>-%^6IL}e#KlVZs4$X(p~on=dhz*x`?r_ZbWy@9yZ5n z=%wrI()U(YBm#$Zz*!HJTzKc8z>e>!C>9&+U#$ORIU|5uqTEgK+6)an50>5PxVx(x zS(S&4jVe5=JB`U3vKrGT*^QardPSU}&AA1tL5Q~@JKcfbY+*cHo@}X7Ximh*>X?17 zjJ1rDZOzD4{~f?}cw_X48Ma!w#YJFnbW@tiez29B>?7-*UiLLvYP$9*TU7AKrZK`{ zQ4@hzaT`&+mmNR@;ilWOnfYK#mHXF4WM$*Bh1y=e(gh>tUIuG8x;q1Q6EEFxbk%K* zYR=5v8SsEF*%;@F-$AklI}UbH4&*#Jcb3ij|4q=y)p!S5=ML_VKvGy{|1Nt>LO8%L&yzyP4C) z_{q+n7&Sd#ZNUZS_@rbr@;94VyWu(P21W6(>2+Wp`6?$euT?`=t?pJ2so(iRv1f$n z&0z43eNT1fBVFaX+IPE7relxIiHTA_LZ&_aRX5fv;e_l>ko{X14!9FXm%Y$23QSbZ zZ?YnLbd7QW`!$9q+M`#t47YF_qlR$xy$2{7dSqM11bkd(7%SYtZ6)@VEptrm(G_O% zYbtlK3Xhmk*~ufT+P``^7$~!TqwK`sYpEC(@;YVMzylp|*!7Jcql1TKiF7`)O>K4_ zmP6DY*)6u9c_bT~=H0Bd9e+Rav$wnY5pr%Il}C2B%<(a~hS7RW?zXxIht2r=`>P{z zffp-mPs4W%G_3oka>o*=2di<+9CWr?#6iQkjn^D(K;jJmj>c|EnwqGHuv8gM&xzb(fB0~O6PH^qNlC7TV+sfIwG5cUS z(emE`flF1W5fz z7gK}VkZ`U?`0jzWdmrhBftfyR!bRW74NLCdA?Fr2K4=BIV4si!7~>(k1$68j+3qFd zc4TE0^4GnN>J4%*i!m zHXdxtGvZ-4tLUTKTF3gK8{9Se=*C!^o_i45ihM0AU_I-@cG5HYhS$Y<=%OQPvM(DM z-M5|9g{*$W9IKwm!y8*om3r-xgMhp6p zZsZ8Xf3x_rQx(lqUZbj`@!E668tAaS$*4Pk6$m}LSpw0!2QBaJmu)Ooe09~%0G`Xz zi^koNRBB$!s%?NiY_8PxP45(+-Q2sobJ=mVD*D9S1RttJO=tBbGhq78E?US(z-c2} z2kosb-O1fy)IQ>6bTh7M#w5R665aA^+hAuq@S$nqdyN_EmrbroWYm9ImwJnHY=S0T z4|amN*?ZX4f^{tBq!50j%i;9WhwUH~hn0$|ez52UP`E6J>hE+;X_LQMxdXjtf@FL1 zmZ&|DUM#Di?Sn3yq1%n{y7qyNtc*Q2_l7-FM>dkc%x`wfInF)0l!U!Dcdx^Gq?_$9 z4~k4y{q;ae__b?ldX}EUmWKhKbay1izB(f#BX7DTxWGGn74b5;6^+_GsI=AJC5d3a zRCgR@o#|s~%l8=2Q`1|I&uOA}(RtXJ;B+6hpjr7jLx{02TSngXsEp};9fQ~&)io-+ z03Fm0Z*4w8PG{}i7zG3pH{?WQE z+r*rZ;okWg*-NY*9n~2H9M!5>s_&i}ue5kXj7FAl*y&pH?nidCvR@Gcs05i^e(PEa~dN{3+PzIiUjyT(Vf9OsHg88sntg0YtwXLB^`3C zi9M<<%WA%cAiI$`$#N!jyU|FyqhHBJl00mz3Nd$Zm#bku8e^s=_r^@cRvlKAiUOa- z-PP35ZD-Zq;x@+Jc<90tQ*(4fHT@mk$ZYAsu3#&m=Vb)cf7j;v>Ms27_%TAYv_c75!aa=vuwuIWGic^-eVQoCF`JIB=IONlf-;h1z0n4tkO=Do;Fv| zIfvEIT|8`06RHQB1E+Y>oy7LnR2^cxrVp6ToD;K5p^t14iOfgH?#R&OsZb)2Q>Q{% zHea&!zkhPeO!xE++3sPyY(~%>C*;YjtlGn-2Nm_wonXcs-N-D2PQJ0>!6RQVqv!j= zjqsv;whd!i`C5>xEJ$~D(X!8LWqT+4wQXj4nB~J}O28g=h8f$BbgRJVTV3^bcy4(k z-jm?%S?ZjF#LQq08>q$V<B^(qMMdRn zXLQ&Y9o87%4M{T8@sMTN^d3}QRU?0m(Yv9S>_h=|WQi8DkM1}s;_>@>h|Jb)DtHq) zbF50vK>E#QrPG?jMouq%SR%LQRbF*ObFa-B%-wU1N!j?V8&r|j9fb1s?$Nb+_O&v` zRpi;s>=3^1GmBPJl5zJ$i zDemN>yo|K7k5yYH^OhIssNzF+kW=BKD^_Ih@d`^aA0;Bl;r#N_3%gFFtBiIw4oE+mCcxwNrbqNq0$mP(`-m(Nr7_E01an zv!*V)=qx;B<=oD%xMgRt4qMx~{TrR$lFMITWKErQIReeaex`q#zfo$KlQ=%b#$20ZIEi|_AvH^!WUE(=xPv=8ZO(%oRqW(pH@X1b z$<5T}Ll+$l=&%?SC7;Dilr|ntmD{mjaeIRFZHp*RX8mR{y%oA_)Uq{)ExX$Nh}o%R z_#Ts>>ZaQp-Bk}1)k__e6}9lOnHG_yM|I7KTAYx9t>6h+!^TwqW~GwaK5SJ9tHTz@ zAb+#%^j|-jo8BJzplT`R8S)}_4_b0zuIldgJbJ3i?A+UrRkWIS)%0NZVKUWg997UL z^Pu)_a`cd$qWHD4C^^6Hbz;4p64vYgt{*&A*TJ^7a&ad;DlAXVl_=Tv>U)y{I`U@{#Krg}JOt1M{#`>5S*E zQAb2vU3XU&PeUnPj>ocCR*hl~nu8X7*ezr)AIX;7pHEnJ#GG_l9t7X@>C!=EcUA4} zW0zq*vaKN&I;@ajhT^L?QgcWBilGE zv%NU0l?yXe4>o8gFB^-x9SIoBemEucYW8%-nBllPPCZS%p4qvz{ z1#vawM|}pPy|ra)r@jh>JI9Zc3r3i!6Y)kW;G>J=svnEFTU}NiU5M%4(^E>8@o<^i zRPMb(+glM|KZeVT=YP_SijLs5XtUOH$vB{^wJRzU7$XR+&xcBl~B51+O*s&7GR zmUYLE8qFhO)?ymB8@V%+*Qmzgc}b?V>^QP%lGGg8s9x@43R)9GC+Z9ib6ix z(H+ygEk(IhSGTg=p5LrS#Douv%HiU$Dp%9ifWYF&3CV8Lug8?7QX1DjRA8$oD9ryf|ozc#R z?(UY!6S8)^@td0Pu_^zMpvDP=@Gz($z`>-PQ*qB zPG11rR_6olZCB~aBI|Cs(oBc*RUZ^ndr@uDc_%km{ThRH5HY;94R#23yP~I34_(NL zIU)B8||IbL;y+r9^XnUnLXQQ0(Z z%o7OpH@k%e9&EWXq7DmZRm@+r3j|+2H>AG#mg}z)*%{(1WbU%^wAH^jY@V%-A)D1N zHb-e(HqaQ~kh7_JwT82))YlOm^XjT@EaprvdIr&T z(sd)s545VC;K`Pd*S8^=>Rdcn_7)<#PAQHcHjNF?l^6_@TS>@UqmHC?8$8Ek0r{ z#l%(}cHnXOG)8SL;`LIHihWOZq>b$xb89A@Pp={{d31Y$3Es7?WtCoRYRYc}tZDHrp8w}4f>+Y&7>DG653SBSO9QN#Cm1+hLn^}bL zs1ZA3;_9*(TAUh9?>P3sR&B)|pOL*Ck@tl&T0S?9I_>+v5T_=U^z{lGh93DUrr1Yz zGf;7@8k#eF$Xew=|5w(Pp4vUK%<1KetqijElviqu`g?H8t$MMYn80C&)!xI_1fb+2 z-C0q4mvf7YntM;o$k&GLsjdkf7Q3_ep3HFF?{=Q1L)R;6HMc~XD1;v@90>Kvmov>1 zGNC4OAE>vK#s8v0bxdE`^0ptzrrVRa$)>v!-{GwgU%5u+j8Co&sm1Rks0)ws6cOI5 z${gGGbt6Q-|K!wYXZuWUb|$%VCMc`W{ajRo^@&)ms9RWwTT?F-6-M0RRMz&_$eq*E zuWTJ7r%uExsdV>614Hn^mNN=>FHhHOoosVw)Ajz>Ju>mFWdv?h(4&fYwS{`D$ZPVj zS2}IclhCt|jg4<^+sc4Hn^8!<*lcpFv*Om3>N5l#8i|h;r%B28sSsPyzR%uK3ORb{ zPSvnZ%p|r^dk3hR#Rr<{P1Ff_!lH3PF17R7j}5P`s$5RMK z*xdB{VWdgysZf?W?4vsy)$>4Oz=Th>Vzdb*Fwx9hduY6ptP06|@4`!dW4NgSd+HxFmSDYeBF)!Ispz5%g$PCVHsWdUK zR_>kX+sVl4ioB0rPH6BOwQ3^U_u@vGeL8uFc0w~nyN!C3 zS5S*rx1yNrGYH{{>3y(KBi4TT(ly`zJHlzc^3BRwTatnrQ=bgQFJxuuqI;ea-O9+dme1Z)VJ7epf?Xn zL~viTUqj%KQ3>RHKca>!nGdvA8Oy_Rmrfrx7_+@E+4MyA)eTO14{IsLuT{6ZyVP+i zBQUyc)tlrCWyQLWY!wkpodOXt%vXUN)mb>~$^qUDI~}w6{xOPTe65lzT-W9uX;v?` zfJ|Rj-o6tk=0@}jjScsQ618*43cFsrYO)(VWO1!jUXPKO^=s?_)}0{5R$=FujOd*Q zI_vQ2%EDyP*W)m2Udd)pq;!(a?Wk*$H{7pR#$rXHzGvV>w2rL1AmxK?K+fA1(ef+~ z8!v#rhJ@)|aEOB(bieTj{T}~K%(=~GPuoW|*XFGD1n7ypr0UkDYYqlQw<{F(k zF}Kv6H(zIz>Lpvy1g$&*(6|e|qjRx%m|TsFoufOO-SL?mE$h`7@QP7KmxE^Z z(G|2)e&}{~&TVFDJ2Lm^_Byc-)LiWi8Ote0UUWu1FE+eWy+^i6@?BJ`(RAjcxR}W% zu5JSSQC`+kep!V~bB+5P_6m(I$0z=F!@3+K*m=sK0`2)())X$=n? zAQtl}bD~x+Wp==Gy>code3hs4`W^IW6Zn3Ay>}PdgQlIPe`leZ?Zsiqh#)Up8%_Ss zW^ z^SZotl^*Qwl6!Q6qRUq|H>X}!DN1SGd{Ls;U%m`Zy;!$7b9BYswZ42sRX^B{j(*ZMk2vaHemz1lsN!aTVA5JK70V zbY0c#s=TV*=(Qf~)FR_LwVN_-wuPPUhpuC*MI2VD?e^7GR6k_5#p(IT45|-_Qe{3+ z1)Ses%ZTdKZO2m4-7gf)A})&rs&&{5tMwYcs-FDub@Q0fnV`XFiVrlI`Qx8=R0M^_ zVM9XqgVm@S%fq@W;1lu6<>#{Lc4Xw0Rb-y^=*3nrAF7oS`l=$7Ust#t$a*z$*7Wv4 z2cv49h;4O6KTylX!B<>l4?tZa^9DQ^*RLD~Fc2<_b~$j^ zNGJ1w8nF7HTDfZHpbS*Fe`i552Ypy470_XGTp%B;8=KU1x!uXb<`z_Xu*52Mzv^PR zsKZu87=EywE1EavffjREi>!X=CX|ixVJla2WtW^G9%zT#*$3^e?&J*_2wA_g3b+H; zsi<^cSuiGY9;gP(t6IWN_CYfk!3Vj+>YjtrDGCRbd${#GTf)y1q?}zx9yYv~da)C` z*>yw4bkCVS_S*Y0x#?Zi)g@=0I_wx!=YyT9(v=0!&N-+vfquzWmBhJcb0T8)R zG}kBwvwKd=GquzCU?&}GUe=t7I&4M9#6uSh6|XKgT?-txr#Zd9vy92@#bGEQ~f|y$`t#ct*y?}%Q4>B!S8INkbC!I z%uHwcuv)O%54O9Z%ELCZV)wAwJ++UREzTx+SjO&X4vS&OKFT{}Sob??>&hU%@4GFu z$p^dD>B3<%kede`==}>O>p+M;yaauxf84UaYH)!(utRtIK93tAEe8WUAuCoK6Tly2DNf_0sK);vQYH zCzMCGRH^5u;HAmf>s2nYb!!x;b-!%x=O2U|3u`(bpUz{O!P%GK+G z>|#v!u{n0j&}nCTyYn>)!{x-(iP3ov@vw#M$$7D|lpkAO`RWcGe*U@pSbpbo z9m<${@uw2PJWv;#s>^nyFKS^2^*c&WKB`WfRMn?1n4qKWH)A>h?ji#*zJ$?Va(3)!eR6w%rcP zyRZR1g>z!^uqzj^xWd#b>H*i}IKM(IwLjoyu~tvN%0*q}s#@h?*%F_HLSzy+UMDuj zsCz{#mgol@MI?OToK5Xv*Be?tuF7sl@?$%SVSb-Xql5JlR-t!}T}q8TK5&>a`aMw9 z|0(ic{xwp&&D4*PQg**vWMb>kS)q-++U!D`dIgS1Ro%d4MCg0@*Ov3)n6!z=>)426 z&G&h{$apUx$M{Q{6}!ZtS>;u|q^(iS-mp6&2YaL=wcGDikg@ud8$0Z)Y|m!+JykR6 zYxkC&eWf#~V(cUC?5#=MxUH-fPTaLM$$3f_z|S(8ExE6B49h$8O z_xoOS?WMaKrQII~qnWS37dz#{da5#USsF9I>$?oyQhk-)K+xZ>QZm@l4>-H#Y+kxN znD0a5q5QvY>qdStM-UC`ChTYpUvxOP_R=%Tj;ceqwk!I5=Ug~&Lp@RadFSZHpOx9m zj2iluIV$|W*8aME=*oa&F^6udwNGh|cfY_}+R41qn(5?AT7k$*dpok!d+3RthCV;|(}(T}VfR5ddXS&xj7-j) z5m_=ug9mMG^zw_mHHymb00zoyjv|G%cRf8BIo zv%a{!==|cY)p+^bg^razdNs4by9}|+@c&(gf4SSxf3^)JWafR|G&XzgI+J2uc)^7o zo)?B_j=y(RZuicE?1-rHS>T(_H2R?B$gY>H2`Tv>7#))meBdaA!Dqq?=ZRUFSxcOJ z)9J_;I+Nv-Z@N(lT^2GlczM+>`WQ{I9li_HNkM!HFB^T>F7;H-C%l7sKiQXkt&XlO zfvqFW9{IU_iAu-uy4IUrJ~=mM z2>rLeMBQtd(V_l>YX2kg=nmE9?w^$#mdv^1u^Cg=3BEkTe%Z#VLgUV5&LZSfvBA{V zyWFz34xH)L*DFO0!uuYss<>HGi580Ac##dimr<-gdZiqc4qcAed1lSbQr`J8gw3nn z09nW#WdJg=+VYV_YscZ z^o2cvD$H}lHhRC+ur=kmBW5*G^IpWlck$8=4t^%y=G1#DMF+ofw<5ax&|0|tC*}SC zfIxr0*MK<(L-e23J1I|I9GMHM_Rsnp84TlR%_)Ml}wtbfV|oE#y^(*C|c@7;j9y9P2GA=WfJSMTd^vfMX_~VME;8 zDb;j%Z?UA<=;DiJyF7>Xt{LQ9y2tdZPsmo4e{?BBQ?*sMS77Y=y;+DlJdJU8=a0<- zN4`&3k@^a@TXxNl8^-1T+Dp5A=!{T=x({vDr1UNshu?6wvDW-7Sp}ccftWmWAv$Wz z@7aNY`~BOJJgtodeO;5;m{L~25+%z2P^Qs7;5t-vDUsv2#BfmiJRJvq~CBY&Ul7*2hp8}u3*70 zI+;)(x=Y-qzcWAy(=TalcyXkY?wOcRdPbCAbhK;s(5_^dgF`#Tj(!L3KGNm&4w_%w zc3OWB_dgdya%h$mt0o`$pc~az0?sR>J?5)?d-sw)Ep& zPH#KR*NjZM$7^ArN@Hz~a_6t3Osdu^E^mWZu4DRY@y~!tT?Mxq> zK%$ZR4N2{)A2ikJK7j{q&-c8XeLJqGfX?yT9cAXdx@`>6FSZ!kJaBSjzEUe);eH7d zt-b&MmOXN7zD?+A>BZ(?h{JM-YTiO^+ZFG3X%4_Mm)*r^_03tc*-xi)yHxu5Gz>aw zD$jqwNu}|>X?J!NJ8nY@b8;qUZi2ABRkf29qflBc;z4LYb}_-0ox-(3>?UT2J; zm6#uW;`dO7s&%EK?M;2BC)~2}g0b}0Ps2Tv8N&Gwh>2>yn}v*f`I58aNPgYo%-BDO z{a^JO#JcMbqlZwneQ>fmHoTwh&DMJ#)y{=wXalZqAyEascY;_S9VzFOeyoK+J!y2M z>$=uUI*Q+b8q&OvK!vY%aY_m6i@dhO@7p)Uy7YuL9CK;*TJ=5wqu`|rUgrF`0bGUN z+EgF7OC#(joF(KFWtuwdM9SRkO9PqWZ*={2m7dsh`7%`H`Lnj zCu;D9N3MnbP2;a%Z1a1Z!PDChwx)sngtyyKIKtJt>U;@v7s3(dh%vLDa+mp1w!kqj zY%*$Z*v`(HCtM?K-;|L(vHijBsuw(w4C}yBha5hzvMTX{GodxFV`z)fw>goE4nF8E zjIJ^}!U`U@W0zpR*d9&#<{X_>RR>0djC#OECGxQ1W*6uBRoZMmSeD%3FXhcZ^c^a@ zHBZB;>Fl~W%iGGi9R`M-FW57cec;%Q@#F_5cb+|xH8qFr+G5RD<|S7z;bu3%0}GTx z-$24r?*qoLTwjk6D+z~gb+7P>TdvF-HnXFKI?C$>!Y_7XllA$9-O9f3L?-lXFb4_; z?(80Zh7F?7FSv5(_JMP&TD*ngZqIY?ZfxZhCRN<~a#jU}=Y3anB)=A!!ffh;v)|L) z;|=M+<3LBd)=Skn_N0Y)?F4 zO^ct|G`zShWAojfu&Qz01~!}5Fm~+fIaF5nUbEX-^-W}GtA`JmGg*1Pmch)q2Qnho ze$JGmPiOP55KK7lp=wOfk3uQ7cJnI~tzI5_D-nEt%}R-^x%5&AExvCxs1bTOhRz?0 z1e@sFA+1=U`9j_8ykVP zmvN~gLPuF;68r3HWb}U9FUg^Ak2sCznTl;JKC35Zn){{9qWp?lGdXi$SBkj8Le?61 zPGc_uH)WQblwh7*SC>ec-UP`83QOySk+c%^<&t>>&00a%@QvecjgdXinHGqk#Dx zo}7tYUzjmO@7-U_VfO>3Hi^TcGIqs}jj88cC^Wm*FE!X5x_))!duh9y&brENOcu{^ z?dj-x!85xfeBDVSxF781`qf~Ik@mp7?zWF|G2K=Df+JO<18b7ytK9OMPs1{`K;G^o zqC5xAYGuT`wV7BRINDQ499S9Ce0C?)`oiWi*Ex5bsfc{P{r>AX3so&2II|sMJxaw? zZsgZt>zJ#&>RowWZeyGCmCBGvpHhu07X93RQ_VTBTHWKj!iek)KVX)I_3Z+0kiMnb zUakGCb09Paj*J4D2c8_1U%g!(PVts%!ouc#b%xk@9@r5zI?63>DsHLhu|qFdW6cda zdogPr*qBJZl%p`JzNJzNLZ88?ZZzM2@Gq;rd6o><9N6oDneTU0!F5ZO7D{I@q>RSA zU}{^?QQpleF%O&(i|I$$QB*q*%-(6JZ*R|}`C8k7X*DlADyZsvcJ9pcz{Y0G?ao?4 z2JRvm(DgpBvFi&b*;UJvG8n^tZ{AMcpqp&pB0B>t{Q1Glil5S1u0?>FBklOQ>bX;{r9qws^VdVlJgsh zQZDou3HR2F{K1+seMSO^MdOt**XX(}Qm*aq-B?@}p0Ibkb6|Hghu_8~gQyo=%Pt&P zGb`q8&g1~r3nrtlFcU4|MjbmHyDzgl_LixlK)z!J}J+RUfQXkk; zz`P7AZi+rIW?0kpNB&+Ix-gC8J<3+kB3`f} zB;EePP9yFx#M2GUiVysBKidFokris{V*-;tG&<_5w|yUyum$D zR|c6=59OIi1P%;!SL%A5XqWkbg#?A~I7UEQ$LkKn>`S?tjMLfqS7bIRd}e27>Uk=- z#0`6DmeX@!u^4#4-EPkuxE5a4H7rom54Z0xwcSz~8|4FUkSy&h=Mc-hrOI_*jjsBw@&J10H;oahED`ju6tE13Sv8e1&cL=kqCDk=L(c@4S`M0_w0DwL9;b0RoGsaIAN~LTPKX zIA#+Yv3kJRDe5Xm<^0eV3fCBu*KNg1GlFwAJ(G`%!?iG^c+^H1p3Z|3&Ye4_EdjXGdx|oL$RG5 z!52&qZ_p9Z9eb=!bUutOn%S#kv=E%Sw@rp?=fRqCDZkUUO>SPFLrlGdcVpUpPn#tK z>cAyY&qo`y$kl_?}Kh>V+;Yil2dRo0qeYY)hlmVY2@5)(zC<8;d4jc}RTKC;G z+eSX%-0mW8m4VJ)or5PHD1*7jkm?Ova#9nsLfgsn={g;OzoFU&AP%YCp@Aw(S( z$r#+Fx0Q*lN1?KS<>z&!BI>g%YAL=71!M)U*X%M27f$R@FSruj+uwO2%UK7W?6&&> zPwqPJM7cmV_7tkK#aCxn%%tYRg+}TK+p!JzgXKmGb6D)SsqS1RvC77~e9nMAMW!Z|e2ec&!+Z9m}M_RL{Hq{1iVhB}{bpHx*1{GB(( z!aneFvfU4ODm=;qcTVl8DHbT|=!Mz)nZ>2)hP(9$D$=*4zHl5q|A)%zYemC2jN_{(I zMBD4{P{`1uQZu_EeBc^0@~c$Jy)Sr8G3z^Tnd$C2@F2X?k4mZS8Xh=ijkWLkYANGY zDU>7Y`ZXQnRG*pZ$f)N@_bQ4waBCzaPNhag*8^q_0^0{xQQWxCHdI9ErQBu7H|*T% z*qk#|_Li5AI#*;?@3%WQBK&Qz2zKnF&XUJ{*ox9>^03Ah_+Xc#=FWjx17J^?odlKn zD06g)#DRlZt{e3b&gFykZgqSYE=2QtPNZWZ=i#*`bCL({fFttWsjdmo^VPWWCD7Sgv{CsxdS^^CSmGFXhz8>u_i8t3Mj9zQQRtH+AB;y)8_WQ z$^k$3UXkJI>$Qv07Cx_YIv#M-5`=H@*;|#2d1-X`c4Ha3x2?ZRZU#w zs4M_FW^+ot55pFrF6wSRjVi?Bb`fCB1KxHQF5I|yLzNti=^8J76)+XR4OP9A7S@$h&n7I z-8Z89?XVeMC0d2bP)@4_MkNNe8Zhme>Q2n*%=zRbyvdIEySq9kUzAd^L8r_+QH} z-EbawTcTe3-rcjsy`{=Qn733jsmVvq(`B;zz^<%j@BQ(D3HCgcvz^pjINMQYq!cCY z=yw*zD89yCGjpW7zc?!Q?=W{u(1rbX#_j;uuH1$J=!zPM6h%q<-&l*H_I)j4pbI#l zEy?!H{K-#pM|teTj{DVRbS5sXh=>7BpK`ifkKD=#w{$Qk?3lh+UsqMUnw;Bc92@N% z5T{K_jPY1>%Sr3|V4SW_>YS)XYk|Mx2*l!?C!o!}gW2xUyk2xDy0dS!W+2Jmkzj7r zW6|`mO&n~w7RL@%?AGHT&lvjNMv;b_2XA}RuP>k|dTuU}M%Jx#fQ;9biH*oSG#Frg zA8oAWye|6Y>{9;THrPAoD3vx%K9)QM0(C97y*_JJMUC|MH~zM{yVdu~WQlW+!y-31 zj}8ME@7$xbpndC%DfVm8%w2T**m9QOI=HI~^?Fj%EnJ)0iKf3RuUwqxlbV`576onl zUU<^Pm%MYAlIlottgQ=evB4>JEFNEAESO>?--FpfK3(V4Mth=}PRhyiM z(y8|5Mx!6eh!QG4oQ`{8RfA3VYy`_63&>oHOb&3V~(Pl>IXRb%FBV1fA^y__z zT2AO#W2Ogr8ihF)yt}R8qu4oMun(?WwCdn(E-?A1 zcAIPF!6{bey$Yf`bMZP;fNE+Fh8bP$dyk|%`Kq=kyY+otcZ_+yx-xUOhJP=Zhg#fK z?{o*}yL7SWe%R?6ur9V8wZT)bf@btMQz}k(=(L#()=)Q@)&07If>ECNE-#zFOJpZ+`GP-6+4d}DJy1i@I*#o>l^A=^y~VOMC4s| zA!=*x9kA0xKAME?Lf$3?J3Y}Sm`R0SkIb5hnA@ggbLL*xJ2iNImdo=y(hX$*_x=cX z@^yc(C;IDh!$~l|M`oIOl`C^6zD7wX&fJ6OY{tVX$Oik^O#YjSdb?z|tV$e~wr`AHV!+yOnJ5~G5=Ai(@8lpE|*Pe&(jDO7ji&mSXRCVanR+_m-2x?<}X?XRIgTX1{WCS(`VP4b1XX z%Tg%+-leiqtlOk&lTGv zbl8z{onlo)Vdk}ADhqeVC?nCjcfeNG^GhPqj+&Fq$=2W`m$Nzf`Wnzuur97}Gf#4l zy4CaA^DH*|V1YTDgQXzT`}aL(?G}Q!%Mu-lv*&g-#aF@LoyEaXB_@6Fc%WCcyJlq0 z#b$K&P1b5AUUS`YZ{0no9VSk4B{|uTqa3q+TSaC? z@IK4P$*6w(rcvj_gb$A1QGNw$ZfIY)(5%2sj`e76vL-#FSD!VDsGBSR8XU}=TH$&7 zZSi|5#?0vGgKZS|*=My%^WmMSx|rk6dSDn6k+<3)B7feBOb=PFJ#Ws`OLt{3lXJIc=6*3oRpukOx^}cT*vqMy8$5{!d~rEXHDN~Gl22IS*{}Z`U2BpIUja%_gFNyq92_ads;VmSh3~0 z#g25(qsvachuVfwD*$BoxkgN9cRcttx`JKm14s;eR z*0>%MqEN%yi^EH}?~co!c+}c4jGT)rqD-At7k3u>m@gu_hPcVqIr70-tK6x_mNUE= zbun4Y`z|X|IrT^u21I@%B7x?`y*1A+n?%i*tWregS+-dmzB<)g7_dKF@*1aLLqiWc zM2E)5=8zeE#;aQt^{_E9)}@(nSmy%r*gN~QsF`ogC@gfZzMd9dmo8Z-gm0O)`s@Gv8zFfcuYuo(ZI#1 zS>5q!()0Xgq!0n*T{cUdxXIXZy>5}{c46lxTkKTb*%XJP$DTFQFfNt@yw*L-SDRf} zJNBE+VyDh*4p!{fU{_Cc2^T9Wck|yE@h37(KayF!?Yi|+XRG@jM^ISgqh4#{x6Q<8 zFK&YF*Cpa&a_U+H$*5!P+T2GlyBy+&6YAB)h@8Retw1+X{wa0>x7L}VeXe>?tKUX3 zCS3<=#njy`yk>v=`Hoj`rM zM~&|nc7hT8tXNdA>QpS-P&L1j8SpDOL9V`FSC+R=aAI5Ws&|bQ+)o!vtg94&6L@23GN*Wwx-Nt{L>4K@np+_Nf_?>eHI8$~jtHv(pcq zjpg#wTO5^-o+yF&(uvvJPfwMcr)q^@bLXMC+@?R>R(AE#g4o7OSHZKNc5fB)=*}HS zy);HU{Lv9xIN6S#uHi#txV`>#ab(xg;%)#ht#Q_VTERsD*tRRrc- zE4yH3<3ta}LcgMm-OewXYj|(;vhzJERgCSt(XGyIpXi;KkY3SDhUO=_fW^_1aK3Mb zLIhejx(4XLy@)FpuiuBTtM2x1G@`TjM0a#&zAvSoMc-&a(Bz5EoaOKl?UqpfqR~p- zf^Y2ZPQ9X8)BJi(c{299$L%2=(E`kMR%F#ZRA8nb7zicY2ea7S zH3w%ixv%8foJbuUn*@;uD=^QWBFA(u^x>*y^Cpj50X*5WRQ3IA5}@@8&O+t-78}v=J(SyvM%M$=vjrUtfO72# zj#L-+fw9|*TWin->DbidIv=&}sd3HSac%V0u_S`8CR0Ro?ziJnKzBmmPWHaAvF^IT zYxMZy#w0n9!Pbn*eemRXi?>`Ri=oGs?V2hb+}-K#PsG6FES~j3F2gt3WyxQ1^$h#( zjhZa0e~PV`BKqK7PE0-a99nPi;I;rp97^TwH~vXU}l01(b?S%{SP|Nj)Z{wl_jIc?z}CNw%21 z^T3?oOn-RB*>&;O7!MpSa566@BHCx!ELgqu!0cKy4(={h#-3zO=jdT$z{(%1?7G3o zT(VvR#$2ZM;tG1?Z_EAu;m;IjBYu*--o?e`>GA_JDzoduWA^mHjp*)tU4AzAr`W;S z;#oE|sPyZtSk+GM#gk(a2S;}!AFCFX-TJKArMbZocD*j4jNS0HaB#mx+v%BpSWg*s z%T<+&!MR2+J3&OJeb_B=fk@GwTlewwQbrjYneSdSetJ6`|+`r0H47{^tBaJ-;dd9 zV3g|b|5rtuCD-@Om##AIjk^E?5A5p9#vV*kJF_3&am)jom~!7_YgP9wMog?8w!Kx6 zJT^>K$6V}=e#LsZ{5A}j6E_!8ihkg3o9tWa-R#Z4!Bn%IkK~5k_|}Ysx35Lk^3|rv z>G*QFY38A-9FebBYi8!=A|to<;7rx3A9zr)!5i%Af^d@?F2B085O(L_@kDp%U~lBU zW^2vZjf-=aoj!Z+an7?(+d>3zaW87lP)}hpQx7{01az&VcjNSFsYrnj9J%S-FF2!S zPOx{{xY`I16xG#=?r*JUQ=G1dGw<>jUCmmmtw{qio7NrS&cAB;8gVCq}U%}h* z_@~$?-O=0-=Y5i+n^n9x3&^NjubBP&X!1|b1X8|7xpV0~!Id?mzmHe`2}^_4#Su>9 zSbAr69>I%2>_@7m^9=$V)$ zFD~>vzC9y<(^vCtrr+Oy?5EM$k+#NMHKQT$0YFeX#i9|k|(0O zrSHad57Y;@o4_Nv$z}4}GYYY~tKI>-|86%m+{Up@L{kSF-3sU5JB5f`>6li}Q(Je`p7SoVayx;6@f zI^~LKZNB=HMCabz?m=$thl|R`jyb~bsn}hNi+9m6;ePBGxeod(msBD2#SFdvbN`<) zbE&+^6U)ThWt$c4$6%M0SRc&7#8~In1hR^cT3ao2^u^q9&Rpz7jUG5B7ut)xIjxJs zS`S{!jsPYv?nN3O)|j;qY!23aF(<9Y!I(%smt9V1>R{}&(-+ff^O3x+R`3Q(<*l#S zIk9}u4%@TWav}*_J5%L;?Rb&XUvNxe_Lhqp?)a5lrR{5xYGz-X>(Fb%6WPDH(RAds z8$0u~JK6p!-8&L=aBgnvarGsuHjp2Vt>sNFtn)Qp%^`O8VkIVwi@n2nl)5WxYOY<( zW`3)N$Nj*zc9UOlYsSor-Ce}1UIn4+;@Mj5Tr6tmwd{ecFLxrc_tL3)4z)%t5EnZ_ z(>z$HBp$~pS87FGT%3ij&1t*-Zo!=*_gZ*G^ub2R`_~P}pV_8R`*UGuZr>-}IfQ_} z-?=DHjdXEgCxDB4Iq_%|6=TePdv8M>&$n#0}1- zroK)Y>3P|}$iH|&IWJa??7!D*h0Lzs6O|G5VaSVp;8audCA-mXen$$$)Zgn>Qq9Cy z?VUiiZ>wa<%!fv509|ZM_weGaSUs?+*wz<41gEq|x4Gt1gO#(m*(|crM^~-89|JnU zbw_{QiV1jb!OM=|-*IQU6W3C`;l8#zrTV+A3?cdk$C7a8!4|64f8R6JPDJNd?^TrR z8}3%+KB8;;_c~yg)L_oLTp6#i+1$V~qF(yR23iCzh4wpAtUE?QCgjg46PyL=tiSzdv z`$zmiRMfb?E3{D@-Bz;+J)*(r4Snm5EHU=3drHa&jwUDO;@BzW%)u3+@mRKk!HxXZ zt!5T**NrZ!ADktzLVJ0H`Lk_@VuFuHs|USR-?n3S!S7TLHujNSxm&ZP!)Fl_Id|!k zJ&&W=u^X%0TeZ<@@)ivWZT%f5C&DdVtY$F3A?*s*YvCR-dg1TQ8@My?H9QW~<7hj3 zs+Ik%yp*o_4(Fuev2W#IrYf)QVH)4CV5;YV7t&_kg#*#G+efD}8hYv6bp4jxGrt#u zt>$at2wLk;x4>%)TM@4@-9Ze0E6&*&@>ZOyC_eaLgNfwfGgPg=!z~P7?hT{*QY{56XGlP9s-r8b6Fr6IseESYZVUEtqe4WlvPdn@4Fp4SNnv=6N zudAU8Ac~jM}BzdX4^qV|Vx`}fsH_PmN-4zTiuFNo3| z7iznK2hK^?=GQTolij!I%i7dKd!}czuP$#)`DS-*&ntVxROsprNvo^D+3k7hZdZag zdz{VctFuG?yXGI{GWB~OyJ4KF)%N73AK9x(8o0Uw88J7z%+&LQE2C%k8<*rFhTpB& zvH3jVF=Kjsxw2-g%U!JM7w?rKV=j+gC4L@+h;2OzM<+}8S}x2a<`!<;Q~M}fAUH$a zZ1#lt9Tae4=b;I$5d3~gIrmCe;?b+ZXW zRYz-V=e+dvlH50;eX3>@)_mwf2C#W`*5aR5aKrn}WaVOK_(OhWo zz(lV0Tl7@M;M(+B;sd86#?nnj$D$9$B(eKmHa2rFCREY5(H)sFujtyI`mVDEx2(K+ zs*tZC3oSD9y9)_d@|#dQqhHT}z5A;XV{KneW6BRbqp=3}WcFJ8xrfvC^0n{{I3*ITMKKnxE%SwYOg}nFYLX4prS3yJKtX>MW|~wQxn{ zR(%c2Mg3ezK(qIubApJOuV^uJ_SID?KCrS%+Ws)hqrEuQyDvTCZ7Q#>O6Oi(Z8!WV z+8FMQpNh{0_YAqr7N#EAE_Q_Y6%AOJCp!z3&xeDxWuES2y=&ccv=7?11pXRmn}}#X?T84=!S{FUPrSj%_iTno)d_GU*_?JZhqJNnLeg$Maw zxVK_1-ca@WV#==htFAv$no8;FncrtSISW}&ZFDA&_TYVPAjj@}2Xg0IKy?P3gd382-{9bu0nqR?z?)F)EK@)gjp^=Tc7`cey!5b6r zr^|{}ea*s5Pu+r7rRJq8J7ndj8#4N80PyQvdpF9?yKYsweAg|kGG8UzU{nOJ?p{HC zbO^Kg#6piRc4wz?EQNH|YuDoLvhS|d%0S*-o7Ihn9@Ml0S7S};J04T%=)Y?JiG|0k zuV%n3F@Q(v>aGlM(f&?@}ED5_I+wI;Uv)0yBi z8acBSd39s6c8`t>)$>N$9x&#Mj@if?&6q;*dAeBmJt2T5E5GZky7jJjX)ABVy9-YA zt$1(l;#Ki9*Q0Oc2}ONHo78xp+eTH+#T5=MFRlik$BV4Msy;35`m6X%))S{#`dxRZ zh%edW&_0Fjgp3z;{oxRcNQT5ztkEKVltEywa zR;Qhv-#`6GYP=8K6;@0iZCkyQNB7cIPpxhMUv`IgqK~ds)%0uS(X1ej9;P;_o86It zdFo-MezIW~?zYvG@_}a>5#$$*+S1)Nt1b1TUyZ<`^XnHXw{-gzwUK^gM@)*Xt3%D| zJ(_S$<|{i`8~bU2g|4HcWUU^$V%1x`x~6J>G%}<5RW*@~ui{zR0iU92Lc8yh57C=f zd)s9movB>E7Cw0wL`7C*EtiNjk!O7h_rO5mQqB4N@or3k& zheNx)M^_^@`lY>|iM+a$$$PfD3R~tw_q3-!OgUrbv^&bHD5NC(KkCgDm^dFVJ~oX!WqUX+Bi7ehu)@U^x;M-^5C$r*)Kd5EPc^TE~KMd z3hk?CK?Sn-={4*oZ1 z=tb1dys}G#zdes!bCO#blUonV;-FYpOBu^N8iHf_&?V<^FHYI^!CqR9eBds%|La16 zOXQ7)cKG-krR9WTzQ0x8TRnHc32sN{0|ROo4<=Gk#>EBAKJccaLj1leD^1qH+acQz z9NY@-hb`@%J!eESh`(cZbV|6GSw;21W~t(Zp$?K4+ik{87N@OzC1*J=-JRrIip~w` z?=;tKP93}%8FMkWr=@z}iGrZhsAx?pZ>?*c#ACc*CjZPStScN;x9QFDUf z3W$C1z?gzLMjls7njA^*uP`KQ1q>r$II|J&dMnouX<&bti5>YqI@vnw)Md5 zQb%806|3BXwU%GQ1y|@&buudNMUaf9>N#BAn6FyKRMe?fJ3FYS?TE}9T)SDi!9@V^ z2-bp*`mjAL?ZMidEIsd#*ctyUJKBS@?CDj{BRM?j!mV^qrg3{*yOGVmTWIObxmcw( zj_snW9+b?oZtg^m_5HMCGK9Y$iGMP7w>g)^Gz@_E!hc4I<2dpDH-?aC&qbOd7VyYz zlD22~xG(>3JB6uxBq|$$IasU;`0v=3vwV|P(oW;7+VZMicxTg^i>D?ubMPe0SDS=L zS07vOqUi6lSJ}=-o5F$apRrz;$~#@wPCSw`Bh0wC6H&}PI95dO1NX>j-Q?9)g9q1k z4`0vQ1a@w4r6(hBw=5y%Rcnl0ALf*H)+czvB%bvuGFBHy3teZ`v!O!Zk=&CNtb;oW z({+<8()pN81qAJ(YDCl>kVc_de%LKA)*luZ*CqzN^|DIVe!=NPEDtV2OTVt485h1b ziEGzw(;(2V7Dtlq{V<^IYfaVbjmT&*cqpc$igPTsiqU`H@NR79^uc6DPVeb(_HNb- zryW9FtZA3;aoU#F4?L?5EDtUhk#{gR1ArcVVpEoMuvptOIDH~AgZw-0q}11rOe4?x zM75ZKhpiG@b%QfB08el`3V#o-KkL{E`+oh{GU{Mf$3*Z^uiA~#e#Ne6e=noep?=tz z-0Hg4m0;wt&56WgG{dW~aWGsPi+lYfoW#D~33wcRaK%>W=TLNJ0k2C_%XMCy)1&pp z*v!q>WS4e4Uoz72UM$6gUbkjB(0Or1YWfu0+74?T$swY{2V*2a9; zl_eb;JFA($&sUMb>He>;>$_+=JY+p)v%KQ`40dME_qt`ds`Yp5-L&z8cem|xDm*RD z!=`M0)#@2(zqu|{nfrH)j-BecJMIX(<^)GY_+g8!o&78wQHfiwjz;kjEGX-4*oJ?9 zW+uV%JT9+_5Hx)-Iv{^zjlvKQEP7}9!?nfiIk=`AezpnC9~&iA-(WU0nSaMw?EHD5 zR9)QG=@Vu8HJO-_ck^N*6ZFBwN>@H`xng*1Z$@D9*eMhJ2riGA?SsqE)ST&B8Z-TO z%j|0Rp+uG@=g`d9@Z&gjZKC~?YXRiJ)hhcD9F54XZ^NR#LT`q%@H8dvDx zZsqixTvpoR(EjtT62V0Y5Jn&S&oqKV|n)1O2 z&-UwebpQ<%$$YoWJAbXqlfy>@Gjc9@N8jWXXN;PRZ?y zH?V^jMh}}GhA~+OGukS@-ez%H*SexYhhjs`7Y)n1b1V{Q&s-d`#0QqTJU_vKsPvb- zJ@LRKw>i9c4Y_&o*tzqI4&3XNF2-lH3c$KD& zdlO7$(0|9N?1lScZfx&fynrHKSk1By9&)L^c-x!Pk7ZYOPwY+Bt~dK8Ya8>rgWzt~ z{2nQ8?yYvstns+CF}of5@M6Iaho{<)-?phyi&00f6VBCLHyP8f+mF#ZU-DF=H*cQ< z_UMI!ot}$#V}JMDxs~}?c8}HD`87JCaaS#FxAkZh94Y$et)OqU-Ptp;j$b&dcIx7(aquQ%qOxAUXcOFw z$v%1^ne=UQ3GL^)!z|~|rV%^3>z*pdW5T*;#+5jFx)(y7Xd~V0*TQ9X)LuPY_VVae zM|A&Pvt35>(>eB3e*dZpM?O|wJ1|E+dP}h#`xT8!=R&l#8m0;8iIyZ zxLU%(JX*7IKYt&rh$akQ)A0CeVz*!og)mK+S`EhTr3$JX>q9!kwtAa;QY%9#? z&J*EWeEseydUVrk!I{UMwiW2o!I?9)^zB)jtQXG7VwhJ~gERS$+ca=DU(v~QO??^_ z7~SmH?9Ru=%Z$*#U(a%r_0zOS*Sxtd^T`;o0eCYe9k>tWyQ zaeyyf#?~}GZMvpDU6cFRH+KgueVVz0oTH(Pem=QD`!R6^v|%dH*l+_MrOZsuA{22Mg&k7XT9#VK~~K4 zrIW}}|J*F&AfGks98T8d6oe}UsuEWuuSU&lvHno>)*y%4_ zIj(+iXBRrvmv7mN8}6)}SN4#Osh{ldDC*n!OaiZ#wZjyS);P;`Th=pl?n`Ie8+)~f zZu9C6#=INewVAq_5Pq^%1NixvO>}US-^S75`EJEtcF&8;!)ey#GcmP!c}ybf$+Kwg zT;5skyy*<~>y+Y81~HP39_9|}UJsa!+6RsfC+A`fGqQa!H(jM?bZH`S_1e^aIy5o+ zyi(m&%dcusd%lCRnX(_cwu4?=-N9^pEu)6Zrv~Bt^k!GomrZK69~y0Bw7+ad7W!s) z%x*sQ2J`onZO_0r+otl>?pm#hI(mw;#oO*oF1sF@*g)`ROB6f@L)^%BGRg3@i|y>b zn8n(8=+49leKodrBIhUCe_Uv$;4{Guz?|kEbJalNA;| zof55jXj%U4wTy`@{ztdXsORZ)C6r(Gv?h~#w8V_iOJin2dGxviP#w*hnP<_|neMKm zTPxTnTg+JXKJ*~7qULBZI7uCyxtq}c(oEm%by?uiSYS}^l{Z{@bzn;2uiqQn_0Fy| zE-r)Ii>a-y7mki1T1Q6%DDt~j>_ojDv0lW+Uaj70_tl7L%u5R#7*`hunK!$D+2^o? zce_2GPQ*5@&feU8YH`cwI!=Ia%qa^UOLhH@UdtNdT}>f|Kq=-hEyuN~)fRp!y%im18= z+cR05_qL};d-d2@@#>yrzqLRluZBnKqm`_v_Cr@Drh2}b7Zm8P(`sv8T9MtESBE*- zx>}&3o;s`XbFyPs%cB(#Ek7T>X_<9&fRR)6`)F6}Q*#`|)wR7rT+L0|&wej4($RE; zsk?HJk?~r&go#k!Y#DU|R%Qe|kKui`&e|2Oh}E z`sh{z&zenDY^%PSW$flx zvaE4G*PW@~kIRavT-+0E>(%fKo%yY^zxYpNcz%!Y*+$sk2(&g6Vep(T3 zT}`*JFYVC=K3ymma5d6szKW)r%43yX+`OlH3+j2%%yu^qrm^MkAB{O8{L~Jcx>`_` zzUVaBuRV7#TbTz3QJ$Z3IlD?cwKt}Hb*>@d=wy$}kA*XVnw+E6yNvZ&d97A8uWV(T zkvAL8==9BwNwA)}t!Z7I=q~ovJ(K$?xn`1Ivsb8foQ0QWC#rt&FK*7XaP)xXG>>+5 zQ-0`b&&oc!iyh-zw5@V%J~RtsNJlHQ3GUGyoO&M4o?u;#Kla$U-)*+LekPYAw(h#S zCj^~jX+S=3DK}^xOl?o~d|x@9W<8@D>)IO~-5_tp8da4K9ODiTf3JTb{5^Z=jn|mj z)tR^$VY+m&r~;pO>Gh|B0)(hLqp>~n zu-j9;u45H}WnMdufu4A$ynTb|oHS0il8LE){wDZ#c##=MQ zS8gqX&w`1uGdCGMTg|)fs;Ju6x`k--V2&phx){Rdv)&4#-B)|PtQ%cWq@TOq>QMZC z&aN_WXLLQud}t`UTD&@i9{B3&c`iKZX~W-$Vws+UQybHIR(!oB-)*m*WjG2Uuu}rZf zw<8O~WEG?RBqfT$FD1O0rkntb4h}wZ|1g#>K_OwaL7$Yr9$X^ZOeiX=$`w}kn)zn<*LLDllb8IWP_>|SpReX7O$a(Zo#g71$+{%- zv2h8VGANMVXiS*~(%5jRjb1+~xeY?nGL@28R{Yq(md>10_0b`Nlh>1VA4*oLY>nr+w8W|xU9Z1fbX;zT!VBltz$YF3gXx?NT+B8}CLR&sW-9Zbq^ROVt!-zTs2>u=O-E=YZau;=Kk)Vb3nLsx5?0w+zz2ekP? zxBLGUXjTpprZ;a65E{6tL2G41dR%goU=dBGlynpgyTo~#zsz*B$V+|M0=B?v^Bq|gK!vE*ubmML_gFY+)8(Slz7q5c59uoelTBx9WF%!5ySE}zu$g88%ik> zIz-F4B&b)O{VgCzdYwYG^g(ONTpwX8H6E@-32`6K+&O>w5@UQGQMX#57H4pQs3-=^ zW5(IcEYre(e4&0`mBTD2v7^m~YLq;ymR2ILoO0s>Xs*3sste?Q1D<;@_L-VF6GfQ; zBEP36F=zku5Gc0_v}EYkcuA!Lh=TvjKl<`I+r7L0&R#6lE2zh4$~4RA8C@tte9uF# zXC?dE{EB9T%E2W2v1w(T^-3U2MyhA z_yeDf^fhx~^_A=6E}yllL%iH$i^tNp(`MoV=i@YomX=`Xi+3yV@>$b>W36wcU7 zV`2Ul_ljEGs5BZa>srHLB4Fxot67L!W8D81PyLjCNF>iBN0!gOc@=y;{(D)3%p1fR zp#|veE3Hn|Do1a>vlHxNV30H_k49HaA2qTXJoF^U(Q`2?MeD@I7hX7ZQ6(J>DK!j` z(6aeE$(B?ZTEp%&WUw^W@h39EnT=neQ5boeoE5y0Z3x^sKBGMu$rSPziJ4V?Utr^R z1NS=Rk)Bk1{7XUaErEMQ2kk?J$?SlXu{QD}nX{ov(4#Yo{Nw;U^L{^6X+Iu(=_Fgn zZbeK{h9zll=+{tTt2^CPfue}@P_{qWU2>QFp|oDs*+F|Zxy1rR_a2awt?&05neiG| zm3PSWUeKWzvhU{P$UpI2t(ZH`9pWESe1DMUGxCcET0HIM6h*3TB zYAqxxz_=NfRJSNyliyjOQI)Z%?w9Z(2 zbx8cJ%_-Dm%H0`39~cfWDXLmH34Zbku%Bgk<^9&~ntmsNqW*0^hs_a!(Jjmm@*TW- zG#s5>c7zgq3`;mP7C0^tdZFKHr1eUusfVdk5sHxd<~jC(XO0rt<43G!99<&5LFR3> zhM;(rO{f@;;E@O4?5N)xBXd%Xg}G2@29}g~v8Ne(!-o0YxnnP-5(cWY759HIbz0$l zJLY;>3i?x-3g8>$O^(H}AVZ@-hwBf{ujeTjr$an9wN?JIY5!+5xs@PtUlOqzna73d zoby%-&5@U@4$HFR%qQQzF-}QVCH%rwV}FDUk!@bd!XSbhD+7*Q9WH_!t7w=k9WT6$ z?gC%ur3n;wR)?D(Z@-bd@)xjd+G{VlEWM$Pg^#w>2DC}x^OumH3kREf z>j@y~@WIInit#P=-Mor2LWvuzp)Qi1UhoVkpW^N(J_eMf!7{fZ-$Ptass4d00YR0C zHm!Hx5D%+=|t# zGN}bJ3&xR}`7zO!`0D~wcg0|k6&aM~%k={jc;iz4$%_Diia#nC%fAvVWabDtqgll5 zQP;+HAYr@gKoI*nmv{Z>n|NRRamKW{4&T$##4{Y`zu&Hg2}@gVDqP+sm;;Q$VtTT4 zH>6z7A<^+O01Jn;Vn;R#k<`hf?7iC0H@()2QUZwq8&AU6TQ#E}J=n7Eb5Kj@u^Kn- zK3|G7<84;2&h=C3+OW&i-IvX@(dcegFlu09Vym=()M_)K0Q_{u5=8Gx5upjcs{bmo z-{(?D)6T)&AGym05QOcq>u@6s_tQ&N@vM$bfBevs17!KOHvRKyEs3sQKyIiKgMi>m zD2Ro%{pQ)?{*sN9=0VT0x_gs`e;caS zG(ZqWv3YvW7)DCQR|6hMGBD6!-Nw11V76P#{o0=Z;*Nw~g|rca9R)U!86w7voQ;R` zv2z7mD&I6GicH%jlqy zCzGs!AK{0x%HX)s@@N|>ZD(skhMpgrF8V9L%~eErZ(fkAU7(&b=F|&_9cM_mn=yVx z>il+qFw;4t&22q`Bab-5z5QI7`2=KFz%TA99sSi4a+q1VBXE87jhjyTo~d-)-(X`A zVGvC&pXI3%xs%d0+SX1Pg!+mZnU(9_XMnf~0Kyf=O}xyG9-B~KWZ>+w@f`g9S2acW zCw`m%3$X#~ouH*l17cr2OCkk)5#ZKOg*k5RO--wT-xKro{RnX@71jx{`n5D}d}MsX zM9e@S4)7J^e#|L@D`zYq%*@z@go2s zvgPihCt2u`bUk!vPh@5qW*rQ_-((}&ghy$NC z^U%|$vJC^w3=LmN%re5X>E!T6`SKeJa3Z@uFMWjvRK`8?+J1av?||1L_}%m|J?-e_?~1H4wY|N)^m@aCmG@XWdcFb0e695_1(o4RLUGQ-p?8-8mIog zr}X*u!){5Ake0jH{<#>ym055@XHN+4YFy!(=b(W+i6Qfr@a@!M$D( zKDMMBs^?2Vvlw^+CANs)f@)tHndue<0LwWCoK@6hP0YBW3*Y(?3$}5%M8L0E3ZiHl zpd`dW;2NW2MitvhU%3+CwrO}|gt78q6(3l?x;9T5S`w%)lp?_;6wnWt$0oIvyJFI2 z(h(pMVWs7&>FhYWow1JI$^0}_eN5@?UE{$1LgZb2b^}mLz9Rs^Y2%Vr_3H7twoyzxi zJ?6z*5!%vk!jk%5vYyK37^ip?!N$$9?4%8@D?0wHS*Z8F3ys~XRCVTSn0;<0%dX8O z>(~2Ak$Ln|uN`a7+gVdE%1YLHin4UmBhLKzDCtLUx6N?V;r!cLLd-eF@f_!4_jxu3 zpu;Z=9^FTb`A-F`Lp5_v%ixL$Q5yHqCqt-=S-B|?o7PDNTHDtzry=^9%mF_9%TGG& zEv32qIs;b7Gl7iIK%4st6d9XinTRLYu9kYlZgLTmwO739N_+EX&wQEq~VQN;)zHHjV43VK1Hm^G%u!L1JD!RcYBEsRN!lwQ|~>VLHziv4bB_-nvm{=$H!7qY%T)8gjc-H>Zisl@W!7jmdxadrn& z+0+>a6%7DNP@W+naAoz?t+iofPxeUPT#>{~e2bplcgdB|9!j>7TsQV_Ln%vH;L}Wr zo;%Di=#z64Obb|`+0rhl*e%(WV}a30SUsqH1i9VV@HW6j*Gv80?m=yORJ4*@vV7}% z&a%&E$2XpE36Gm>h@l2j{8*C_nhl0(8vKez<}09D4YRdz_-vLiZ|Re2LA|yIewPwH z%G0Oe(n|5B{Mxd&Lt0pLw1ebqje^A!(=s@eo?Wuv>dd&RH?vgu;E;gw@?&Gtb!tPD#ZVuYJ$-D1lX*urXm2n$M!^#x_QUoEE*if;^bYI#-2rnlWx zKD2!Ph&E5{$DifMWu}*#fG}@%Y*qw+ug+#)qbhI9<&_~=*P}`i*Ym>8`!Wj_$WC!n z96XC*s+b`s(#n~M%4?bp9=tbsa{4WD2BTa*|L5qdnWp$Y*C1&U)l#2*W820iI>-SCDx#sxF}t&YuqEjb>l}vr z)*x||UmHRFjyK&;1Oe|Da8u0cils#tb|)Ei9e7=9hYl3)j>rdi$J#}MiKd1vR$T8M z7+OD5X!2-aON-Uqo=l%su0PML4|yMF^KzdK(oiWU*Zl~5b_4dihJ5*P6O)YN{p>*f zD6SUFMI$s6VIrLfLAd_cNMj_-kh~yp0M;vSDUZjp>7+Jh9>UGh8MVvwHbts@%0yI zl`EzGI2h0=6#A`On+3uq*towKs+{yqUN!x(u(QGF#h&KV$PT0 zsYyJXZc4DMclKkIUmw)?Ql3I~E6HB&2Y=}O(BNQKce#TfM4cnBoQNUd46-47w&vp* z@iD+_T&&TzV!fmbX?1&Y%%nVx=Py)vyd#L`S6Oy@=kn~njtoivWX;F658(=yar7_! zwYYzs`I$;vGC>Yzab*B$iEYR_{zx}0^?ug)0iVDk1*2=7g_+oT>}Pt=o1HGqn}G%X zIU9B_I85YD(mq*qbo$I-R}%1dg!|@Q3|{@^SS9NuS+fAZ;XKyX?-Ne7w>8!eyut3O zRm1MLDFyY~XJTYlToAUJW{FYfeVWXD^jN0)^?SHXdtdp4&)Pxq|68P%dXx(V0eQgJ z`by|urNykV~$LgrAz( zBtj%rz86TEw^u=xxsTQ|>-tnx`YBla3M%Dl8tANi{ovABOP{n-;QT#(B*H8MdNd}2 zACET@5T{KT(sz0iqA;lLfN4T~kat&j9zrCO{;yR{&4`hrX}W>atf;t}L;^7N%JYCE zA=zgTp{X(%t6UGW-qXhBBwbptId6IyLr&N0qjxTW@4dvQnER<=-rnBfa{fTe-;1$V$uG`(|V8UNQu*p?X zO$KF%AYDahe36my)b28e%m++VkjK7z<+MS_Q+dt?>2ck*E4+&I$;?^9lO2c_5Sw1* z-T&x!e#HJ9>%=Bz2YbJJlhd7I!eSKc6=S$RgAH2`n9q6FJ!y?`kBO>WyTh= z{q;JevKDCVPLCoe%Vmocd1hvkr@M1vBE{>S*?d2Or*c+N*`m7qrTGmT%vMcLguUpz*V<-ZvRxRy_UFYY35rU8Ej2V8^KOOWP#&w~=-{UmI^vX*~y;YixSn zxh*JIIHh)1h?H3>-$SWB@pV?ny2Uh*o_)u&WkLd>>C^SN5NGcWqv+)Pw<`_OCXQJ( zqe%k*(Ek3IvP$DsqE1)sNQcEU&Nxk<{piq4#hy3%U^yeD*uU3*^G{_8dRNpwkldRm z&3xtW@hPcb=bn6^Lg^h7kPkCF>3Hy2c|yJa`qXQt6`S}l_-aZZi?{;Nbqk-J@9Ien zzqe5NdjcQZ$kAe!B*e)|T4Uh5@e%HAv^hUE5ps_A?7 zb^MYKt-}R89W2q3851LV%YWXs&Q96V%7VQ-Je@gfQgwH+O2;y`H<|x{d}t#eZp<-t zM(mqjW2dfABS1};#Kfck)~1oa8taW6tYdkeCpZ)dJ_wCTl#yeHr;pk-5BvO?T%RAy zBani!e{Q?2_i}Y?W-@*?WRA_4nT`>?)0cT&Yu>JB)<{&$gMJTfqzY4UOTL60EPQ){ zfcxdPwI5PDeT;)UZ2?&cf|a-B<=B|?Aj|_gZ$oC48GnOOiHTH1A_#OMo8$f*QpRO= zB$^=~^m7=^XqkcK%~cO;+W8^x`c%a-lF@3q?Z8g?GtYgpP35Nvoa~BZ)9DYoO-XU8 zhwR>bzhifE#h5dH|14VpVmUs$y9%K_I@ZRrKy8roc}_WR(Ttbsz~FD<;dW0Izbr4N zh_fZ?^RK{gjE<$Uhl@At@>|s;7IE8O0o}pgS2FN1fD|%2)qOv;9~IruBO&c@8uptX zh@iUhh-zIt5T&s-{p-TETw`X=iPo4`UQ2p2>PoVxJV!CvMpVjUVGs6Y3soJbZR%~m zE6R;5jM5KyazcvlxqVDf#JfHvz^UZ9I~_zR#}c(L^RA z3urD=GZZv(xICKZ1_@-+tr%AkFs8fB9Q*uZeSN0upscNrNz0c<9-EyG0Wk4Hu`27h z`1D8xj-QunnK03m@f2QtgL+t|d?VY6qas(?B{)dY+-whWajb$fA+VtC8gIr$!-H9y zgZ$lhtOj^~OYH)&75~%5e`6D;Plbr>mCrAe-vLmsldLPEqMO@59xCBUYPCDgkEFOE z8xFVEO)6aj1x_K)T-X&dEK15+ebEz}WB9J2j?9_7wbk|+PE-qlCprqTT&j!9*W9OC zX7`kOE~LCEzo-tJ_=Tv9`4F;l*{Yd(=X?T}(OH!q5q^!8uYt2h`qZb%WFDVA@rBPq z*VK(j=#5G{+^jCF;?EXS5C*K0o!xg_{42y~LVp#gfYLm+9qU+<6WlgATF#uOURlP? zJmWhU&^P&;<&6IW7~Fk?Tb!NmZrB1O24F+a=S+HBxm(W&kH#t_K;^aHIpuk6(4*h6H zF&$$f;gYSe2fi`iq+H(l5tdsM%l`a;fY2e8yZOLRY?oDg5Jc+q8Ml_qyA=~}WIj%R zLBm)HT7eIX*VQ(9e-_QVTOyrk8^V$7Gv{P;C&AHG6`r6j!;Z0wi48pUuKuH`t@-V< zb?cF4r> zx=$Pj#OQAZnqUpg+0Z)m>3FL9_ic4BmcJhVjzQTC$_1~fnmQToDGcy6wn10oePciva>&9`4qX6c-K1M z;Kq^;cBflaAs5169te zy+C(<%oAQEz8kZt@soe1?bPz9Q*s8$IwQtLFnPPM)C4&7hchK$DEjJHwuFe{BK&$zPiFMfGBZW zU0j=R&<nLqfRtxmQu!HW**`)=CrW}g|a%AaRIW)V+ zZFX2K5fzatlmA{wtp1p-oU!saFLC;*7j9d$l*Z=qJZZ4kyJ`_^t54+h+hTEA%j3;V z65yS|;`fPE(I3oAqxTfZUUyl}ZU(K~Lt9zCT453wdij+(0-YY{O{3VJ{7we#?Reik zY{N3nAdvvmPy#_ByCRn>=hjYG3@4Qv)28rm=?{bLgj52by9hK#-MJR1xb1{QYZ_wDn+X0uL*`C^Lje6A9TyT_z6$!W-lE6`jsBOowUkN5c)U)gN-E{_t* z>OhUQ@7PVWhpYKA2y!R|Iyp*DAFMwJ+;uV)p*A_&-9Af>lNg(>@>Yvs7aGADr5XVG zaXfh$0b7ch)P!TgAbKJ}CwE1tyl}v)Ip3;EkUjc=hMCFW{*xjfx$)0^Rq1)+1O+C)2 z8DwR&Zwu5t|Ime%4zJJ%9`91?wiW(7*PAV`>~F9*0%NREu8nBOzzNJ!V*`ZxK*2TR z@AzXq!cRh7Ig-u{yzbfl+552Rs00P?PXzc@|2gc6MHky&R;zp>s%Q!HFgzS%1A*vwGE_ip#H? zNN2B800NkeKVIhde_)Hk0{NeA#jhxEV4AjL(+~IFrvE!D#vhhaV@(1h864UClK-{+ z>#AYfQg0TaFXC^^y5gM>@2+s^QpgW^*F z{*v*4#k&Y5V7xw`jA5;;bVLL^Ve}D$ZY~dit>M00Xk}^IO8~8)GF#WGMXX(ctN6*j z)|5e7Lt|4#X=e77a6a>W`a33>0I@j=J@5|)1ZCJDI|Z0w)ud@?{B&J5i2M|copgsc&}XzICl?k~ad_WxDv#K%3TF zjWYR-*6)4FKjZjc$ePEPs`X(YC&_P_Ej);=Igm%L@$M&pUM=`dZv=g%{yee8bb!EO z!6`8q4G$kBfCji`LY5l^kInYH{WeqGMZ6D;-Po+nzbLX7UE&R9pJi23(!%Hl6Yw03 zzU+J>>#GZwhszLj4hhFrMaHbVc}fx;{b>Gq`czj5kx#yuXlm;z zu~8SR-$%1`s;-Ed``$k+2&LZS!_St~*F6CW%KJM_npeeBd;8m*(^T1HthusOsf0(b z5r`{He=6GIe-SG0hkXpzax|>7;)3R@%v^XKAQc(9GsGQ*IV4QJmD`$fM&BI-c|I&g z_X&5=9HuMRg4Y>;oB)JJx$2x?kjayw`MXtz%~0}jlK99 z-*UE+$oBENho^OG;+x+y&ZY1I{`n$2+RfXKM~v79jV~v_Mv51-G);8p$xt<4KP7XA z7B6+p{h&0qQ4=^<+3K|@4M(e)sS>40mfbOBs2@hl7aAL*{|A%IlR4<7;ZDPAI0~#< z9KEo3PyVYps%wZR+_+hG76SgWf*br5EAv^lDQ)Jsu(=)+=#0E2ZxVr&e6O%Fz24p1 zHkpkhxeLc3)72_=hThqu{H4=aDm7h;zhkPH>1cRB5&8p4Cg0UpvDQ-8PSQ+R6SF*9`t%hjp)a*=al>^i@_hR@PMoa_5}G$u6LPK zzV#b4k%;dQcjqp_W!z5eB3xwN2(HEk;ym)6!p>uUq?OJ_?{g#2kRM{_Hf@IiExNov zP>RQ9k&gYSGF0GP&?$%AcQUa0gdUk_{R`uzw6WJIyxx7l8t7+8d$9*hGe})(Nb%>F-v)qiEYeHT`QPPxWLu) z_fV;e);Zr>SsWquqh%WHI@XWuex%!PAfmaH+7gGF+WKk;+`13eIUs)Xp^XLkorlHZ zQG|Y?j%bZ0_HE|-#q+H~hT1QiGB;F#=8<0?>z~P{T#gDBYU6r!k)iq#DM#gxr{;SO z^4f9w?yXJWGG%fma4oXfYH^LH4aEZLz?(J?q?!?@(Xu)fn8Vsa{=lTNcc7c!pmQn` z=sCa28s{R6N50U>T4X<~RbzVm0nw}A{8Y3rvogy3J`Rzp1HXVsRVn>S6$Fy3dvu;R z4&nsX0~e^oQOix?7x3zSN(ie?&Nb=y_^hXYPF`;Hf9EGfrY{AN0Pm7LU@;Bi+6bm# zIguJjW#E^fwJa_PvXisiu$g}$}A>4aPom76LH>8F7dh}t|^ z67q4tdFqWytH2BT?C2{b29twt)=gGY$UO@hz2s@jEs-3*IjiWY}ew;@xHj;Cbg3U}ep?;42n{6`sVw*$5Q`(u#dbExIH6zeVJ;uoM< zZIqmNGJMBJp_LMUWwp;3x|?@9vYk?--!Y)K)%7QjXs&Km_6k2rbAeyl>BqeJy3vPm zxGj{~GDA(J+GzY+qrS7^5n<*_%Nng`)|kYcIQhlxow0U|jizjS;#GkC_glr+np_Tg z2UKfdo-jkh13V0!x0;1%=CR5)YdD_`b}mMNVgK>+u=VFyNZBt_)qvdtcG$j^`F-=p zvE+9QbS%L&PLFA8-VdkBmoT^c(Qud~Mod2l17DELGSPeYh(CM!@m?}$O;XI!uf!yqs9=A-G&EDSRv_It4H;ql5eLilB3#==` zwnFgJf$PE(Eex8kRNhCec~l*}wgMFGJQBjv=w0a&#TDHldy5={u?bWZk7C6I!?d|7 z&al!Z3MG5UVAWWpoT^>2pIzD$dxoaIcgQnVR#>Pc$45CWHM@-Q9MJ^r^CdlMc`HE) zZe#R2WzDq(?Ic;w#Pe$wcN76{Yyvs9@8BK)_qa>BP(M@CW^s=q=!OKiZq(L#5_*;9 zOE`y{nwYad`b~1C!V*E_N+Qqx47)_l6R!MHk=AnkeRQo4y^l(uzuuMQ)+139xVCvU zT~6T!eb~vF3^yrcovYAG+9v|&TeWU@09h7jO0}--`07#HoE)@vJO536U{OgnvS)4V zM6hhVnV{+?;LWBSWq3@ec)fDLw;BbJ#%(fbD`RDSMy5TdG8TfS!~|;jNIr03FQ}dn zHbG;*J$(y(k)^fc%eyOsxa*asIH`8mvvZM%6nsCP?xz+6F1zQbb}`Q5e7hn?0jM7; z-XvmCPf9cPs`#7&4{%sjO+E}(YSEw&k_>L=wUUomuy$i* z8Fz|vMkt>j2k>(xm7H?b_Hdre8%dmU?UaRsSIK;_t>I6avO?CVV$Tjv0yXx}$hT%c z@|n5@E-`C5eLz6!Lxa^LTvl6gGftecfo$9Z5tv?l&lJXigdY)m6%)AlY#GH}_OT;4 zw>5eEz{TX|C*n9Iesns-$k635AYIT0=ho=gER?AVUD5J`F}Heje_*Y1Vth1rb}5E% z9Bq7)s+2ute>=gQWeW3`?<}o$D-!!~2{Im^GohHltu^gbYPy3X+?_#sj>ng}{|i#G z>Y@Wat~#-KD1r+s;{1NXsxd-uQ4@Ucs4{mV`OjixtN#KvtMF!$$(o^%=prQ0W>nJB`ry(&gTzm zvbLntQSXDe|E~qw3yzG8+x-49w z10V~3@qn*Uo|@BWZmO`iCfb-km&@___QA}OL^SE-LxFv3l^G}W{p3h=b7N7&Ip6$I zJ{ZUrS-Wc0Wjs-m8Xj@N0y2=chJMlynP+n7JdDza{VbP(`js8BUaK*k+n3f+hLr7- zKN{}MU`9lH?AVk>1-~Or4jkvR(&ftI)86LuH=1Y81lQb-Z^=ln8MOCm)AB>cHmyEa z_vWj=FY`V(6a{G+PD&1Ns5}7RCQB14diwHP5}=V<-{&lvX)H*+T?-1SbLcnDadgyqQ@GV z&X>2*>l0JOR8t*gGAmZio5{lwhN!c$m?FNnhUsOL=8BF)E5fQQ^_eqEp6_+sHj-zD zR|A-NGUFRer|hU^H43af3(8YgxQSZe%gAeqj=nK-(KY^Kg0cIH zbR36ccZ+!AJDf**In$g4Y-f` zmGNbU0ad5^EwUjS=p+ulgnZD z%u9!OL#9uDWOK*aF{nW>n+v5!6|6Psb1A${$K>UABHKS6>m7G&+|aP%DWP_!-_x|= z&CGc_x6vn`)H#mgG?=Mxo3Y39CT`A7b|)@=`$W`njHzVsv|d_r33S4U2xDhg6-#rYT^o`4;3Xf_-J>hzuvqS_f|;Pp-NQ}%DeMy6Ov^#D zmOYnn>JS5##lcn`#Hby<;Rv4g`t8fP>6;j9Hqm;q%{SnkNv`FMTbipWj!bMRHE@X; z-d#Eq`@5&_NUr=@rDZ{BgSEiQvn2MbmJ%FdhKy87msOr;nM?iC`*x zCQ7cpHk~tG4$pu1Eg{)p3IY}xi(7B~?OpHc??rtnwaWK9&T22w(tRnU$1D3|G zT+Fns6o-ZrdRGzPxd&v|Q5nOp{bsvU`zx_tpz85uD~nm(6IU$U0KGNfrb(OgCWPH* zN+~p+_YYykY^><-*1AiG#|0L`zoMHaG1z#wNK&H|`LMi6@UbcxG%^W`o`R zg%Tm9Z?I;xszb*s|2*D#a{0P7`3*!zboNG!mOB0ZMbZDw-8XZQi@7u|I*nN zCjQ}Zs59ng3=wpGu;1+8P}PI%ujZ zCBW@vQx$*hi}rnX#TL;SoAwnttgCRayNyo(!Y}-+@zA!a3sTAmcr;D2Wyna#ot%N{ z9!A_uflAoUBq-l6A~Uc9>b$>z)K&k&tNvk2ViF%4^Oll$w_MK+tt*{Pg!VypIqEB= zLpM$s|5Kxp;zoyrXOnqygZ>ZBpsT^ktY?R44t%m|#ay>Py+t>Zne+Jdc2C7)t2=L1U4)1pw zX*n?uP?mAqGMmjZ!&&Qg?A*nz2DE!oEi##;4o`yBt@_-_B&L9GLb~V8 z`<@BgS^KbW1UkFwg66ch0?^9wE@dyuSYXJ;IXN%;KxSt`GU7+Fe90dt2MWeoDpd@m z_#7o3&-nE)%&&C0lMoZBF!6{pL0!w4iDtv}Rcl%xab_lAsq5(<#1m~(287bN%_Ej^ zg^3w6y9J0{n85_S0aSwc9iaPs{kEd3VMVN)h>-@>*`=HJKAxu}Bz}fU$iF;d8ke+D z^wP#Ric>R=G>+WkaoeMH3Us|m) zl_-rZ8jchZc{6N%+ts(B+*!RP5uHA+dsr9JcrBa7Ng7oZ931zyY-9EMiOuDIR^$?W zZrQr^XYF;vHQ`pPX2h`py@I^-@?pFYp03C+j?{Vu08nR4_Gq& z$O#)Wfa*bu7=>dz-17fnnj)uP^MWu=+h3=yKBnb8GM8v3F?w8~#+F4D@qH5#YR#`v zQ1H%e+=s2q`Ns7w?-E@+HLN%9w3i3_Y1n$eSY1SClWI73)wF7+dz#H-@MTEST0UO} z9kN7Ez>R`Gr)$S?1Tv{bffbOf$sV>N0PpY^?3{RhXU+iql7UY>iPz^WOXs%yTtoaf z{`xzr0%WvYi|{n)yjl=8DRCZ!y4vrnUnSsm%J@q#<(a5#J1fIt^DwKg$Vl zx~Hg;R5&5QqUj0MUf&9A=5hRk=HliGHgeTfscImE_8?qUS#_)PoYz97FFfBTWQp|; zh?+l?4{`&J+VxlyT(pCvM-*tcLHbwjdsZWFdC%e8JsbEYznU4CXccJBgn?a7LMxkQ z4p_1;#B$?jtE|R*FM$r;$<8ZHB(rXLI4s?TLJ8SBCt~ zhH?5FnmSO^%!AirWLQ9ryc>x=R+EXFf2u1)j~z$OlTcsSe$}#yXzPEG!@FEq$r%3f4Dn_f{S<4+wzaFY5Te5<1kl*12R+e8$!MV;9r)T6*vq2 zExz4p2oSWh4G7BXv7Nz6E-6d>d?~4t)#*lU>nV*6@kVgCfd;zzN0&R&0tx{6DPtju zmQQ)C^hZvX8uH3^m#@nBi067WD_^wndtt*Hck#MDO=&$oa&;&QFgnN4&0$VjU~y0N z6)d}S>!_0@4_4a}fn3GRMW3+;dvb2$qcP0Fz#V7Srfp{?NKTktz%5zDWGXHKFLG#r zFc$c8pg6qIOk!O+E=UzlP!>a?H{b?|JH!1Mf`=p7NgDj_TV2im3SVNH6)j@nhJ(2v zWoe)LG#+-@VvH+cD22mu9*<#qjGSS>l@Z&qSNzPs-)^Rd#rR^8$bW&@v$DrR*?*XlNQ zObrGQTAO#?Em!Z^a#ikG9l!aa%$KRdue|ZPxmOopx{ibt&d}l)G@hOPkk5`kt8Gz= z{6V-5EUVMKdmMwwo?8`x?`IBm{Syzg3Pn8Ci{C^zL>Lo}VwRdd@vQ3)yS zAGhwSyC19-04uXHK`2y8{MduTIH0t?Y@@N+kvc@@Po7%V=@TwV^Ld)Y3vznVEWM!r z0Y|Bl92aVU0n@h96~ZbMlUX-q2*X3Pld^LE(|YMi;oaTVSS!E+=ntHYjhBf1OOV$> z<}>5NBzN8^yQe!th)+_-lMb&>YDC6ZPKK^l05J5a3;pFFBT9&ImcAWN_O@=Yrq97B8vk>h9THW^mK$qZB%Zw9^FC6o}`GDqR_SXN^f zC~W<&k1NBs$l-edzvYA$hZ!;=|j4wAMh|WH5GmH_>MiM^fh8tvS z0vH>%!V*%4>fF^BL#A@l0$u#AN#VEknmyu_QFYe;TjN9Z5{u`f1xBe9-zT6{i=umda>(xQxJGWv^hBK#F z^Yl_XyoISVtTNV9^pyrD>-NRoz79q>s37Ivk;)nP7;N}r|GJ)=KiOt%|BhVX12<)_ z)%;_6v|X`MW{L~4mXE{hlZHy&pO;;J%nWY`%%J28(Q}0mc&6W5$=INE?S|((aWgt| z9{O!10rS-FA_<~Kx{n4hb<3}nw_pAm?JUzcUuMihl-q}Lzv9thkKW66y+H_c?#pRW z0NC!Oly(;ngpl`#Tdxe3k&xqNzXEDS7~nUy#NXwz=8pAUNqDYR?1Ke((r(lwa{SFvB3rTuZcugtrU^d>!0=_UI~gq>GO|ugI8?*Zq=g zB6Y|YA}Ks+bo~A1>s76_40Q_&F|G!u-_Og}{0F$Np3)XNt<`o4w}P8x*lGR$Q&)UxD78CUc{hPt zhN{FFFlhHrUwFOA?uA(pcN8Zm^ouUF#=Dd$t_?7Nv*YkWn_VjgRd530c0ata0r$AC)vk&`U2MT44|e z=5jaaYc4DE*CgjQP=hOiW^5*%4W7l0tD9z0-}dvPB%4=9^Y4*KWa|~d=_}ZuZ6Ol= zd%0r0yyIG~&uBDR+&#D~pxJvhb{pm8itMR!CUdpDn7;HI)*B8zzxa?KiE%UoF}!d6 zq`L3@ai4=H8vdEivQFjhU_fFd8}8D!^Ugk0O4ELq1gUKSlZ379{;v17uK7C3!>q>b zuq^RVQVTQJ;9A81dlm7t@^)=vuKM%yVZ({)FurG_-tgLcY?s6tpMmr9prLk;rCcPD z5>RgT(Q}Xj)Dvt|!7s9Qk_m{rwC6f(4>lD(<6Kk|-R|7)I(3o$^!-?4!(>H^$>Q4H zXn7&f@9kmd-KsA?CyIWlu|-Li9_dk~Ck-;;4jy$<1NzRjo`raCoQCb3vjTpsLvOJ{XJ^LJpquYPDNTYGUV*>P{ZW$0)T}X9RXI>|Yov~j7B1te zq-z;4hmo0@n*R3dvmFJ}JN?LSWu3UUciL>61?Z+l(Pk;fqYH;*r<>^hDB~BTi&}Y& zhE?{*8zyxi*O&^M1%cClf8ovl+9%QT+V^2E|JRDUd8d2zf@RwABYH$_iYD0S>Qf_f z?g=&TlM|NNL-J0XA`WY;GEwfKIoS1(5jY3e>seKVNtn!E2<40x)_9?Q1aGlpw9kct zIZ_)O6lf0i)9-4%4T9vFh+~a%YJ8Ftou<14xa0ev7u}MVI0X78_@o%1rxeC8E;|pN z7e>~e+weC8N+SMbiYghWwUYYE>L3tS8!K?jt#175!yPJ}u)tKmX4mN500xiFZ#io? zIj%QL5!sv?To(F|XWRkqX-g)xuX+YC*qCSxEVC-2ON(RWqXkAsuyy~l{if^m!h7Ha zFsM6QmR$>FNf;fxcW^!|cy}D9`iCmdyhjnjE zq%V5065^$2Jmfnl^UkGh^TCY&N@;1rC6}?5k)#pTnl(6xr({7E}k~gg4R=$xl|&+4aI zf^`tPp8-|D2xD|?fCK7WxO<@P+31U^+W2*iyzr#co=I3#l zxxi)BaIDu6JP3S5b~sY5LGWvw`wdPL^Mf)ybrUSXF=Gwxf;W~4(hBM4l>|EA9-pJ< z_7U26*<(LHscb!0FI@=(KxJ5u9Ms|!vS!dw(k za*SucYEB$!`6Ely^O&o0MmM34{*FECJq1p3H7r-o`}ZNrigOSW;g@?toDPE}!3_W2 z!d-Vs!8#IlxgclH7AvzGRcUiUZE3)yb<+IK0M=bNkSjwQGvk+m45LDP;F4 zPG-kU(yspYvb>}B-f;-253^#9=)CI?@90(b0J}Tq?s5GnN}9D@E8DCKP&Zyj33s*L z#~wvqC)bf;L`0Q2A2H}?+i$$~bu9=e;cf6hx+mmz#a8;R*}9YpdhU%eTjH~{F@HM_ zu!TqW5>;yZruxp=Af!irD###V>*|+(g z6Q`NPap?^k97v15X=(OUE67cbD3!=np)qw{S<~4ZFv)fPn{fL*3(9c!nP&BQLCLA} zOEG+E;1G>`=Ki0l;4C}V zeZ)@Q!2e=Bdnyr&(xoh<$+qbu4VsIu>ccJV376AZp?QUOa(3p{zs!yQaW^t@6vwgE zJP_3=KTX~A89VAKdA{^%O9;iy+-#2Fdj1Dwh<{)339S1uk2h_jAq0pj_OUDIkZLTX|vkGD-n2}|?vrpFU_35iSw zN{sdVqIsGCL(x@j<(E?u+#xt(>KU^LSS)P9j0v|-U14<`45}U@BvllY@P0jaerdZN zcKOUYNb`XCgMM99E1+sTrC*<`K z3&Bo$z@hPUiqN6nQ4uDpyUd_VPw)AC0P6V>%mtPaX~I)+xWxca{5PWBRNAtGD=(gH zlu9JGpSCY#+4Ip?u!6_=TOJIo(|X>0B7Ry#+e~ZK)3+d)^ERm$z3^M;kSp~L{qC}q zz6CX+$Dyum$IDnLz{Vd|)*<#f>I@GhJFXN@?*5LN@Nj?V0j{}sGB5E)6T~%}9Q}%i zTR&yjGWfxzZ~UgQZ)+QDjCit~RsL#ysc0lfZhQegehn2YCF7G}wem9y@b^CHG$iA` z`uK~MG+ff*e8Hv18ltn=sZ%jS&SDw57v9=z!Bq$&Vmg(lZy2;UDK-eL3(h=;>RG-R zIV`M*qZUfkQ7yq8&#ky3BQCPIueV-2eSPp>AZ$QMsntKodu)r0%xK4ra?kghyV1W;s!J?JEEfE5VSE^{Y*PTSNhdtu=9rn(ZJHbh&dCG9{>Z z&bVFFs>iSal)k;yO0@{Cl+fMFTYWujT_pOqz(